Repository: wicket Updated Branches: refs/heads/master eb64b2af4 -> 3183aeb24
WICKET-6485 reintroduce PageExpiredException in IPageStore for methods getPageClass, getPageInstance and getPageParameters Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/3183aeb2 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3183aeb2 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3183aeb2 Branch: refs/heads/master Commit: 3183aeb24f09d57e91bfc01813005f01cfd671df Parents: eb64b2a Author: Andrea Del Bene <adelb...@apache.org> Authored: Fri Oct 20 11:53:21 2017 +0200 Committer: Andrea Del Bene <adelb...@apache.org> Committed: Fri Oct 20 11:53:21 2017 +0200 ---------------------------------------------------------------------- .../core/request/handler/IPageProvider.java | 17 +++++++++-------- .../request/handler/ListenerRequestHandler.java | 9 +-------- .../core/request/handler/PageProvider.java | 20 +++++++++++++------- 3 files changed, 23 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/3183aeb2/wicket-core/src/main/java/org/apache/wicket/core/request/handler/IPageProvider.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/IPageProvider.java b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/IPageProvider.java index f0843dc..cc69e02 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/IPageProvider.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/IPageProvider.java @@ -16,7 +16,6 @@ */ package org.apache.wicket.core.request.handler; -import org.apache.wicket.core.request.mapper.StalePageException; import org.apache.wicket.protocol.http.PageExpiredException; import org.apache.wicket.request.component.IRequestablePage; import org.apache.wicket.request.mapper.parameter.PageParameters; @@ -36,21 +35,21 @@ public interface IPageProvider * Returns page instance specified by the constructor. * * @return page instance - * @throws StalePageException - * if render count has been specified in constructor and the render count of page - * does not match the value * @throws PageExpiredException if the specified page * could not have been found and the constructor used did not provide enough information * to create new page instance */ - IRequestablePage getPageInstance(); + IRequestablePage getPageInstance() throws PageExpiredException; /** * Returns {@link PageParameters} of the page. * * @return page parameters + * @throws PageExpiredException if the specified page + * could not have been found and the constructor used did not provide enough information + * to create new page instance */ - PageParameters getPageParameters(); + PageParameters getPageParameters() throws PageExpiredException; /** * @return negates {@link PageProvider#hasPageInstance()} @@ -67,10 +66,12 @@ public interface IPageProvider /** * Returns class of the page. - * + * @throws PageExpiredException if the specified page + * could not have been found and the constructor used did not provide enough information + * to create new page instance * @return page class */ - Class<? extends IRequestablePage> getPageClass(); + Class<? extends IRequestablePage> getPageClass() throws PageExpiredException; /** * Returns the page id. http://git-wip-us.apache.org/repos/asf/wicket/blob/3183aeb2/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java index d36cce9..0a4170a 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java @@ -23,7 +23,6 @@ import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.behavior.Behavior; import org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy; import org.apache.wicket.core.request.handler.logger.ListenerLogData; -import org.apache.wicket.protocol.http.PageExpiredException; import org.apache.wicket.request.ILoggableRequestHandler; import org.apache.wicket.request.IRequestCycle; import org.apache.wicket.request.component.IRequestableComponent; @@ -95,13 +94,7 @@ public class ListenerRequestHandler @Override public IRequestablePage getPage() { - IRequestablePage page = pageComponentProvider.getPageInstance(); - if (page == null && pageComponentProvider.wasExpired()) - { - throw new PageExpiredException( - "Page with id '" + pageComponentProvider.getPageId() + "' has expired."); - } - return page; + return pageComponentProvider.getPageInstance(); } @Override http://git-wip-us.apache.org/repos/asf/wicket/blob/3183aeb2/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 4079eb7..7bd473e 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 @@ -20,6 +20,7 @@ import org.apache.wicket.Application; import org.apache.wicket.core.request.mapper.IPageSource; import org.apache.wicket.core.request.mapper.StalePageException; import org.apache.wicket.page.IPageManager; +import org.apache.wicket.protocol.http.PageExpiredException; import org.apache.wicket.request.IRequestHandler; import org.apache.wicket.request.IRequestMapper; import org.apache.wicket.request.component.IRequestablePage; @@ -165,13 +166,20 @@ public class PageProvider implements IPageProvider, IClusterable } @Override - public IRequestablePage getPageInstance() + public IRequestablePage getPageInstance() throws PageExpiredException { - return getProvision().getPage(); + IRequestablePage page = getProvision().getPage(); + + if (page == null && wasExpired()) + { + throw new PageExpiredException("Page with id '" + pageId + "' has expired."); + } + + return page; } @Override - public PageParameters getPageParameters() + public PageParameters getPageParameters() throws PageExpiredException { if (pageParameters != null) { @@ -238,18 +246,16 @@ public class PageProvider implements IPageProvider, IClusterable } @Override - public Class<? extends IRequestablePage> getPageClass() + public Class<? extends IRequestablePage> getPageClass() throws PageExpiredException { if (pageClass != null) { return pageClass; } - else if (hasPageInstance()) + else { return getPageInstance().getClass(); } - - return null; } protected IPageSource getPageSource()