Repository: wicket Updated Branches: refs/heads/WICKET-4201-improved-page-provider b64f2b4b2 -> aa98a67ee
WICKET-4201 removing unnecessary parameters plus javadoc for PageProvider#Provision class Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/aa98a67e Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/aa98a67e Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/aa98a67e Branch: refs/heads/WICKET-4201-improved-page-provider Commit: aa98a67ee8379f5a45b4af44e793f196a1a007ff Parents: b64f2b4 Author: Pedro Henrique Oliveira dos Santos <[email protected]> Authored: Sun Feb 5 19:13:03 2017 -0200 Committer: Pedro Henrique Oliveira dos Santos <[email protected]> Committed: Sun Feb 5 19:13:03 2017 -0200 ---------------------------------------------------------------------- .../core/request/handler/PageProvider.java | 27 ++++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/aa98a67e/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java index f558a5e..6cf6f95 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java @@ -150,7 +150,7 @@ public class PageProvider implements IPageProvider, IClusterable { Args.notNull(page, "page"); - provision = new Provision().resolve(page); + provision = new Provision().resolveTo(page); pageId = page.getPageId(); renderCount = page.getRenderCount(); } @@ -159,7 +159,7 @@ public class PageProvider implements IPageProvider, IClusterable { if (!provision.wasResolved()) - provision.resolve(pageId, pageClass, pageParameters, renderCount); + provision.resolve(); return provision; } @@ -353,6 +353,24 @@ public class PageProvider implements IPageProvider, IClusterable + ", pageClass=" + pageClass + ", pageParameters=" + pageParameters + '}'; } + /** + * A provision is the work necessary to provide a page. It includes to resolve parameters to a + * page, to track the resolution metadata and to keep a reference of the resolved page. + * + * The logic based on {@link PageProvider}'s parameters: + * + * - having an stored page id, the stored page is provided + * + * - having only a page class, a new instance of it is provided + * + * - having non stored page id plus page class, a new instance of the page class is provided + * + * - having non stored page id and no page class, no page is provided + * + * - being a page instance, the instance itself will be the provided page + * + * @author pedro + */ private class Provision { transient IRequestablePage page; @@ -388,7 +406,7 @@ public class PageProvider implements IPageProvider, IClusterable return failedToFindStoredPage; } - Provision resolve(IRequestablePage page) + Provision resolveTo(IRequestablePage page) { this.page = page; @@ -397,8 +415,7 @@ public class PageProvider implements IPageProvider, IClusterable return this; } - Provision resolve(Integer pageId, Class<? extends IRequestablePage> pageClass, - PageParameters pageParameters, Integer renderCount) + Provision resolve() { if (pageId != null)
