[
https://issues.apache.org/jira/browse/MYFACES-4051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15344685#comment-15344685
]
Bill Lucy commented on MYFACES-4051:
------------------------------------
Thanks for reviewing this [~lu4242]; I'll close this out
> 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
> Fix For: 1.2.13, 2.0.25, 2.1.19, 2.2.11
>
> Attachments: MYFACES-4051.patch
>
>
> 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)