[ 
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)

Reply via email to