You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by "Garner, Shawn" <sh...@vangent.com> on 2007/05/08 23:33:08 UTC

FacesMessage Serverity

I need to create a custom message severity.

I wanted to create a confirmation message severity but Severity has a
private constructor?

 

Shouldn't this be public so you can add your own?

 

Shawn 

 


Re: FacesMessage Serverity

Posted by Scott O'Bryan <da...@gmail.com>.
Shawn,

That's JSF 1.0 and I don't think you're going to get any enhancements 
into that.  Your best bet is to try to push it as an enhancement in 
2.0....  To do that you should email someone on the EG.

Scott

Garner, Shawn wrote:
> I don't want to file problems with the RI.
> I want them to fix/change the spec.  
> I found this page:
>
> http://jcp.org/en/jsr/detail?id=127
>
> Shawn
>   


RE: FacesMessage Serverity

Posted by "Garner, Shawn" <sh...@vangent.com>.
I don't want to file problems with the RI.
I want them to fix/change the spec.  
I found this page:

http://jcp.org/en/jsr/detail?id=127

Shawn
-----Original Message-----
From: Scott O'Bryan [mailto:darkarena@gmail.com] 
Sent: Wednesday, May 09, 2007 3:47 PM
To: MyFaces Discussion
Subject: Re: FacesMessage Serverity

You can file bugs and stuff against the ri and you can always comment on

public drafts of the spec.  To become a spec EG member though you have 
to be a member of the JCP and get accepted by the spec lead.

JSF-RI is here:  https://javaserverfaces.dev.java.net/

Scott

Garner, Shawn wrote:
> Where do I go to comment on the spec?
>
> I've sent the email feedback before but I can't find the page on Sun's
> website.
> Also is there any way to sign up to contribute to future specs without
> paying a fee?
>
> Shawn
>
> -----Original Message-----
> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
> Sent: Wednesday, May 09, 2007 3:35 PM
> To: MyFaces Discussion
> Subject: Re: FacesMessage Serverity
>
> Shawn,
>
> The FacesMessage class is inside of Faces.  You can't change that.  
> Anything you add needs to be added on TOP of FacesMessage.  I mean if 
> you can figure it out without violating JSF spec, more power to you.  
> MyFaces is doing the correct thing.
>
> Scott
>
> Garner, Shawn wrote:
>   
>> The problem comes in the fact that there are defined constants in
>> FacesMessage.
>>
>> Redeclare the constants that are declared in FacesMessage.
>> If these weren't final then you could re-declare them and initialize
>>     
> the
>   
>> map and list values including my new Serverity:
>>
>> public static final FacesMessage.Severity SEVERITY_INFO = new
>> Severity("Info", 1);
>>     public static final FacesMessage.Severity SEVERITY_WARN = new
>> Severity("Warn", 2);
>>     public static final FacesMessage.Severity SEVERITY_ERROR = new
>> Severity("Error", 3);
>>     public static final FacesMessage.Severity SEVERITY_FATAL = new
>> Severity("Fatal", 4);
>>     public static final List VALUES;
>>     public static final Map VALUES_MAP;
>>     static
>>     {
>>         Map map = new HashMap(7);
>>         map.put(SEVERITY_INFO.toString(), SEVERITY_INFO);
>>         map.put(SEVERITY_WARN.toString(), SEVERITY_WARN);
>>         map.put(SEVERITY_ERROR.toString(), SEVERITY_ERROR);
>>         map.put(SEVERITY_FATAL.toString(), SEVERITY_FATAL);
>>         VALUES = Collections.unmodifiableList(new
>> ArrayList(map.values()));
>>         VALUES_MAP = Collections.unmodifiableMap(map);
>>     }
>>
>>
>> Then you could still do this in the Trinidad:
>> FacesMessage.SEVERITY_INFO.equals(msg.getSeverity()).
>>
>>
>>
>> Shawn
>>
>> -----Original Message-----
>> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
>> Sent: Wednesday, May 09, 2007 2:01 PM
>> To: MyFaces Discussion
>> Subject: Re: FacesMessage Serverity
>>
>> The problem comes in the fact that there are defined constants in 
>> FacesMessage.  Consider this:
>>
>> A renderkit looks to see if the Faces Severity is 
>> FacesMessage.SEVERITY_INFO.  If you changed the ordinal value in 
>> CustomFacesMessage, your CustomFacesMessage's SEVERITY_INFO will not
>>     
> be 
>   
>> the same as the FacesMessage where the constant is defined.
>>
>> It's fine is everything uses your own CustomFacesMessage class to 
>> determine your severity level.  But generally a renderkit is going to

>> assume that you're NOT overriding this.  So in short, you could
create
>>     
> a
>   
>> CustomFacesMessage if your application handles the displaying of 
>> messages from end to end.  But if you are relying on renderkits like 
>> Trinidad, they will be generally confused.
>>
>> Scott
>>
>> Garner, Shawn wrote:
>>   
>>     
>>> I used the warn level since I'm already using the error and info
>>>     
>>>       
>> level.
>>   
>>     
>>> I just don't like using warn instead of my own custom one.
>>>
>>> I saw the ordinal and ordering in the source code.  
>>> I don't see any reason why you couldn't override the order or create
>>>       
> a
>   
>>> new severity.
>>> I could make them display in any order I wanted by reordering the
>>> ordinals and shouldn't affect the renderkit.
>>> The renderkit would always render them according to ordinal.
>>>
>>>
>>>
>>> Shawn 
>>>
>>> -----Original Message-----
>>> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
>>> Sent: Wednesday, May 09, 2007 10:44 AM
>>> To: MyFaces Discussion
>>> Subject: Re: FacesMessage Serverity
>>>
>>> Shawn,
>>>
>>> Oracle did something similar.  Our solution was that we created a
>>>     
>>>       
>> custom
>>   
>>     
>>> FacesMessage which also took an enumeration of our allowed severity 
>>> types.  These severity types could be mapped to the standard JSF 
>>> severity types (Confirmation was mapped to Severity.INFO for
>>>       
> instance)
>   
>>>     
>>>       
>>   
>>     
>>> if a renderkit or something needed it in order to display the
>>>       
> message.
>   
>>>     
>>>       
>>   
>>     
>>> We then added get and set methods for the message type.
>>>
>>> Unfortunately JSF gives the illusion of being able to change the 
>>> severities easily, but the "ordinal" system that's in place in JSF
>>>     
>>>       
>> does 
>>   
>>     
>>> not lend itself to this.  Plus, many renderkits (like trinidad) use
>>>     
>>>       
>> the 
>>   
>>     
>>> Severity in order to render messages on their components, so
changing
>>>       
>
>   
>>> them will break these renderkits.
>>>
>>> Scott
>>>
>>> Simon Kitching wrote:
>>>   
>>>     
>>>       
>>>> Garner, Shawn wrote:
>>>>     
>>>>       
>>>>         
>>>>> I need to create a custom message severity.
>>>>>
>>>>> I wanted to create a confirmation message severity but Severity
has
>>>>>         
>>>>>           
>> a
>>   
>>     
>>>>>       
>>>>>         
>>>>>           
>>>   
>>>     
>>>       
>>>>> private constructor?
>>>>>
>>>>> Shouldn't this be public so you can add your own?
>>>>>       
>>>>>         
>>>>>           
>>>> I guess the API doesn't intend people to create custom severities.
>>>>
>>>> The official javadocs are part of the JSF specification, and this
>>>>       
>>>>         
>> page
>>   
>>     
>>>>     
>>>>       
>>>>         
>>>   
>>>     
>>>       
>>>> doesn't indicate any public or protected constructor so MyFaces is 
>>>> probably *required* not to provide one in order to be "JSF
>>>>       
>>>>         
>> compliant":
>>   
>>     
>>>>     
>>>>       
>>>>         
>
http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/a
>   
>>   
>>     
>>> pplication/FacesMessage.Severity.html 
>>>   
>>>     
>>>       
>>>> Regards,
>>>>
>>>> Simon
>>>>
>>>>     
>>>>       
>>>>         
>>>     
>>>       
>
************************************************************************
>   
>> **** 
>>   
>>     
>>> This email may contain confidential material. 
>>> If you were not an intended recipient, 
>>> Please notify the sender and delete all copies. 
>>> We may monitor email to and from our network. 
>>>
>>>     
>>>       
>
************************************************************************
>   
>> ****
>>   
>>     
>>>   
>>>     
>>>       
>>     
>
************************************************************************
> **** 
>   
>> This email may contain confidential material. 
>> If you were not an intended recipient, 
>> Please notify the sender and delete all copies. 
>> We may monitor email to and from our network. 
>>
>>     
>
************************************************************************
> ****
>   
>>   
>>     
>
>
************************************************************************
**** 
> This email may contain confidential material. 
> If you were not an intended recipient, 
> Please notify the sender and delete all copies. 
> We may monitor email to and from our network. 
>
************************************************************************
****
>
>   

**************************************************************************** 
This email may contain confidential material. 
If you were not an intended recipient, 
Please notify the sender and delete all copies. 
We may monitor email to and from our network. 
****************************************************************************

Re: FacesMessage Serverity

Posted by Scott O'Bryan <da...@gmail.com>.
You can file bugs and stuff against the ri and you can always comment on 
public drafts of the spec.  To become a spec EG member though you have 
to be a member of the JCP and get accepted by the spec lead.

JSF-RI is here:  https://javaserverfaces.dev.java.net/

Scott

Garner, Shawn wrote:
> Where do I go to comment on the spec?
>
> I've sent the email feedback before but I can't find the page on Sun's
> website.
> Also is there any way to sign up to contribute to future specs without
> paying a fee?
>
> Shawn
>
> -----Original Message-----
> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
> Sent: Wednesday, May 09, 2007 3:35 PM
> To: MyFaces Discussion
> Subject: Re: FacesMessage Serverity
>
> Shawn,
>
> The FacesMessage class is inside of Faces.  You can't change that.  
> Anything you add needs to be added on TOP of FacesMessage.  I mean if 
> you can figure it out without violating JSF spec, more power to you.  
> MyFaces is doing the correct thing.
>
> Scott
>
> Garner, Shawn wrote:
>   
>> The problem comes in the fact that there are defined constants in
>> FacesMessage.
>>
>> Redeclare the constants that are declared in FacesMessage.
>> If these weren't final then you could re-declare them and initialize
>>     
> the
>   
>> map and list values including my new Serverity:
>>
>> public static final FacesMessage.Severity SEVERITY_INFO = new
>> Severity("Info", 1);
>>     public static final FacesMessage.Severity SEVERITY_WARN = new
>> Severity("Warn", 2);
>>     public static final FacesMessage.Severity SEVERITY_ERROR = new
>> Severity("Error", 3);
>>     public static final FacesMessage.Severity SEVERITY_FATAL = new
>> Severity("Fatal", 4);
>>     public static final List VALUES;
>>     public static final Map VALUES_MAP;
>>     static
>>     {
>>         Map map = new HashMap(7);
>>         map.put(SEVERITY_INFO.toString(), SEVERITY_INFO);
>>         map.put(SEVERITY_WARN.toString(), SEVERITY_WARN);
>>         map.put(SEVERITY_ERROR.toString(), SEVERITY_ERROR);
>>         map.put(SEVERITY_FATAL.toString(), SEVERITY_FATAL);
>>         VALUES = Collections.unmodifiableList(new
>> ArrayList(map.values()));
>>         VALUES_MAP = Collections.unmodifiableMap(map);
>>     }
>>
>>
>> Then you could still do this in the Trinidad:
>> FacesMessage.SEVERITY_INFO.equals(msg.getSeverity()).
>>
>>
>>
>> Shawn
>>
>> -----Original Message-----
>> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
>> Sent: Wednesday, May 09, 2007 2:01 PM
>> To: MyFaces Discussion
>> Subject: Re: FacesMessage Serverity
>>
>> The problem comes in the fact that there are defined constants in 
>> FacesMessage.  Consider this:
>>
>> A renderkit looks to see if the Faces Severity is 
>> FacesMessage.SEVERITY_INFO.  If you changed the ordinal value in 
>> CustomFacesMessage, your CustomFacesMessage's SEVERITY_INFO will not
>>     
> be 
>   
>> the same as the FacesMessage where the constant is defined.
>>
>> It's fine is everything uses your own CustomFacesMessage class to 
>> determine your severity level.  But generally a renderkit is going to 
>> assume that you're NOT overriding this.  So in short, you could create
>>     
> a
>   
>> CustomFacesMessage if your application handles the displaying of 
>> messages from end to end.  But if you are relying on renderkits like 
>> Trinidad, they will be generally confused.
>>
>> Scott
>>
>> Garner, Shawn wrote:
>>   
>>     
>>> I used the warn level since I'm already using the error and info
>>>     
>>>       
>> level.
>>   
>>     
>>> I just don't like using warn instead of my own custom one.
>>>
>>> I saw the ordinal and ordering in the source code.  
>>> I don't see any reason why you couldn't override the order or create
>>>       
> a
>   
>>> new severity.
>>> I could make them display in any order I wanted by reordering the
>>> ordinals and shouldn't affect the renderkit.
>>> The renderkit would always render them according to ordinal.
>>>
>>>
>>>
>>> Shawn 
>>>
>>> -----Original Message-----
>>> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
>>> Sent: Wednesday, May 09, 2007 10:44 AM
>>> To: MyFaces Discussion
>>> Subject: Re: FacesMessage Serverity
>>>
>>> Shawn,
>>>
>>> Oracle did something similar.  Our solution was that we created a
>>>     
>>>       
>> custom
>>   
>>     
>>> FacesMessage which also took an enumeration of our allowed severity 
>>> types.  These severity types could be mapped to the standard JSF 
>>> severity types (Confirmation was mapped to Severity.INFO for
>>>       
> instance)
>   
>>>     
>>>       
>>   
>>     
>>> if a renderkit or something needed it in order to display the
>>>       
> message.
>   
>>>     
>>>       
>>   
>>     
>>> We then added get and set methods for the message type.
>>>
>>> Unfortunately JSF gives the illusion of being able to change the 
>>> severities easily, but the "ordinal" system that's in place in JSF
>>>     
>>>       
>> does 
>>   
>>     
>>> not lend itself to this.  Plus, many renderkits (like trinidad) use
>>>     
>>>       
>> the 
>>   
>>     
>>> Severity in order to render messages on their components, so changing
>>>       
>
>   
>>> them will break these renderkits.
>>>
>>> Scott
>>>
>>> Simon Kitching wrote:
>>>   
>>>     
>>>       
>>>> Garner, Shawn wrote:
>>>>     
>>>>       
>>>>         
>>>>> I need to create a custom message severity.
>>>>>
>>>>> I wanted to create a confirmation message severity but Severity has
>>>>>         
>>>>>           
>> a
>>   
>>     
>>>>>       
>>>>>         
>>>>>           
>>>   
>>>     
>>>       
>>>>> private constructor?
>>>>>
>>>>> Shouldn't this be public so you can add your own?
>>>>>       
>>>>>         
>>>>>           
>>>> I guess the API doesn't intend people to create custom severities.
>>>>
>>>> The official javadocs are part of the JSF specification, and this
>>>>       
>>>>         
>> page
>>   
>>     
>>>>     
>>>>       
>>>>         
>>>   
>>>     
>>>       
>>>> doesn't indicate any public or protected constructor so MyFaces is 
>>>> probably *required* not to provide one in order to be "JSF
>>>>       
>>>>         
>> compliant":
>>   
>>     
>>>>     
>>>>       
>>>>         
> http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/a
>   
>>   
>>     
>>> pplication/FacesMessage.Severity.html 
>>>   
>>>     
>>>       
>>>> Regards,
>>>>
>>>> Simon
>>>>
>>>>     
>>>>       
>>>>         
>>>     
>>>       
> ************************************************************************
>   
>> **** 
>>   
>>     
>>> This email may contain confidential material. 
>>> If you were not an intended recipient, 
>>> Please notify the sender and delete all copies. 
>>> We may monitor email to and from our network. 
>>>
>>>     
>>>       
> ************************************************************************
>   
>> ****
>>   
>>     
>>>   
>>>     
>>>       
>>     
> ************************************************************************
> **** 
>   
>> This email may contain confidential material. 
>> If you were not an intended recipient, 
>> Please notify the sender and delete all copies. 
>> We may monitor email to and from our network. 
>>
>>     
> ************************************************************************
> ****
>   
>>   
>>     
>
> **************************************************************************** 
> This email may contain confidential material. 
> If you were not an intended recipient, 
> Please notify the sender and delete all copies. 
> We may monitor email to and from our network. 
> ****************************************************************************
>
>   


RE: FacesMessage Serverity

Posted by "Garner, Shawn" <sh...@vangent.com>.
Where do I go to comment on the spec?

I've sent the email feedback before but I can't find the page on Sun's
website.
Also is there any way to sign up to contribute to future specs without
paying a fee?

Shawn

-----Original Message-----
From: Scott O'Bryan [mailto:darkarena@gmail.com] 
Sent: Wednesday, May 09, 2007 3:35 PM
To: MyFaces Discussion
Subject: Re: FacesMessage Serverity

Shawn,

The FacesMessage class is inside of Faces.  You can't change that.  
Anything you add needs to be added on TOP of FacesMessage.  I mean if 
you can figure it out without violating JSF spec, more power to you.  
MyFaces is doing the correct thing.

Scott

Garner, Shawn wrote:
> The problem comes in the fact that there are defined constants in
> FacesMessage.
>
> Redeclare the constants that are declared in FacesMessage.
> If these weren't final then you could re-declare them and initialize
the
> map and list values including my new Serverity:
>
> public static final FacesMessage.Severity SEVERITY_INFO = new
> Severity("Info", 1);
>     public static final FacesMessage.Severity SEVERITY_WARN = new
> Severity("Warn", 2);
>     public static final FacesMessage.Severity SEVERITY_ERROR = new
> Severity("Error", 3);
>     public static final FacesMessage.Severity SEVERITY_FATAL = new
> Severity("Fatal", 4);
>     public static final List VALUES;
>     public static final Map VALUES_MAP;
>     static
>     {
>         Map map = new HashMap(7);
>         map.put(SEVERITY_INFO.toString(), SEVERITY_INFO);
>         map.put(SEVERITY_WARN.toString(), SEVERITY_WARN);
>         map.put(SEVERITY_ERROR.toString(), SEVERITY_ERROR);
>         map.put(SEVERITY_FATAL.toString(), SEVERITY_FATAL);
>         VALUES = Collections.unmodifiableList(new
> ArrayList(map.values()));
>         VALUES_MAP = Collections.unmodifiableMap(map);
>     }
>
>
> Then you could still do this in the Trinidad:
> FacesMessage.SEVERITY_INFO.equals(msg.getSeverity()).
>
>
>
> Shawn
>
> -----Original Message-----
> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
> Sent: Wednesday, May 09, 2007 2:01 PM
> To: MyFaces Discussion
> Subject: Re: FacesMessage Serverity
>
> The problem comes in the fact that there are defined constants in 
> FacesMessage.  Consider this:
>
> A renderkit looks to see if the Faces Severity is 
> FacesMessage.SEVERITY_INFO.  If you changed the ordinal value in 
> CustomFacesMessage, your CustomFacesMessage's SEVERITY_INFO will not
be 
> the same as the FacesMessage where the constant is defined.
>
> It's fine is everything uses your own CustomFacesMessage class to 
> determine your severity level.  But generally a renderkit is going to 
> assume that you're NOT overriding this.  So in short, you could create
a
>
> CustomFacesMessage if your application handles the displaying of 
> messages from end to end.  But if you are relying on renderkits like 
> Trinidad, they will be generally confused.
>
> Scott
>
> Garner, Shawn wrote:
>   
>> I used the warn level since I'm already using the error and info
>>     
> level.
>   
>> I just don't like using warn instead of my own custom one.
>>
>> I saw the ordinal and ordering in the source code.  
>> I don't see any reason why you couldn't override the order or create
a
>> new severity.
>> I could make them display in any order I wanted by reordering the
>> ordinals and shouldn't affect the renderkit.
>> The renderkit would always render them according to ordinal.
>>
>>
>>
>> Shawn 
>>
>> -----Original Message-----
>> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
>> Sent: Wednesday, May 09, 2007 10:44 AM
>> To: MyFaces Discussion
>> Subject: Re: FacesMessage Serverity
>>
>> Shawn,
>>
>> Oracle did something similar.  Our solution was that we created a
>>     
> custom
>   
>> FacesMessage which also took an enumeration of our allowed severity 
>> types.  These severity types could be mapped to the standard JSF 
>> severity types (Confirmation was mapped to Severity.INFO for
instance)
>>     
>
>   
>> if a renderkit or something needed it in order to display the
message.
>>     
>
>   
>> We then added get and set methods for the message type.
>>
>> Unfortunately JSF gives the illusion of being able to change the 
>> severities easily, but the "ordinal" system that's in place in JSF
>>     
> does 
>   
>> not lend itself to this.  Plus, many renderkits (like trinidad) use
>>     
> the 
>   
>> Severity in order to render messages on their components, so changing

>> them will break these renderkits.
>>
>> Scott
>>
>> Simon Kitching wrote:
>>   
>>     
>>> Garner, Shawn wrote:
>>>     
>>>       
>>>> I need to create a custom message severity.
>>>>
>>>> I wanted to create a confirmation message severity but Severity has
>>>>         
> a
>   
>>>>       
>>>>         
>>   
>>     
>>>> private constructor?
>>>>
>>>> Shouldn't this be public so you can add your own?
>>>>       
>>>>         
>>> I guess the API doesn't intend people to create custom severities.
>>>
>>> The official javadocs are part of the JSF specification, and this
>>>       
> page
>   
>>>     
>>>       
>>   
>>     
>>> doesn't indicate any public or protected constructor so MyFaces is 
>>> probably *required* not to provide one in order to be "JSF
>>>       
> compliant":
>   
>>>     
>>>       
>
http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/a
>   
>> pplication/FacesMessage.Severity.html 
>>   
>>     
>>> Regards,
>>>
>>> Simon
>>>
>>>     
>>>       
>>     
>
************************************************************************
> **** 
>   
>> This email may contain confidential material. 
>> If you were not an intended recipient, 
>> Please notify the sender and delete all copies. 
>> We may monitor email to and from our network. 
>>
>>     
>
************************************************************************
> ****
>   
>>   
>>     
>
>
************************************************************************
**** 
> This email may contain confidential material. 
> If you were not an intended recipient, 
> Please notify the sender and delete all copies. 
> We may monitor email to and from our network. 
>
************************************************************************
****
>
>   

**************************************************************************** 
This email may contain confidential material. 
If you were not an intended recipient, 
Please notify the sender and delete all copies. 
We may monitor email to and from our network. 
****************************************************************************

Re: FacesMessage Serverity

Posted by Scott O'Bryan <da...@gmail.com>.
Shawn,

The FacesMessage class is inside of Faces.  You can't change that.  
Anything you add needs to be added on TOP of FacesMessage.  I mean if 
you can figure it out without violating JSF spec, more power to you.  
MyFaces is doing the correct thing.

Scott

Garner, Shawn wrote:
> The problem comes in the fact that there are defined constants in
> FacesMessage.
>
> Redeclare the constants that are declared in FacesMessage.
> If these weren't final then you could re-declare them and initialize the
> map and list values including my new Serverity:
>
> public static final FacesMessage.Severity SEVERITY_INFO = new
> Severity("Info", 1);
>     public static final FacesMessage.Severity SEVERITY_WARN = new
> Severity("Warn", 2);
>     public static final FacesMessage.Severity SEVERITY_ERROR = new
> Severity("Error", 3);
>     public static final FacesMessage.Severity SEVERITY_FATAL = new
> Severity("Fatal", 4);
>     public static final List VALUES;
>     public static final Map VALUES_MAP;
>     static
>     {
>         Map map = new HashMap(7);
>         map.put(SEVERITY_INFO.toString(), SEVERITY_INFO);
>         map.put(SEVERITY_WARN.toString(), SEVERITY_WARN);
>         map.put(SEVERITY_ERROR.toString(), SEVERITY_ERROR);
>         map.put(SEVERITY_FATAL.toString(), SEVERITY_FATAL);
>         VALUES = Collections.unmodifiableList(new
> ArrayList(map.values()));
>         VALUES_MAP = Collections.unmodifiableMap(map);
>     }
>
>
> Then you could still do this in the Trinidad:
> FacesMessage.SEVERITY_INFO.equals(msg.getSeverity()).
>
>
>
> Shawn
>
> -----Original Message-----
> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
> Sent: Wednesday, May 09, 2007 2:01 PM
> To: MyFaces Discussion
> Subject: Re: FacesMessage Serverity
>
> The problem comes in the fact that there are defined constants in 
> FacesMessage.  Consider this:
>
> A renderkit looks to see if the Faces Severity is 
> FacesMessage.SEVERITY_INFO.  If you changed the ordinal value in 
> CustomFacesMessage, your CustomFacesMessage's SEVERITY_INFO will not be 
> the same as the FacesMessage where the constant is defined.
>
> It's fine is everything uses your own CustomFacesMessage class to 
> determine your severity level.  But generally a renderkit is going to 
> assume that you're NOT overriding this.  So in short, you could create a
>
> CustomFacesMessage if your application handles the displaying of 
> messages from end to end.  But if you are relying on renderkits like 
> Trinidad, they will be generally confused.
>
> Scott
>
> Garner, Shawn wrote:
>   
>> I used the warn level since I'm already using the error and info
>>     
> level.
>   
>> I just don't like using warn instead of my own custom one.
>>
>> I saw the ordinal and ordering in the source code.  
>> I don't see any reason why you couldn't override the order or create a
>> new severity.
>> I could make them display in any order I wanted by reordering the
>> ordinals and shouldn't affect the renderkit.
>> The renderkit would always render them according to ordinal.
>>
>>
>>
>> Shawn 
>>
>> -----Original Message-----
>> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
>> Sent: Wednesday, May 09, 2007 10:44 AM
>> To: MyFaces Discussion
>> Subject: Re: FacesMessage Serverity
>>
>> Shawn,
>>
>> Oracle did something similar.  Our solution was that we created a
>>     
> custom
>   
>> FacesMessage which also took an enumeration of our allowed severity 
>> types.  These severity types could be mapped to the standard JSF 
>> severity types (Confirmation was mapped to Severity.INFO for instance)
>>     
>
>   
>> if a renderkit or something needed it in order to display the message.
>>     
>
>   
>> We then added get and set methods for the message type.
>>
>> Unfortunately JSF gives the illusion of being able to change the 
>> severities easily, but the "ordinal" system that's in place in JSF
>>     
> does 
>   
>> not lend itself to this.  Plus, many renderkits (like trinidad) use
>>     
> the 
>   
>> Severity in order to render messages on their components, so changing 
>> them will break these renderkits.
>>
>> Scott
>>
>> Simon Kitching wrote:
>>   
>>     
>>> Garner, Shawn wrote:
>>>     
>>>       
>>>> I need to create a custom message severity.
>>>>
>>>> I wanted to create a confirmation message severity but Severity has
>>>>         
> a
>   
>>>>       
>>>>         
>>   
>>     
>>>> private constructor?
>>>>
>>>> Shouldn't this be public so you can add your own?
>>>>       
>>>>         
>>> I guess the API doesn't intend people to create custom severities.
>>>
>>> The official javadocs are part of the JSF specification, and this
>>>       
> page
>   
>>>     
>>>       
>>   
>>     
>>> doesn't indicate any public or protected constructor so MyFaces is 
>>> probably *required* not to provide one in order to be "JSF
>>>       
> compliant":
>   
>>>     
>>>       
> http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/a
>   
>> pplication/FacesMessage.Severity.html 
>>   
>>     
>>> Regards,
>>>
>>> Simon
>>>
>>>     
>>>       
>>     
> ************************************************************************
> **** 
>   
>> This email may contain confidential material. 
>> If you were not an intended recipient, 
>> Please notify the sender and delete all copies. 
>> We may monitor email to and from our network. 
>>
>>     
> ************************************************************************
> ****
>   
>>   
>>     
>
> **************************************************************************** 
> This email may contain confidential material. 
> If you were not an intended recipient, 
> Please notify the sender and delete all copies. 
> We may monitor email to and from our network. 
> ****************************************************************************
>
>   


RE: FacesMessage Serverity

Posted by "Garner, Shawn" <sh...@vangent.com>.
The problem comes in the fact that there are defined constants in
FacesMessage.

Redeclare the constants that are declared in FacesMessage.
If these weren't final then you could re-declare them and initialize the
map and list values including my new Serverity:

public static final FacesMessage.Severity SEVERITY_INFO = new
Severity("Info", 1);
    public static final FacesMessage.Severity SEVERITY_WARN = new
Severity("Warn", 2);
    public static final FacesMessage.Severity SEVERITY_ERROR = new
Severity("Error", 3);
    public static final FacesMessage.Severity SEVERITY_FATAL = new
Severity("Fatal", 4);
    public static final List VALUES;
    public static final Map VALUES_MAP;
    static
    {
        Map map = new HashMap(7);
        map.put(SEVERITY_INFO.toString(), SEVERITY_INFO);
        map.put(SEVERITY_WARN.toString(), SEVERITY_WARN);
        map.put(SEVERITY_ERROR.toString(), SEVERITY_ERROR);
        map.put(SEVERITY_FATAL.toString(), SEVERITY_FATAL);
        VALUES = Collections.unmodifiableList(new
ArrayList(map.values()));
        VALUES_MAP = Collections.unmodifiableMap(map);
    }


Then you could still do this in the Trinidad:
FacesMessage.SEVERITY_INFO.equals(msg.getSeverity()).



Shawn

-----Original Message-----
From: Scott O'Bryan [mailto:darkarena@gmail.com] 
Sent: Wednesday, May 09, 2007 2:01 PM
To: MyFaces Discussion
Subject: Re: FacesMessage Serverity

The problem comes in the fact that there are defined constants in 
FacesMessage.  Consider this:

A renderkit looks to see if the Faces Severity is 
FacesMessage.SEVERITY_INFO.  If you changed the ordinal value in 
CustomFacesMessage, your CustomFacesMessage's SEVERITY_INFO will not be 
the same as the FacesMessage where the constant is defined.

It's fine is everything uses your own CustomFacesMessage class to 
determine your severity level.  But generally a renderkit is going to 
assume that you're NOT overriding this.  So in short, you could create a

CustomFacesMessage if your application handles the displaying of 
messages from end to end.  But if you are relying on renderkits like 
Trinidad, they will be generally confused.

Scott

Garner, Shawn wrote:
> I used the warn level since I'm already using the error and info
level.
>
> I just don't like using warn instead of my own custom one.
>
> I saw the ordinal and ordering in the source code.  
> I don't see any reason why you couldn't override the order or create a
> new severity.
> I could make them display in any order I wanted by reordering the
> ordinals and shouldn't affect the renderkit.
> The renderkit would always render them according to ordinal.
>
>
>
> Shawn 
>
> -----Original Message-----
> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
> Sent: Wednesday, May 09, 2007 10:44 AM
> To: MyFaces Discussion
> Subject: Re: FacesMessage Serverity
>
> Shawn,
>
> Oracle did something similar.  Our solution was that we created a
custom
>
> FacesMessage which also took an enumeration of our allowed severity 
> types.  These severity types could be mapped to the standard JSF 
> severity types (Confirmation was mapped to Severity.INFO for instance)

> if a renderkit or something needed it in order to display the message.

> We then added get and set methods for the message type.
>
> Unfortunately JSF gives the illusion of being able to change the 
> severities easily, but the "ordinal" system that's in place in JSF
does 
> not lend itself to this.  Plus, many renderkits (like trinidad) use
the 
> Severity in order to render messages on their components, so changing 
> them will break these renderkits.
>
> Scott
>
> Simon Kitching wrote:
>   
>> Garner, Shawn wrote:
>>     
>>> I need to create a custom message severity.
>>>
>>> I wanted to create a confirmation message severity but Severity has
a
>>>       
>
>   
>>> private constructor?
>>>
>>> Shouldn't this be public so you can add your own?
>>>       
>> I guess the API doesn't intend people to create custom severities.
>>
>> The official javadocs are part of the JSF specification, and this
page
>>     
>
>   
>> doesn't indicate any public or protected constructor so MyFaces is 
>> probably *required* not to provide one in order to be "JSF
compliant":
>>
>>
>>     
>
http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/a
> pplication/FacesMessage.Severity.html 
>   
>> Regards,
>>
>> Simon
>>
>>     
>
>
************************************************************************
**** 
> This email may contain confidential material. 
> If you were not an intended recipient, 
> Please notify the sender and delete all copies. 
> We may monitor email to and from our network. 
>
************************************************************************
****
>
>   

**************************************************************************** 
This email may contain confidential material. 
If you were not an intended recipient, 
Please notify the sender and delete all copies. 
We may monitor email to and from our network. 
****************************************************************************

Re: FacesMessage Serverity

Posted by Scott O'Bryan <da...@gmail.com>.
The problem comes in the fact that there are defined constants in 
FacesMessage.  Consider this:

A renderkit looks to see if the Faces Severity is 
FacesMessage.SEVERITY_INFO.  If you changed the ordinal value in 
CustomFacesMessage, your CustomFacesMessage's SEVERITY_INFO will not be 
the same as the FacesMessage where the constant is defined.

It's fine is everything uses your own CustomFacesMessage class to 
determine your severity level.  But generally a renderkit is going to 
assume that you're NOT overriding this.  So in short, you could create a 
CustomFacesMessage if your application handles the displaying of 
messages from end to end.  But if you are relying on renderkits like 
Trinidad, they will be generally confused.

Scott

Garner, Shawn wrote:
> I used the warn level since I'm already using the error and info level.
>
> I just don't like using warn instead of my own custom one.
>
> I saw the ordinal and ordering in the source code.  
> I don't see any reason why you couldn't override the order or create a
> new severity.
> I could make them display in any order I wanted by reordering the
> ordinals and shouldn't affect the renderkit.
> The renderkit would always render them according to ordinal.
>
>
>
> Shawn 
>
> -----Original Message-----
> From: Scott O'Bryan [mailto:darkarena@gmail.com] 
> Sent: Wednesday, May 09, 2007 10:44 AM
> To: MyFaces Discussion
> Subject: Re: FacesMessage Serverity
>
> Shawn,
>
> Oracle did something similar.  Our solution was that we created a custom
>
> FacesMessage which also took an enumeration of our allowed severity 
> types.  These severity types could be mapped to the standard JSF 
> severity types (Confirmation was mapped to Severity.INFO for instance) 
> if a renderkit or something needed it in order to display the message.  
> We then added get and set methods for the message type.
>
> Unfortunately JSF gives the illusion of being able to change the 
> severities easily, but the "ordinal" system that's in place in JSF does 
> not lend itself to this.  Plus, many renderkits (like trinidad) use the 
> Severity in order to render messages on their components, so changing 
> them will break these renderkits.
>
> Scott
>
> Simon Kitching wrote:
>   
>> Garner, Shawn wrote:
>>     
>>> I need to create a custom message severity.
>>>
>>> I wanted to create a confirmation message severity but Severity has a
>>>       
>
>   
>>> private constructor?
>>>
>>> Shouldn't this be public so you can add your own?
>>>       
>> I guess the API doesn't intend people to create custom severities.
>>
>> The official javadocs are part of the JSF specification, and this page
>>     
>
>   
>> doesn't indicate any public or protected constructor so MyFaces is 
>> probably *required* not to provide one in order to be "JSF compliant":
>>
>>
>>     
> http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/a
> pplication/FacesMessage.Severity.html 
>   
>> Regards,
>>
>> Simon
>>
>>     
>
> **************************************************************************** 
> This email may contain confidential material. 
> If you were not an intended recipient, 
> Please notify the sender and delete all copies. 
> We may monitor email to and from our network. 
> ****************************************************************************
>
>   


RE: FacesMessage Serverity

Posted by "Garner, Shawn" <sh...@vangent.com>.
I used the warn level since I'm already using the error and info level.

I just don't like using warn instead of my own custom one.

I saw the ordinal and ordering in the source code.  
I don't see any reason why you couldn't override the order or create a
new severity.
I could make them display in any order I wanted by reordering the
ordinals and shouldn't affect the renderkit.
The renderkit would always render them according to ordinal.



Shawn 

-----Original Message-----
From: Scott O'Bryan [mailto:darkarena@gmail.com] 
Sent: Wednesday, May 09, 2007 10:44 AM
To: MyFaces Discussion
Subject: Re: FacesMessage Serverity

Shawn,

Oracle did something similar.  Our solution was that we created a custom

FacesMessage which also took an enumeration of our allowed severity 
types.  These severity types could be mapped to the standard JSF 
severity types (Confirmation was mapped to Severity.INFO for instance) 
if a renderkit or something needed it in order to display the message.  
We then added get and set methods for the message type.

Unfortunately JSF gives the illusion of being able to change the 
severities easily, but the "ordinal" system that's in place in JSF does 
not lend itself to this.  Plus, many renderkits (like trinidad) use the 
Severity in order to render messages on their components, so changing 
them will break these renderkits.

Scott

Simon Kitching wrote:
> Garner, Shawn wrote:
>> I need to create a custom message severity.
>>
>> I wanted to create a confirmation message severity but Severity has a

>> private constructor?
>>
>> Shouldn't this be public so you can add your own?
>
> I guess the API doesn't intend people to create custom severities.
>
> The official javadocs are part of the JSF specification, and this page

> doesn't indicate any public or protected constructor so MyFaces is 
> probably *required* not to provide one in order to be "JSF compliant":
>
>
http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/a
pplication/FacesMessage.Severity.html 
>
>
> Regards,
>
> Simon
>

**************************************************************************** 
This email may contain confidential material. 
If you were not an intended recipient, 
Please notify the sender and delete all copies. 
We may monitor email to and from our network. 
****************************************************************************

Re: FacesMessage Serverity

Posted by Scott O'Bryan <da...@gmail.com>.
Shawn,

Oracle did something similar.  Our solution was that we created a custom 
FacesMessage which also took an enumeration of our allowed severity 
types.  These severity types could be mapped to the standard JSF 
severity types (Confirmation was mapped to Severity.INFO for instance) 
if a renderkit or something needed it in order to display the message.  
We then added get and set methods for the message type.

Unfortunately JSF gives the illusion of being able to change the 
severities easily, but the "ordinal" system that's in place in JSF does 
not lend itself to this.  Plus, many renderkits (like trinidad) use the 
Severity in order to render messages on their components, so changing 
them will break these renderkits.

Scott

Simon Kitching wrote:
> Garner, Shawn wrote:
>> I need to create a custom message severity.
>>
>> I wanted to create a confirmation message severity but Severity has a 
>> private constructor?
>>
>> Shouldn’t this be public so you can add your own?
>
> I guess the API doesn't intend people to create custom severities.
>
> The official javadocs are part of the JSF specification, and this page 
> doesn't indicate any public or protected constructor so MyFaces is 
> probably *required* not to provide one in order to be "JSF compliant":
>
> http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/application/FacesMessage.Severity.html 
>
>
> Regards,
>
> Simon
>


Re: FacesMessage Serverity

Posted by Simon Kitching <si...@rhe.co.nz>.
Garner, Shawn wrote:
> I need to create a custom message severity.
> 
> I wanted to create a confirmation message severity but Severity has a 
> private constructor?
> 
> Shouldn’t this be public so you can add your own?

I guess the API doesn't intend people to create custom severities.

The official javadocs are part of the JSF specification, and this page 
doesn't indicate any public or protected constructor so MyFaces is 
probably *required* not to provide one in order to be "JSF compliant":

http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/application/FacesMessage.Severity.html

Regards,

Simon