[ http://jira.andromda.org/browse/BPM-245?page=comments#action_11967 ] Wouter Zoons commented on BPM-245: ----------------------------------
well, that wasn't a feature .. that was a bug it has never been the purpose to assume exceptional (pun intended) behavior when saving messages, saving messages only does exactly that sorry for the confusion > saveErrorMessages don't work anymore > ------------------------------------ > > Key: BPM-245 > URL: http://jira.andromda.org/browse/BPM-245 > Project: Bpm4Struts Cartridge > Type: Bug > Versions: 3.1M1 > Environment: JDK 1.5, Struts 1.2.7, Windows XP Pro > Reporter: Bobby Peterson > Assignee: Wouter Zoons > Priority: Critical > > After upgrading to 3.1 I have had many problems with the error messages and > validation. The custom validation is still not working. In the controller > methods I call saveErrorMessage given it the request and a valid message key. > The error is saved into the session but the flow of the application > continues to go to the next action state, JSP which causes major problems > because an error has occured. > With some investigation I found that the code generated in 3.0 wrapped the > next call in an if block like the following: > if (this.errorsNotPresent(request)) > { > forward = _retrieveData(mapping, form, request, response); > } > in 3.1 the code looks like: > forward = _retrieveData(mapping, form, request, response); > Is there a reason this change was made? Did I not set a property? If so, > shouldn't the old behavior be the default? > Thanks for the help or the fix. > The complete methods are below: > ############################################### 3.0 > ########################################### > ActionForward forward = null; > private ActionForward _detailsOk(ActionMapping mapping, ActionForm form, > HttpServletRequest request, HttpServletResponse response) throws Exception > { > ActionForward forward = null; > final org.apache.struts.action.ActionMessages errors = > this.getExceptionHandlerErrors(request); > try > { > if (this.errorsNotPresent(request)) > { > > PlanControllerFactory.getPlanControllerInstance().saveDetails(mapping, > DetailsSummarySaveDetailsFormImpl)form, request, response); > } > if (this.errorsNotPresent(request)) > { > forward = _retrieveData(mapping, form, request, response); > } > } > catch (Exception ex) > { > final String messageKey = > org.andromda.presentation.bpm4struts.PatternMatchingExceptionHandler.instance().handleException(ex); > > errors.add(org.apache.struts.action.ActionMessages.GLOBAL_MESSAGE, new > org.apache.struts.action.ActionMessage(messageKey)); > } > finally > { > } > if (!errors.isEmpty()) > { > forward = mapping.getInputForward(); > } > return forward; > } > ###################################### 3.1 > ######################################################### > private org.apache.struts.action.ActionForward > _detailsOk(org.apache.struts.action.ActionMapping mapping, > org.apache.struts.action.ActionForm form, > javax.servlet.http.HttpServletRequest request, > javax.servlet.http.HttpServletResponse response) throws java.lang.Exception > { > org.apache.struts.action.ActionForward forward = null; > try > { > > com.sys.uswdss.web.planning.plan.PlanControllerFactory.getPlanControllerInstance().saveDetails(mapping, > (DetailsSummarySaveDetailsFormImpl)form, request, response); > forward = _retrieveData(mapping, form, request, response); > } > catch (java.lang.Exception exception) > { > final java.lang.String messageKey = > org.andromda.presentation.bpm4struts.PatternMatchingExceptionHandler.instance().handleException(exception); > > com.sys.uswdss.web.planning.plan.PlanControllerFactory.getPlanControllerInstance().saveErrorMessage(request, > messageKey); > throw exception; > } > return forward; > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.andromda.org/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Andromda-devel mailing list Andromda-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/andromda-devel