Repository: wicket Updated Branches: refs/heads/WICKET-6616-render-new-pages [created] 557115433
Revert "WICKET-6608 Stateless page, mix of queue and add can cause unforseen" This reverts commit 61c8709389cea30975814530f53dd0ae1f1ea592. Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/7b2bb116 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/7b2bb116 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/7b2bb116 Branch: refs/heads/WICKET-6616-render-new-pages Commit: 7b2bb1162dd80e6faab9fb9f0fc30c0d153a4bd2 Parents: 64ef164 Author: Sven Meier <svenme...@apache.org> Authored: Fri Nov 30 16:10:18 2018 +0100 Committer: Sven Meier <svenme...@apache.org> Committed: Fri Nov 30 16:10:18 2018 +0100 ---------------------------------------------------------------------- .../handler/PageAndComponentProvider.java | 50 +++++++------------- 1 file changed, 18 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/7b2bb116/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageAndComponentProvider.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageAndComponentProvider.java b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageAndComponentProvider.java index 785c4a7..0638c9b 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageAndComponentProvider.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageAndComponentProvider.java @@ -158,10 +158,27 @@ public class PageAndComponentProvider extends PageProvider implements IPageAndCo component = page != null ? page.get(componentPath) : null; if (component == null) { + + /* + * on stateless pages it is possible that the component may not yet exist because it + * couldve been created in one of the lifecycle callbacks of this page. Lets invoke + * the callbacks to give the page a chance to create the missing component. + */ + // make sure this page instance was just created so the page can be stateless if (page.isPageStateless()) { - component = resolveStatelessPageComponent((Page)page); + Page p = (Page)page; + p.internalInitialize(); + + // preparation of feedbacks is delayed into the render phase + try (FeedbackDelay delay = new FeedbackDelay(p.getRequestCycle())) { + p.beforeRender(); + p.markRendering(false); + + // note: no invocation of delay.onBeforeRender() + } + component = page.get(componentPath); } } } @@ -174,37 +191,6 @@ public class PageAndComponentProvider extends PageProvider implements IPageAndCo } /** - * On stateless pages it is possible that the component may not yet exist because it - * could have been created in one of the lifecycle callbacks of this page. Lets invoke - * the callbacks to give the page a chance to create the missing component. - **/ - private IRequestableComponent resolveStatelessPageComponent(Page page) - { - //1-first let's try initializing the page - page.internalInitialize(); - - IRequestableComponent component = page.get(componentPath); - - if (component != null) - { - return component; - } - - //2-if component has not been found let's try rendering the page - - // preparation of feedbacks is delayed into the render phase - try (FeedbackDelay delay = new FeedbackDelay(page.getRequestCycle())) - { - page.beforeRender(); - page.markRendering(false); - - // note: no invocation of delay.onBeforeRender() - } - - return page.get(componentPath); - } - - /** * @see org.apache.wicket.core.request.handler.IPageAndComponentProvider#getComponentPath() */ @Override