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()

Reply via email to