Author: jdonnerstag Date: Sat Nov 27 11:55:51 2010 New Revision: 1039658 URL: http://svn.apache.org/viewvc?rev=1039658&view=rev Log: fixed WICKET-2874: Copy attributes from wicket:panel to source tag Issue: WICKET-2874
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPageExpectedResult_4.html wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.html wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.java wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.html wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.java Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java?rev=1039658&r1=1039657&r2=1039658&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java Sat Nov 27 11:55:51 2010 @@ -54,6 +54,27 @@ public class WebMarkupContainerWithAssoc } /** + * @see org.apache.wicket.Component#onComponentTag(org.apache.wicket.markup.ComponentTag) + */ + @Override + protected void onComponentTag(ComponentTag tag) + { + // Copy attributes from <wicket:panel> to the "calling" tag + IMarkupFragment markup = getMarkup(null); + ComponentTag panelTag = (ComponentTag)markup.get(0); + for (String key : panelTag.getAttributes().keySet()) + { + // exclude "wicket:XX" attributes + if (key.startsWith(markup.getMarkupResourceStream().getWicketNamespace() + ":") == false) + { + tag.append(key, panelTag.getAttribute(key), ", "); + } + } + + super.onComponentTag(tag); + } + + /** * @see org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer) */ @Override Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java?rev=1039658&r1=1039657&r2=1039658&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java Sat Nov 27 11:55:51 2010 @@ -106,13 +106,6 @@ public abstract class Panel extends WebM // <span wicket:id="myPanel">...</span> tag.setType(XmlTag.OPEN); } - -// IMarkupFragment markup = getMarkup(null); -// ComponentTag panelTag = (ComponentTag)markup.get(0); -// for (String key : panelTag.getAttributes().keySet()) -// { -// tag.append(key, panelTag.getAttribute(key), ", "); -// } super.onComponentTag(tag); } Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPageExpectedResult_4.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPageExpectedResult_4.html?rev=1039658&view=auto ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPageExpectedResult_4.html (added) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPageExpectedResult_4.html Sat Nov 27 11:55:51 2010 @@ -0,0 +1,21 @@ +<!-- + ==================================================================== + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<html xmlns:wicket> +<body> + <span wicket:id="myPanel3" param1="xxx"><wicket:panel param1="xxx"> + test +</wicket:panel></span> +</body> +</html> Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.html?rev=1039658&view=auto ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.html (added) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.html Sat Nov 27 11:55:51 2010 @@ -0,0 +1,19 @@ +<!-- + ==================================================================== + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<html xmlns:wicket> +<body> + <span wicket:id="myPanel3">panel</span> +</body> +</html> Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.java?rev=1039658&view=auto ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.java (added) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelPage_4.java Sat Nov 27 11:55:51 2010 @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.markup.html.panel; + +import org.apache.wicket.markup.html.WebPage; + + +/** + * Mock page for testing. + * + * @author Chris Turner + */ +public class PanelPage_4 extends WebPage +{ + private static final long serialVersionUID = 1L; + + /** + * Construct. + * + */ + public PanelPage_4() + { + Panel panel = new SimplePanel_4("myPanel3"); + add(panel); + } +} Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java?rev=1039658&r1=1039657&r2=1039658&view=diff ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java (original) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java Sat Nov 27 11:55:51 2010 @@ -94,6 +94,14 @@ public class PanelTest extends WicketTes /** * @throws Exception */ + public void testPanel4() throws Exception + { + executeTest(PanelPage_4.class, "PanelPageExpectedResult_4.html"); + } + + /** + * @throws Exception + */ public void testInlinePanel() throws Exception { executeTest(InlinePanelPage_1.class, "InlinePanelPageExpectedResult_1.html"); Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.html URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.html?rev=1039658&view=auto ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.html (added) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.html Sat Nov 27 11:55:51 2010 @@ -0,0 +1,3 @@ +<wicket:panel param1="xxx"> + test +</wicket:panel> \ No newline at end of file Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.java?rev=1039658&view=auto ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.java (added) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/panel/SimplePanel_4.java Sat Nov 27 11:55:51 2010 @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.wicket.markup.html.panel; + + +/** + * Mock page for testing. + * + * @author Chris Turner + */ +public class SimplePanel_4 extends Panel +{ + private static final long serialVersionUID = 1L; + + /** + * Construct. + * + * @param id + */ + public SimplePanel_4(final String id) + { + super(id); + } +}