I think the patch here corrects our behavior. If there are no objections I'll commit the changes.
On Tue, Jun 14, 2016 at 3:27 PM, Bill Lucy (JIRA) <[email protected]> wrote: > > [ > 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) >
