Author: ivaynberg
Date: Tue Jul 13 01:21:33 2010
New Revision: 963541

URL: http://svn.apache.org/viewvc?rev=963541&view=rev
Log:
WICKET-2943 introduce Component#onInitialize()

Modified:
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Page.java
    
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java?rev=963541&r1=963540&r2=963541&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java
 Tue Jul 13 01:21:33 2010
@@ -2218,13 +2218,17 @@ public abstract class Component implemen
         * be called on the page. On AJAX request, this method must be called 
on updated component.
         * </p>
         * 
+        * TODO this method is not part of public api, so rename to 
internalPrepareForRender
+        * 
         * @param setRenderingFlag
         *            Whether to set the rendering flag. This must be true if 
the page is about to be
         *            rendered. However, there are usecases to call this method 
without an immediate
         *            render (e.g. on stateless listner request target to build 
the component
         *            hierarchy), in that case setRenderingFlag should be false
+        * 
+        * 
         */
-       public final void prepareForRender(boolean setRenderingFlag)
+       public void prepareForRender(boolean setRenderingFlag)
        {
                beforeRender();
 

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/MarkupContainer.java?rev=963541&r1=963540&r2=963541&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
 Tue Jul 13 01:21:33 2010
@@ -1971,4 +1971,5 @@ public abstract class MarkupContainer ex
                }
 
        }
+
 }

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Page.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Page.java?rev=963541&r1=963540&r2=963541&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Page.java 
(original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Page.java 
Tue Jul 13 01:21:33 2010
@@ -1510,18 +1510,24 @@ public abstract class Page extends Marku
                return null;
        }
 
-       /**
-        * 
-        * @see org.apache.wicket.Component#onBeforeRender()
-        */
        @Override
-       protected void onBeforeRender()
+       public void prepareForRender(boolean setRenderingFlag)
        {
                if (!getFlag(FLAG_INITIALIZED))
                {
                        // initialize the page if not yet initialized
                        initialize();
                }
+               super.prepareForRender(setRenderingFlag);
+       }
+
+       /**
+        * 
+        * @see org.apache.wicket.Component#onBeforeRender()
+        */
+       @Override
+       protected void onBeforeRender()
+       {
                super.onBeforeRender();
                // If any of the components on page is not stateless, we need 
to bind the session
                // before we start rendering components, as then jsessionid 
won't be appended

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java?rev=963541&r1=963540&r2=963541&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/ComponentInitializationTest.java
 Tue Jul 13 01:21:33 2010
@@ -16,8 +16,12 @@
  */
 package org.apache.wicket;
 
+import org.apache.wicket.markup.IMarkupResourceStreamProvider;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
+import org.apache.wicket.util.tester.WicketTester;
 
 /**
  * Tests {...@link Component#onInitialize()} contract
@@ -96,11 +100,23 @@ public class ComponentInitializationTest
                assertEquals(1, page.getCount());
        }
 
+       public void testPageInitialization()
+       {
+               WicketTester tester = new WicketTester();
+               tester.startPage(TestPage.class);
+               TestPage page = (TestPage)tester.getLastRenderedPage();
 
-       private static class TestPage extends WebPage
+               assertEquals(1, page.getCount());
+       }
+
+       public static class TestPage extends WebPage implements 
IMarkupResourceStreamProvider
        {
                private int count = 0;
 
+               public TestPage()
+               {
+               }
+
                @Override
                protected void onInitialize()
                {
@@ -111,6 +127,12 @@ public class ComponentInitializationTest
                {
                        return count;
                }
+
+               public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
+                       Class<?> containerClass)
+               {
+                       return new StringResourceStream("<html></html>");
+               }
        }
 
        private static class TestComponent extends WebMarkupContainer


Reply via email to