Author: jrthomerson
Date: Mon May 24 06:45:04 2010
New Revision: 947547
URL: http://svn.apache.org/viewvc?rev=947547&view=rev
Log:
Fixes WICKET-2882
Added:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_11.html
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.html
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.java
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.html
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java?rev=947547&r1=947546&r2=947547&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
Mon May 24 06:45:04 2010
@@ -240,10 +240,6 @@ public class Enclosure extends WebMarkup
Component child = container.get(tag.getId());
if (child == null)
{
- // component does not yet exist in the
container, attempt to resolve it using
- // resolvers
- final int tagIndex =
it.getCurrentIndex();
-
// because the resolvers can auto-add
and therefore immediately render the
// component we have to buffer the
output since we do not yet know the
// visibility of the enclosure
@@ -252,7 +248,9 @@ public class Enclosure extends WebMarkup
@Override
protected void
executeInsideBufferedZone()
{
-
markupStream.setCurrentIndex(tagIndex);
+ final int ind =
markupStream.findComponentIndex(tag.getPath(),
+ tag.getId());
+
markupStream.setCurrentIndex(ind);
ComponentResolvers.resolve(getApplication(), container, markupStream,
tag);
}
Added:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_11.html
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_11.html?rev=947547&view=auto
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_11.html
(added)
+++
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_11.html
Mon May 24 06:45:04 2010
@@ -0,0 +1,12 @@
+<html xmlns:wicket>
+<body>
+ <wicket:enclosure child="autoCreatedPanel">
+ <div>
+ <span wicket:id="autoCreatedPanel"><span
wicket:id="autoCreatedPanel"><wicket:panel>
+ This is a simple test panel.
+ With this component: <span wicket:id="label">hello world</span>
+</wicket:panel></span></span>
+ </div>
+ </wicket:enclosure>
+</body>
+</html>
Added:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.html
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.html?rev=947547&view=auto
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.html
(added)
+++
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.html
Mon May 24 06:45:04 2010
@@ -0,0 +1,9 @@
+<html xmlns:wicket>
+<body>
+ <wicket:enclosure>
+ <div>
+ <span wicket:id="autoCreatedPanel"></span>
+ </div>
+ </wicket:enclosure>
+</body>
+</html>
Added:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.java?rev=947547&view=auto
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.java
(added)
+++
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_11.java
Mon May 24 06:45:04 2010
@@ -0,0 +1,60 @@
+/*
+ * 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.internal;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.resolver.IComponentResolver;
+
+
+/**
+ * Mock page for testing (see WICKET-2882).
+ *
+ * @author Jeremy Thomerson
+ */
+public class EnclosurePage_11 extends WebPage implements IComponentResolver
+{
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Construct.
+ */
+ public EnclosurePage_11()
+ {
+ }
+
+ public boolean resolve(MarkupContainer container, MarkupStream
markupStream, ComponentTag tag)
+ {
+ if (tag instanceof WicketTag)
+ {
+ // this resolver does not handle wicket tags
+ return false;
+ }
+
+ if ("autoCreatedPanel".equals(tag.getId()))
+ {
+ final Component component = new
SimplePanel(tag.getId());
+ container.autoAdd(component);
+ return true;
+ }
+ return false;
+ }
+}
Modified:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java?rev=947547&r1=947546&r2=947547&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
Mon May 24 06:45:04 2010
@@ -322,4 +322,14 @@ public class EnclosureTest extends Wicke
tester.assertRenderedPage(clazz);
tester.assertResultPage(getClass(),
"EnclosurePageExpectedResult_10.html");
}
+
+ /**
+ * @throws Exception
+ */
+ public void testRenderPage11() throws Exception
+ {
+ executeTest(EnclosurePage_11.class,
"EnclosurePageExpectedResult_11.html");
+ }
+
+
}
Added:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.html
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.html?rev=947547&view=auto
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.html
(added)
+++
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.html
Mon May 24 06:45:04 2010
@@ -0,0 +1,4 @@
+<wicket:panel>
+ This is a simple test panel.
+ With this component: <span wicket:id="label">[some label]</span>
+</wicket:panel>
\ No newline at end of file
Added:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.java?rev=947547&view=auto
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.java
(added)
+++
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/SimplePanel.java
Mon May 24 06:45:04 2010
@@ -0,0 +1,44 @@
+/*
+ * 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.internal;
+
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+/**
+ * Just a simple panel for testing purposes.
+ *
+ * @author Jeremy Thomerson
+ */
+public class SimplePanel extends Panel
+{
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * simple constructor.
+ *
+ * @param id
+ */
+ public SimplePanel(String id)
+ {
+ super(id);
+ add(new Label("label", new Model<String>("hello world")));
+ }
+
+}