rleland 2003/08/12 22:29:27 Modified: src/share/org/apache/struts/actions DispatchAction.java LookupDispatchAction.java Log: Bug 18002 Leave default Struts behavour the same ie no exception thrown when cancel is hit. Revision Changes Path 1.18 +22 -26 jakarta-struts/src/share/org/apache/struts/actions/DispatchAction.java Index: DispatchAction.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/actions/DispatchAction.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- DispatchAction.java 13 Aug 2003 04:53:43 -0000 1.17 +++ DispatchAction.java 13 Aug 2003 05:29:27 -0000 1.18 @@ -134,6 +134,7 @@ * @author Craig R. McClanahan * @author Ted Husted * @author Leonardo Quijano + * @author Rob Leland * @version $Revision$ $Date$ */ public abstract class DispatchAction extends Action { @@ -206,27 +207,29 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { - if (isCancelled(request)) { - return cancelled(mapping, form, request, response); - } else { - // Identify the request parameter containing the method name - String parameter = mapping.getParameter(); - if (parameter == null) { - String message = - messages.getMessage("dispatch.handler", mapping.getPath()); - - log.error(message); - - throw new ServletException(message); + ActionForward af = cancelled(mapping, form, request, response); + if (af != null) { + return af; } + } + // Identify the request parameter containing the method name + String parameter = mapping.getParameter(); + if (parameter == null) { + String message = + messages.getMessage("dispatch.handler", mapping.getPath()); - // Get the method's name. This could be overridden in subclasses. - String name = getMethodName(mapping, form, request, response, parameter); + log.error(message); - // Invoke the named method, and return the result - return dispatchMethod(mapping, form, request, response, name); + throw new ServletException(message); } + + // Get the method's name. This could be overridden in subclasses. + String name = getMethodName(mapping, form, request, response, parameter); + + // Invoke the named method, and return the result + return dispatchMethod(mapping, form, request, response, name); + } @@ -259,7 +262,7 @@ * Subclasses of <code>DispatchAction</code> should override this method if * they wish to provide default behavior different than throwing a * ServletException. - * + * @since Struts 1.2.1 */ protected ActionForward cancelled(ActionMapping mapping, ActionForm form, @@ -267,15 +270,7 @@ HttpServletResponse response) throws Exception { - String message = - messages.getMessage( - "dispatch.cancelled", - mapping.getPath(), - mapping.getParameter()); - - log.error(message); - - throw new ServletException(message); + return null; } // ----------------------------------------------------- Protected Methods @@ -378,6 +373,7 @@ * @param parameter The <code>ActionMapping</code> parameter's name * * @return The method's name. + * @since Struts 1.2.1 */ protected String getMethodName(ActionMapping mapping, ActionForm form, 1.14 +19 -14 jakarta-struts/src/share/org/apache/struts/actions/LookupDispatchAction.java Index: LookupDispatchAction.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/actions/LookupDispatchAction.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- LookupDispatchAction.java 13 Aug 2003 04:53:43 -0000 1.13 +++ LookupDispatchAction.java 13 Aug 2003 05:29:27 -0000 1.14 @@ -153,6 +153,7 @@ * @author Scott Carlson * @author David Graham * @author Leonardo Quijano + * @author Rob Leland */ public abstract class LookupDispatchAction extends DispatchAction { @@ -190,20 +191,23 @@ throws Exception { if (isCancelled(request)) { - return cancelled(mapping, form, request, response); - } else { - // Identify the request parameter containing the method name - String parameter = mapping.getParameter(); - if (parameter == null) { - String message = messages.getMessage("dispatch.handler", mapping.getPath()); - throw new ServletException(message); + ActionForward af = cancelled(mapping, form, request, response); + if (af != null) { + return af; } + } + // Identify the request parameter containing the method name + String parameter = mapping.getParameter(); + if (parameter == null) { + String message = messages.getMessage("dispatch.handler", mapping.getPath()); + throw new ServletException(message); + } - // Identify the string to lookup - String methodName = getMethodName(mapping, form, request, response, parameter); + // Identify the string to lookup + String methodName = getMethodName(mapping, form, request, response, parameter); + + return dispatchMethod(mapping, form, request, response, methodName); - return dispatchMethod(mapping, form, request, response, methodName); - } } /** @@ -257,6 +261,7 @@ * @param parameter The <code>ActionMapping</code> parameter's name * * @return The method's name. + * @since Struts 1.2.1 */ protected String getMethodName(ActionMapping mapping, ActionForm form,
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]