Author: gseitz
Date: Sat Nov 3 11:30:13 2007
New Revision: 591659
URL: http://svn.apache.org/viewvc?rev=591659&view=rev
Log:
WICKET-958: redirect if pageExpiredErrorPage is mounted
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java?rev=591659&r1=591658&r2=591659&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
(original)
+++
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
Sat Nov 3 11:30:13 2007
@@ -135,6 +135,8 @@
{
Class pageExpiredErrorPageClass =
application.getApplicationSettings()
.getPageExpiredErrorPage();
+ boolean mounted =
isPageMounted(pageExpiredErrorPageClass);
+ RequestCycle.get().setRedirect(mounted);
throw new
RestartResponseException(pageExpiredErrorPageClass);
}
else if (settings.getUnexpectedExceptionDisplay() !=
IExceptionSettings.SHOW_NO_EXCEPTION_PAGE)
@@ -166,6 +168,21 @@
internalErrorPageClass, e);
}
}
+ }
+
+ /**
+ * Checks whether the given <code>pageClass</code> is mounted.
+ *
+ * @param pageClass
+ * the <code>Class</code> of the <code>Page</code> to be
checked
+ * @return true if the given <code>pageClass</code> is mounted, false
otherwise
+ */
+ private boolean isPageMounted(Class /* <? extends Page> */pageClass)
+ {
+ RequestCycle cycle = RequestCycle.get();
+ CharSequence path = getRequestCodingStrategy().pathForTarget(
+ new BookmarkablePageRequestTarget(pageClass));
+ return path != null;
}
/**