You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by aj...@apache.org on 2008/09/07 05:58:22 UTC
svn commit: r692772 - in
/incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/filters:
RedirectException.java ResolutionException.java
Author: ajaquith
Date: Sat Sep 6 20:58:22 2008
New Revision: 692772
URL: http://svn.apache.org/viewvc?rev=692772&view=rev
Log:
Cleaned up RedirectException; it now properly implements the Stripes Resolution interface.
Removed:
incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/filters/ResolutionException.java
Modified:
incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/filters/RedirectException.java
Modified: incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/filters/RedirectException.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/filters/RedirectException.java?rev=692772&r1=692771&r2=692772&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/filters/RedirectException.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/filters/RedirectException.java Sat Sep 6 20:58:22 2008
@@ -20,21 +20,29 @@
*/
package com.ecyrd.jspwiki.filters;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import net.sourceforge.stripes.action.RedirectResolution;
import net.sourceforge.stripes.action.Resolution;
/**
* This exception may be thrown if a filter wants to reject something and
- * redirect the user elsewhere.
+ * redirect the user elsewhere. In addition to being a subclass of FilterException,
+ * this class also implements the Stripes {@link net.sourceforge.stripes.action.Resolution}
+ * interface, which means it can be caught and used by Stripes for redirection.
*
* @since 2.1.112
*/
public class RedirectException
extends FilterException implements Resolution
{
- private static final long serialVersionUID = 0L;
+ private static final long serialVersionUID = 1L;
private final String m_where;
+ private Resolution m_resolution = null;
+
/**
* Constructs a new RedirectException.
*
@@ -46,6 +54,8 @@
super( msg );
m_where = redirect;
+
+ m_resolution = new RedirectResolution( redirect );
}
/**
@@ -57,4 +67,36 @@
{
return m_where;
}
+
+ /**
+ * Sets the Resolution executed by {@link #execute(HttpServletRequest, HttpServletResponse)}. Calling
+ * this method overrides the default RedirectResolution created during construction.
+ * @param resolution the Resolution to set
+ */
+ public void setResolution( Resolution resolution )
+ {
+ m_resolution = resolution;
+ }
+
+ /**
+ * Returns the Resolution that will be executed by {@link #execute(HttpServletRequest, HttpServletResponse)}.
+ * If not set explicitly by {@link #setResolution(Resolution)}, this method returns a
+ * {@link net.sourceforge.stripes.action.RedirectResolution} that redirects to the URL supplied during
+ * construction.
+ * @return the Resolution
+ */
+ public Resolution getResolution()
+ {
+ return m_resolution;
+ }
+
+ /**
+ * Executes the Stripes redirect activity by calling
+ * {@link net.sourceforge.stripes.action.Resolution#execute(HttpServletRequest, HttpServletResponse)}
+ * for the Resolution returned by {@link #getResolution()}.
+ */
+ public void execute( HttpServletRequest request, HttpServletResponse response ) throws Exception
+ {
+ m_resolution.execute( request, response );
+ }
}