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")));
+       }
+
+}


Reply via email to