Author: ivaynberg
Date: Fri Mar 26 14:51:52 2010
New Revision: 927887

URL: http://svn.apache.org/viewvc?rev=927887&view=rev
Log:
fixed bug in new component initialization

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=927887&r1=927886&r2=927887&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Fri Mar 
26 14:51:52 2010
@@ -888,20 +888,12 @@ public abstract class Component implemen
        {
                if (!getFlag(FLAG_INITIALIZED))
                {
-                       performInitialization();
+                       onInitialize();
                        setFlag(FLAG_INITIALIZED, true);
                }
        }
 
        /**
-        * Takes care of calling {...@link #onInitialize()}
-        */
-       void performInitialization()
-       {
-               onInitialize();
-       }
-
-       /**
         * Adds a behavior modifier to the component.
         * 
         * <p>

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java?rev=927887&r1=927886&r2=927887&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java 
Fri Mar 26 14:51:52 2010
@@ -950,17 +950,13 @@ public abstract class MarkupContainer ex
                                "added")));
                }
 
-               if (this instanceof Page)
-               { // a little icky...
-                       child.initialize();
-               }
-               else if (isInitialized())
+               final Page page = findPage();
+
+               if (page != null)
                {
                        child.initialize();
                }
 
-               final Page page = findPage();
-
                if (page != null)
                {
                        // Tell the page a component has been added
@@ -976,9 +972,9 @@ public abstract class MarkupContainer ex
        }
 
        @Override
-       final void performInitialization()
+       final void initialize()
        {
-               super.performInitialization();
+               super.initialize();
                visitChildren(new IVisitor<Component, Void>()
                {
                        public void component(final Component component, final 
IVisit<Void> visit)

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java?rev=927887&r1=927886&r2=927887&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java
 Fri Mar 26 14:51:52 2010
@@ -28,6 +28,7 @@ public class ComponentInitializationTest
                TestComponent t1 = new TestComponent("t1");
                TestComponent t2 = new TestComponent("t2");
                TestComponent t3 = new TestComponent("t3");
+               TestComponent t4 = new TestComponent("t4");
 
                // as soon as we add to page child should be initialized
                page.add(t1);
@@ -43,8 +44,20 @@ public class ComponentInitializationTest
                assertEquals(1, t1.getCount());
                assertEquals(1, t2.getCount());
                assertEquals(1, t3.getCount());
+
+               // test intialization when adding to removed components
+               page.remove(t1);
+               t3.add(t4);
+               assertEquals(0, t4.getCount());
+
+               // test initialization when readding a component with 
uninitialized children
+               page.add(t1);
+               assertEquals(1, t4.getCount());
+
+
        }
 
+
        public void testAtomicity()
        {
                Page page = new TestPage();
@@ -72,9 +85,9 @@ public class ComponentInitializationTest
                page.add(t1);
                assertEquals(1, t1.getCount());
                assertEquals(1, t2.getCount());
-
        }
 
+
        private static class TestPage extends WebPage
        {
 


Reply via email to