[ https://issues.apache.org/jira/browse/MYFACES-1887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leonardo Uribe updated MYFACES-1887: ------------------------------------ Status: Patch Available (was: Open) > Print Multiple exceptions information thrown on update model > ------------------------------------------------------------ > > Key: MYFACES-1887 > URL: https://issues.apache.org/jira/browse/MYFACES-1887 > Project: MyFaces Core > Issue Type: Improvement > Affects Versions: 1.1.6-SNAPSHOT, 1.2.3 > Reporter: Leonardo Uribe > Assignee: Leonardo Uribe > Attachments: patchHandleErrorListUpdatePhase11.patch, > patchHandleErrorListUpdatePhase12.patch > > > When update model phase is executed, if multiple error occur when setting the > values (could occur when a value is set to a EL expression), the errors > should be added to the org.apache.myfaces.errorHandling.exceptionList, so the > FacesServlet can manage it properly like this: > Exception while ...............message 1.......... > Exception while ...............message 2.......... > Caused by: > ........cause 1....... > ........cause 2....... > .....stackTrace 1..... > .....stackTrace 2..... > Checking the code there is some errors like this (class UIInput myfaces core > 1.1.5): > private void queueExceptionInRequest(FacesContext context, ValueBinding > binding, Exception e) { > List li = (List) > context.getExternalContext().getRequestMap().get(ERROR_HANDLING_EXCEPTION_LIST); > if(null==li) { > li = new ArrayList(); > > context.getExternalContext().getRequestMap().put(ERROR_HANDLING_EXCEPTION_LIST, > li); > li.add(new FacesException("Exception while setting value for > expression : "+ > binding.getExpressionString()+" of component with path : " > + _ComponentUtils.getPathToComponent(this),e)); > } > } > Note the bad closing '}', it causes that previous errors be lost. > The idea is add a method to be called from FacesServlet like this: > class _ErrorPageWriter > public static void handleExceptionList(FacesContext facesContext, List > exceptionList) throws ServletException, IOException { > ...........handle it.......... > } > if no method on custom ErrorPageWriter is defined, the old way is used (just > show the first exception). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.