[ https://issues.apache.org/jira/browse/MYFACES-4051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Lucy updated MYFACES-4051: ------------------------------- Status: Patch Available (was: Open) > FacesMessage.Severity always set to ERROR after ValidatorException > ------------------------------------------------------------------ > > Key: MYFACES-4051 > URL: https://issues.apache.org/jira/browse/MYFACES-4051 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 2.2.10 > Environment: Tomcat, WebSphere Liberty > Reporter: Bill Lucy > > The severity of messages is always set (overwritten) to SEVERITY_ERROR when a > ValidatorException is thrown during validation. In > org.apache.myfaces.view.facelets.compiler._ComponentUtils I see that we > always call > facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR); > when processing a ValidatorException. This might make sense if we're > assuming that all faces messages default to some other severity, but it > doesn't seem right to me that we're overwriting user-set message severities. > For example, given the following custom validator: > public void validate(FacesContext context, UIComponent component, > Object value) { > if (value == null) { > List<FacesMessage> messageList = new ArrayList<>(); > messageList.add(new > FacesMessage(FacesMessage.SEVERITY_INFO, > "ValidatorException#SEVERITY_INFO", > "ValidatorException#SEVERITY_INFO")); > throw new ValidatorException(messageList); > } > } > The severity of the custom message will always be set to SEVERITY.ERROR. I > don't see much guidance in the spec on this, but Mojarra behaves differently > - it does not overwrite custom FacesMessage severities. -- This message was sent by Atlassian JIRA (v6.3.4#6332)