[
https://issues.apache.org/jira/browse/MYFACES-4051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15341902#comment-15341902
]
Leonardo Uribe commented on MYFACES-4051:
-----------------------------------------
Those lines are really old (since 1.1). It should be something in the spec,
specifically the section related to UIData.encodeBegin and
hasErrorMessages(...) logic (clear the model if there is FacesMessage with
ERROR severity). This issue need further review.
> 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
> 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)