Author: ivaynberg
Date: Mon Oct 12 15:39:29 2009
New Revision: 824391
URL: http://svn.apache.org/viewvc?rev=824391&view=rev
Log:
more ng migration: merged ng's pagestore into core's ipagestore
Removed:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/DefaultPageFactory.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/PageFactory.java
Modified:
wicket/trunk/wicket-auth-roles/src/main/java/org/apache/wicket/authentication/panel/SignInPanel.java
wicket/trunk/wicket-quickstart/src/main/java/org/apache/wicket/quickstart/Index.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageFactory.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java
Modified:
wicket/trunk/wicket-auth-roles/src/main/java/org/apache/wicket/authentication/panel/SignInPanel.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-auth-roles/src/main/java/org/apache/wicket/authentication/panel/SignInPanel.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
---
wicket/trunk/wicket-auth-roles/src/main/java/org/apache/wicket/authentication/panel/SignInPanel.java
(original)
+++
wicket/trunk/wicket-auth-roles/src/main/java/org/apache/wicket/authentication/panel/SignInPanel.java
Mon Oct 12 15:39:29 2009
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.authentication.panel;
+import org.apache.wicket.Page;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.authentication.IAuthenticationStrategy;
import org.apache.wicket.authentication.strategy.DefaultAuthenticationStrategy;
@@ -121,9 +122,11 @@
if (!continueToOriginalDestination())
{
// Ups, no original
destination. Go to the home page
- throw new
RestartResponseException(getApplication().getSessionSettings()
- .getPageFactory()
-
.newPage(getApplication().getHomePage()));
+
+ // FIXME NG MIGRATION,
REQUESTABLEPAGE->PAGE
+ throw new
RestartResponseException(
+
(Page)getApplication().getSessionSettings().getPageFactory().newPage(
+
getApplication().getHomePage()));
}
}
}
@@ -234,7 +237,8 @@
// original destination, otherwise to the Home page
if (!continueToOriginalDestination())
{
-
setResponsePage(getApplication().getSessionSettings().getPageFactory().newPage(
+ // FIXME NG MIGRATION, REQUESTABLEPAGE->PAGE
+
setResponsePage((Page)getApplication().getSessionSettings().getPageFactory().newPage(
getApplication().getHomePage()));
}
}
Modified:
wicket/trunk/wicket-quickstart/src/main/java/org/apache/wicket/quickstart/Index.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-quickstart/src/main/java/org/apache/wicket/quickstart/Index.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
---
wicket/trunk/wicket-quickstart/src/main/java/org/apache/wicket/quickstart/Index.java
(original)
+++
wicket/trunk/wicket-quickstart/src/main/java/org/apache/wicket/quickstart/Index.java
Mon Oct 12 15:39:29 2009
@@ -16,7 +16,7 @@
*/
package org.apache.wicket.quickstart;
-import org.apache.wicket.PageParameters;
+import org.apache.wicket.ng.request.component.PageParameters;
/**
* Basic bookmarkable index page.
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageFactory.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageFactory.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageFactory.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageFactory.java Mon
Oct 12 15:39:29 2009
@@ -17,6 +17,7 @@
package org.apache.wicket;
import org.apache.wicket.ng.request.component.PageParameters;
+import org.apache.wicket.ng.request.component.RequestablePage;
/**
@@ -46,7 +47,7 @@
* @throws WicketRuntimeException
* Thrown if the page cannot be constructed
*/
- <C extends Page> Page newPage(final Class<C> pageClass);
+ <C extends RequestablePage> RequestablePage newPage(final Class<C>
pageClass);
/**
* Creates a new Page, passing PageParameters to the Page constructor
if such a constructor
@@ -63,5 +64,6 @@
* @throws WicketRuntimeException
* Thrown if the page cannot be constructed
*/
- <C extends Page> Page newPage(final Class<C> pageClass, final
PageParameters parameters);
+ <C extends RequestablePage> RequestablePage newPage(final Class<C>
pageClass,
+ final PageParameters parameters);
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
Mon Oct 12 15:39:29 2009
@@ -94,11 +94,13 @@
if (params == null)
{
// Create page using page factory
- return
Session.get().getPageFactory().newPage(c);
+ // FIXME NG MIGRATION,
REQUESTABLEPAGE->PAGE
+ return
(Page)Session.get().getPageFactory().newPage(c);
}
else
{
- return
Session.get().getPageFactory().newPage(c, params);
+ // FIXME NG MIGRATION,
REQUESTABLEPAGE->PAGE
+ return
(Page)Session.get().getPageFactory().newPage(c, params);
}
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java Mon
Oct 12 15:39:29 2009
@@ -20,6 +20,7 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import org.apache.wicket.IPageFactory;
import org.apache.wicket.application.DefaultClassResolver;
import org.apache.wicket.application.IClassResolver;
import org.apache.wicket.ng.page.PageManager;
@@ -31,7 +32,6 @@
import org.apache.wicket.ng.page.persistent.disk.DiskDataStore;
import org.apache.wicket.ng.request.Request;
import org.apache.wicket.ng.request.RequestMapper;
-import org.apache.wicket.ng.request.component.PageFactory;
import org.apache.wicket.ng.request.component.PageParameters;
import org.apache.wicket.ng.request.component.RequestablePage;
import org.apache.wicket.ng.request.cycle.RequestCycle;
@@ -47,6 +47,7 @@
import org.apache.wicket.ng.session.SessionStore.UnboundListener;
import org.apache.wicket.ng.settings.ApplicationSettings;
import org.apache.wicket.ng.settings.RequestCycleSettings;
+import org.apache.wicket.session.DefaultPageFactory;
import org.apache.wicket.util.lang.Checks;
/**
@@ -506,14 +507,14 @@
return resourceReferenceRegistry;
}
- private PageFactory pageFactory;
+ private IPageFactory pageFactory;
/**
* Override to create custom {...@link PageFactory}
*
* @return new {...@link PageFactory} instance.
*/
- protected PageFactory newPageFactory()
+ protected IPageFactory newPageFactory()
{
return new DefaultPageFactory();
}
@@ -523,7 +524,7 @@
*
* @return
*/
- public final PageFactory getPageFactory()
+ public final IPageFactory getPageFactory()
{
return pageFactory;
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java
Mon Oct 12 15:39:29 2009
@@ -28,47 +28,50 @@
public interface RequestablePage extends RequestableComponent, ManageablePage
{
- /**
- * Renders the page
- */
- public void renderPage();
-
- /**
- * Bookmarkable page can be instantiated using a bookmarkable URL.
- *
- * @return Returns true if the page is bookmarkable.
- */
- public boolean isBookmarkable();
-
- /**
- * Returns the number of times this page has been rendered. The number
will be appended to
- * listener interface links in order to prevent invoking listeners from
staled page version.
- * <p>
- * For example a same page might have been rendered in two separate tabs.
Page render doesn't
- * change page id but it can modify component hierarchy. Listener
interface links on such page
- * should only work in tab where the page was rendered most recently.
- *
- * @return render count
- */
- public int getRenderCount();
-
- /**
- * Returns whether the page instance was created by a bookmarkable URL.
Non mounted pages have
- * to be created using bookmarkable URL in order to have hybrid URLs
later. Otherwise it would
- * be a potential security risk.
- *
- * @return <code>true</code> if this page has been created by a
bookmarkable URL,
- * <code>false</code> otherwise.
- */
- public boolean wasCreatedBookmarkable();
-
-
- /**
- * Returns the {...@link PageParameters} for the page. Each bookmarkable
page instance should have
- * {...@link PageParameters} associated with it. The page parameters are
initialized from URL when
- * page is created and are updated on every page render request.
- *
- * @return page parameters or <code>null</code>
- */
- public PageParameters getPageParameters();
+ /**
+ * Renders the page
+ */
+ public void renderPage();
+
+ /**
+ * Bookmarkable page can be instantiated using a bookmarkable URL.
+ *
+ * @return Returns true if the page is bookmarkable.
+ */
+ public boolean isBookmarkable();
+
+ /**
+ * Returns the number of times this page has been rendered. The number
will be appended to
+ * listener interface links in order to prevent invoking listeners from
staled page version.
+ * <p>
+ * For example a same page might have been rendered in two separate
tabs. Page render doesn't
+ * change page id but it can modify component hierarchy. Listener
interface links on such page
+ * should only work in tab where the page was rendered most recently.
+ *
+ * @return render count
+ */
+ public int getRenderCount();
+
+ /**
+ * Returns whether the page instance was created by a bookmarkable URL.
Non mounted pages have
+ * to be created using bookmarkable URL in order to have hybrid URLs
later. Otherwise it would
+ * be a potential security risk.
+ *
+ * @return <code>true</code> if this page has been created by a
bookmarkable URL,
+ * <code>false</code> otherwise.
+ */
+ public boolean wasCreatedBookmarkable();
+
+
+ /**
+ * Returns the {...@link PageParameters} for the page. Each
bookmarkable page instance should have
+ * {...@link PageParameters} associated with it. The page parameters
are initialized from URL when
+ * page is created and are updated on every page render request.
+ *
+ * @return page parameters or <code>null</code>
+ */
+ public PageParameters getPageParameters();
+
+ /** TODO javadoc */
+ public void setWasCreatedBookmarkable(boolean b);
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
Mon Oct 12 15:39:29 2009
@@ -595,13 +595,15 @@
PageParameters parameters =
pageClassRequestTarget.getPageParameters();
if (parameters == null ||
parameters.size() == 0)
{
- newLastRenderedPage =
application.getSessionSettings()
+ // FIXME NG MIGRATION,
REQUESTABLEPAGE->PAGE
+ newLastRenderedPage =
(Page)application.getSessionSettings()
.getPageFactory()
.newPage(pageClass);
}
else
{
- newLastRenderedPage =
application.getSessionSettings()
+ // FIXME NG MIGRATION,
REQUESTABLEPAGE->PAGE
+ newLastRenderedPage =
(Page)application.getSessionSettings()
.getPageFactory()
.newPage(pageClass,
parameters);
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java
Mon Oct 12 15:39:29 2009
@@ -296,14 +296,14 @@
if (pageParameters == null || pageParameters.size() == 0)
{
- return pageFactory.newPage(pageClass);
+ return (Page)pageFactory.newPage(pageClass);
}
else
{
// Add bookmarkable params in for WICKET-400.
final Map<String, String[]> requestMap =
requestCycle.getRequest().getParameterMap();
requestMap.putAll(pageParameters.toRequestParameters());
- return pageFactory.newPage(pageClass, pageParameters);
+ return (Page)pageFactory.newPage(pageClass,
pageParameters);
}
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java
Mon Oct 12 15:39:29 2009
@@ -22,11 +22,11 @@
import org.apache.wicket.AbortException;
import org.apache.wicket.IPageFactory;
-import org.apache.wicket.Page;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.authorization.AuthorizationException;
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.ng.request.component.PageParameters;
+import org.apache.wicket.ng.request.component.RequestablePage;
import org.apache.wicket.util.lang.Generics;
@@ -38,19 +38,21 @@
*
* @author Juergen Donnerstag
* @author Jonathan Locke
+ * @author Matej Knopp
+ * @author Igor Vaynberg
*/
public final class DefaultPageFactory implements IPageFactory
{
/** Map of Constructors for Page subclasses */
- private final Map<Class<? extends Page>, Constructor<? extends Page>>
constructorForClass = Generics.newConcurrentHashMap();
+ private final Map<Class<? extends RequestablePage>, Constructor<?
extends RequestablePage>> constructorForClass = Generics.newConcurrentHashMap();
/**
* @see IPageFactory#newPage(Class)
*/
- public final <C extends Page> Page newPage(final Class<C> pageClass)
+ public final <C extends RequestablePage> RequestablePage newPage(final
Class<C> pageClass)
{
// Try default constructor if one exists
- Constructor<? extends Page> constructor =
constructor(pageClass);
+ Constructor<? extends RequestablePage> constructor =
constructor(pageClass);
if (constructor != null)
{
// return new Page()
@@ -72,7 +74,8 @@
/**
* @see IPageFactory#newPage(Class, PageParameters)
*/
- public final <C extends Page> Page newPage(final Class<C> pageClass,
PageParameters parameters)
+ public final <C extends RequestablePage> RequestablePage newPage(final
Class<C> pageClass,
+ PageParameters parameters)
{
// If no parameters are provided, try the default constructor
first, than the PageParameter
// constructor with empty parameter list.
@@ -82,7 +85,8 @@
}
// If parameters not null, than try to get constructor that
takes PageParameters
- Constructor<? extends Page> constructor =
constructor(pageClass, PageParameters.class);
+ Constructor<? extends RequestablePage> constructor =
constructor(pageClass,
+ PageParameters.class);
if (constructor != null)
{
// return new Page(parameters)
@@ -111,7 +115,8 @@
* @return The page constructor, or null if no one-arg constructor can
be found taking the given
* argument type.
*/
- private final <C extends Page> Constructor<? extends Page>
constructor(final Class<C> pageClass)
+ private final <C extends RequestablePage> Constructor<? extends
RequestablePage> constructor(
+ final Class<C> pageClass)
{
try
{
@@ -138,11 +143,11 @@
* @return The page constructor, or null if no one-arg constructor can
be found taking the given
* argument type.
*/
- private final <C extends Page> Constructor<? extends Page> constructor(
+ private final <C extends RequestablePage> Constructor<? extends
RequestablePage> constructor(
final Class<C> pageClass, final Class<PageParameters>
argumentType)
{
// Get constructor for page class from cache
- Constructor<? extends Page> constructor =
constructorForClass.get(pageClass);
+ Constructor<? extends RequestablePage> constructor =
constructorForClass.get(pageClass);
// Need to look up?
if (constructor == null)
@@ -178,19 +183,33 @@
* Thrown if the Page cannot be instantiated using the
given constructor and
* argument.
*/
- private final Page createPage(final Constructor<? extends Page>
constructor,
- final PageParameters argument)
+ private final RequestablePage createPage(
+ final Constructor<? extends RequestablePage> constructor, final
PageParameters argument)
{
+ final RequestablePage instance;
try
{
if (argument != null)
{
- return constructor.newInstance(new Object[] {
argument });
+ instance = constructor.newInstance(new Object[]
{ argument });
}
else
{
- return constructor.newInstance();
+ instance = constructor.newInstance();
}
+
+ // the page might have not propagate page parameters
from constructor. if that's the
+ // case
+ // we force the parameters
+ if (argument != null && instance.getPageParameters() !=
argument)
+ {
+ instance.getPageParameters().assign(argument);
+ }
+
+ instance.setWasCreatedBookmarkable(true);
+
+ return instance;
+
}
catch (InstantiationException e)
{
@@ -219,7 +238,7 @@
* @param argument
* @return description
*/
- private String createDescription(Constructor<? extends Page>
constructor,
+ private String createDescription(Constructor<? extends RequestablePage>
constructor,
PageParameters argument)
{
if (argument != null)
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java?rev=824391&r1=824390&r2=824391&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java
(original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java Mon
Oct 12 15:39:29 2009
@@ -26,11 +26,11 @@
*/
public class MockPage extends MockComponent implements RequestablePage
{
-
+
private static final long serialVersionUID = 1L;
-
+
private int pageId;
-
+
/**
* Construct.
*
@@ -41,9 +41,10 @@
setPath("");
}
-
+
/**
* Construct.
+ *
* @param pageId
* @param pageVersion
* @param pageMapName
@@ -52,9 +53,10 @@
{
setPageId(pageId);
}
-
+
/**
* Sets the page id
+ *
* @param pageId
* @return <code>this</code>
*/
@@ -63,7 +65,7 @@
this.pageId = pageId;
return this;
}
-
+
@Override
public RequestablePage getPage()
{
@@ -73,22 +75,22 @@
public int getPageId()
{
return pageId;
- }
-
- private PageParameters pageParameters = new PageParameters();
+ }
+
+ private final PageParameters pageParameters = new PageParameters();
public PageParameters getPageParameters()
{
return pageParameters;
- }
+ }
private boolean bookmarkable;
-
+
public boolean isBookmarkable()
{
return bookmarkable;
}
-
+
/**
* Sets the bookmarkable flags
*
@@ -102,7 +104,7 @@
}
private boolean stateless = false;
-
+
/**
* Sets the stateless flag
*
@@ -114,7 +116,7 @@
this.stateless = stateless;
return this;
}
-
+
public boolean isPageStateless()
{
return stateless;
@@ -123,14 +125,14 @@
public void renderPage()
{
}
-
+
private boolean createBookmarkable;
public boolean wasCreatedBookmarkable()
{
return createBookmarkable;
}
-
+
/**
* Sets the createdBookmarkable flag.
*
@@ -141,23 +143,32 @@
*/
public MockPage setCreatedBookmarkable(boolean createdBookmarkable)
{
- this.createBookmarkable = createdBookmarkable;
+ createBookmarkable = createdBookmarkable;
return this;
}
private int renderCount;
-
+
public int getRenderCount()
{
return renderCount;
}
-
+
/**
* Sets the render count
+ *
* @param renderCount
*/
public void setRenderCount(int renderCount)
{
this.renderCount = renderCount;
}
+
+ /**
+ * TODO javadoc
+ */
+ public void setWasCreatedBookmarkable(boolean b)
+ {
+ createBookmarkable = b;
+ }
}