You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by gs...@apache.org on 2007/11/03 19:30:14 UTC
svn commit: r591659 -
/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
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;
}
/**