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