You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Anil Kommareddi <an...@effone.com> on 2006/12/20 20:00:13 UTC

OT: from-outcome value

Folks,
Has anyone devised or know of a pattern to be able to use a reference to a constant string or property file in the from-outcome tag of a navigation-case instead of 'hardcoding' the actual string there?

My objective here is to maintain a common repository of outcomes either in a class or property file and refer to them from both the action method and the navigation case.

Thanks - Anil.


RE: from-outcome value

Posted by Anil Kommareddi <an...@effone.com>.
Thanks Cristi, will try that approach and report back.

  _____  

From: Grigoras Cristinel [mailto:grig@wdd.ro] 
Sent: Thursday, December 21, 2006 9:29 AM
To: MyFaces Discussion
Subject: Re: from-outcome value


Hi,

A better solution is to use custom navigation handler and the outcome string
will make the name of view.
Like '/somepoz/somefile.jsp'. 
In navigation handler you can check if the outcome string begin with "/" an
set the view.
Is some example in wiki about navigation handler.

Cristi

David Delbecq wrote: 

Hi,



This all looks to me a bit over-engineering and useless round cycling

(defining constants string reference that resolve to constant string

reference...)



Why could this pack of things:

<from-outcome>@OUTCOME.CONTINUE@</from-outcome>

public String someAction(){

   ...

   return outcomeUtils.getOutcoume("OUTCOME.CONTINUE");

}

outcome.properties:

OUTCOME.CONTINUE=continue

finally proceed thru a ant script to convert your file



in any way be better and more maintainable than this:

<from-outcome>OUTCOME.CONTINUE</from-outcome>

public String someAction(){

   return"OUTCOME.CONTINUE";

}



In both cases, you need OUTCOME.CONTINUE to be used inside your action

and inside your navigation-case. Then use it as your action return!



En l'instant précis du 12/21/06 14:52, Anil Kommareddi s'exprimait dans

toute sa noblesse:

  

Thanks Marco, that is exactly what we have been doing.

 

Here is one way that I thought of doing if anyone else is interested:

 

Define the outcomes in a properties file and use an ANT filterset to

use this properties file to replace the outcomes in the

faces-config.xml during the build process. To take your example, the

Outcomes class would contain a method like this:

 

*public* *static* String getOutcome(String id) {

    *return* /getResourceString/(ResourceUtils./TYPE_OUTCOMES/, id);

}

 

The navigation rule would look like this:



<navigation-case>

    <from-outcome>@OUTCOME.CONTINUE@</from-outcome>

    <to-view-id>/somepage.jsp</to-view-id>

</navigation-case>



and the Outcomes properties file will contain:

 

OUTCOME.CONTINUE=continue

 

While this works, if anyone has a more elegant solution, I would love

to see it.

 

Thanks for your response.

- Anil.



------------------------------------------------------------------------

*From:* Beelen, Marco [mailto:marco_beelen@merck.com]

*Sent:* Thursday, December 21, 2006 4:01 AM

*To:* MyFaces Discussion

*Subject:* RE: from-outcome value



Anil,

 

There is no way you can specify the name of an outcome just once and

use a reference to it both in the java-code of your managed-bean and

the navigation-rules in your faces-config.xml. Since your

faces-config.xml doesn't get build or compile, there is no way to

garantee that the values used for outcomes are 'valid' and match the

String you use in the managed-bean.

 

For me it works fine to create a Outcomes-class which contains a set

of static final String for all outcomes I use through out the entire

application. It allows to reference to those outcomes in your

managed-bean and set JavaDoc on the outcome-constants to spefify the

String to use in the faces-config.xml.

 

public class Outcomes {

    /**

     * Outcome use to proceed to the next step in a wizard: "continue".

     */

    public static final String CONTINUE = "continue";

}

 

managed-bean:

 

public String someMethod() {

  return Outcomes.CONTINUE;

}

 

This doesn't prevent you from making mistakes and errors in typing the

value for from-outcome, but does offer you the possibility to re-use

your code better and made changes easier by allowing you to refactor

your code instead of performing 'global' search and replace-action on

your Strings used as outcomes.

 

With kind regards,

  Marco Beelen

 

 

 

 

 

 

 

 

------------------------------------------------------------------------

*From:* Anil Kommareddi [mailto:anil.kommareddi@effone.com]

*Sent:* woensdag 20 december 2006 20:00

*To:* users@myfaces.apache.org

*Subject:* OT: from-outcome value



Folks,

Has anyone devised or know of a pattern to be able to use a reference

to a constant string or property file in the from-outcome tag of a

navigation-case instead of 'hardcoding' the actual string there?



My objective here is to maintain a common repository of outcomes

either in a class or property file and refer to them from both the

action method and the navigation case.



Thanks - Anil.

----------------------------------------------------------------------------
--

Notice:  This e-mail message, together with any attachments, contains

information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,

New Jersey, USA 08889), and/or its affiliates (which may be known

outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD

and in Japan, as Banyu - direct contact information for affiliates is 

available at http://www.merck.com/contact/contacts.html) that may be 

confidential, proprietary copyrighted and/or legally privileged. It is 

intended solely for the use of the individual or entity named on this 

message. If you are not the intended recipient, and have received this 

message in error, please notify us immediately by reply e-mail and then 

delete it from your system.



----------------------------------------------------------------------------
--

    







  



Re: from-outcome value

Posted by Grigoras Cristinel <gr...@wdd.ro>.
Hi,

A better solution is to use custom navigation handler and the outcome 
string will make the name of view.
Like '/somepoz/somefile.jsp'.
In navigation handler you can check if the outcome string begin with "/" 
an set the view.
Is some example in wiki about navigation handler.

Cristi

David Delbecq wrote:
> Hi,
>
> This all looks to me a bit over-engineering and useless round cycling
> (defining constants string reference that resolve to constant string
> reference...)
>
> Why could this pack of things:
> <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
> public String someAction(){
>    ...
>    return outcomeUtils.getOutcoume("OUTCOME.CONTINUE");
> }
> outcome.properties:
> OUTCOME.CONTINUE=continue
> finally proceed thru a ant script to convert your file
>
> in any way be better and more maintainable than this:
> <from-outcome>OUTCOME.CONTINUE</from-outcome>
> public String someAction(){
>    return"OUTCOME.CONTINUE";
> }
>
> In both cases, you need OUTCOME.CONTINUE to be used inside your action
> and inside your navigation-case. Then use it as your action return!
>
> En l'instant précis du 12/21/06 14:52, Anil Kommareddi s'exprimait dans
> toute sa noblesse:
>   
>> Thanks Marco, that is exactly what we have been doing.
>>  
>> Here is one way that I thought of doing if anyone else is interested:
>>  
>> Define the outcomes in a properties file and use an ANT filterset to
>> use this properties file to replace the outcomes in the
>> faces-config.xml during the build process. To take your example, the
>> Outcomes class would contain a method like this:
>>  
>> *public* *static* String getOutcome(String id) {
>>     *return* /getResourceString/(ResourceUtils./TYPE_OUTCOMES/, id);
>> }
>>  
>> The navigation rule would look like this:
>>
>> <navigation-case>
>>     <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
>>     <to-view-id>/somepage.jsp</to-view-id>
>> </navigation-case>
>>
>> and the Outcomes properties file will contain:
>>  
>> OUTCOME.CONTINUE=continue
>>  
>> While this works, if anyone has a more elegant solution, I would love
>> to see it.
>>  
>> Thanks for your response.
>> - Anil.
>>
>> ------------------------------------------------------------------------
>> *From:* Beelen, Marco [mailto:marco_beelen@merck.com]
>> *Sent:* Thursday, December 21, 2006 4:01 AM
>> *To:* MyFaces Discussion
>> *Subject:* RE: from-outcome value
>>
>> Anil,
>>  
>> There is no way you can specify the name of an outcome just once and
>> use a reference to it both in the java-code of your managed-bean and
>> the navigation-rules in your faces-config.xml. Since your
>> faces-config.xml doesn't get build or compile, there is no way to
>> garantee that the values used for outcomes are 'valid' and match the
>> String you use in the managed-bean.
>>  
>> For me it works fine to create a Outcomes-class which contains a set
>> of static final String for all outcomes I use through out the entire
>> application. It allows to reference to those outcomes in your
>> managed-bean and set JavaDoc on the outcome-constants to spefify the
>> String to use in the faces-config.xml.
>>  
>> public class Outcomes {
>>     /**
>>      * Outcome use to proceed to the next step in a wizard: "continue".
>>      */
>>     public static final String CONTINUE = "continue";
>> }
>>  
>> managed-bean:
>>  
>> public String someMethod() {
>>   return Outcomes.CONTINUE;
>> }
>>  
>> This doesn't prevent you from making mistakes and errors in typing the
>> value for from-outcome, but does offer you the possibility to re-use
>> your code better and made changes easier by allowing you to refactor
>> your code instead of performing 'global' search and replace-action on
>> your Strings used as outcomes.
>>  
>> With kind regards,
>>   Marco Beelen
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>> ------------------------------------------------------------------------
>> *From:* Anil Kommareddi [mailto:anil.kommareddi@effone.com]
>> *Sent:* woensdag 20 december 2006 20:00
>> *To:* users@myfaces.apache.org
>> *Subject:* OT: from-outcome value
>>
>> Folks,
>> Has anyone devised or know of a pattern to be able to use a reference
>> to a constant string or property file in the from-outcome tag of a
>> navigation-case instead of 'hardcoding' the actual string there?
>>
>> My objective here is to maintain a common repository of outcomes
>> either in a class or property file and refer to them from both the
>> action method and the navigation case.
>>
>> Thanks - Anil.
>> ------------------------------------------------------------------------------
>> Notice:  This e-mail message, together with any attachments, contains
>> information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
>> New Jersey, USA 08889), and/or its affiliates (which may be known
>> outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD
>> and in Japan, as Banyu - direct contact information for affiliates is 
>> available at http://www.merck.com/contact/contacts.html) that may be 
>> confidential, proprietary copyrighted and/or legally privileged. It is 
>> intended solely for the use of the individual or entity named on this 
>> message. If you are not the intended recipient, and have received this 
>> message in error, please notify us immediately by reply e-mail and then 
>> delete it from your system.
>>
>> ------------------------------------------------------------------------------
>>     
>
>
>
>   


Re: from-outcome value

Posted by Jeff Bischoff <jb...@klkurz.com>.
David Delbecq wrote:
 > example design
 >
 > public class OutcomeConstants {
 >     public static final String OUTCOME_CONTINUE="outcome.continue";
 > }
 > public String someAction(){
 >     ...
 >     return OutcomeConstants.OUTCOME_CONTINUE;
 > }
 >
 > navigation rule:
 >
 > <from-outcome>outcome.continue</from-outcome>
 >

We use a design like this. It's always best when you can force typos to 
cause compilation errors, that way you don't miss it. Then all you have 
to manually check is the mapping from the constants to the xml. Hmm 
you'd think some tool could do that for you...

Regards,

Jeff Bischoff
Kenneth L Kurz & Associates, Inc.

David Delbecq wrote:
> Sorry, but there are 2 places where typos can happen
> the .xml file
> the action method
> 
> in you case, you have moved the string from action to a property file.
> Typos in your case can happen in 3 places
> the .xml (typo in @key@)
> the property file (bad key name)
> the helper class that call an entry in properties file (bad key)
> 
> better suggestion:
> 'outcome.continue' on .xml file
> 'outcome.continue' as a public static final String OUTCOME_CONTINUE in
> helper class
> you only have 2 instances of the string outcome.continue all over your
> code, typos in OUTCOME_CONTINUE variable will generates compilation
> errors, it's easy to maintain, you don't have to go thru an over
> engineered process, and you have one less place where a typo can arise.
> 
> example design
> 
> public class OutcomeConstants {
>     public static final String OUTCOME_CONTINUE="outcome.continue";
> }
> public String someAction(){
>     ...
>     return OutcomeConstants.OUTCOME_CONTINUE;
> }
> 
> navigation rule:
> 
> <from-outcome>outcome.continue</from-outcome>
> 
> En l'instant précis du 12/21/06 15:40, Anil Kommareddi s'exprimait dans
> toute sa noblesse:
>> Hi,
>> I agree this is a bit of overengineering, but when working with developers
>> whose first language is not english, typos or misspellings are a part of the
>> cycle and this is one way to minimize them. We are working on a largish ERP
>> project with over 200 navigation rules and can use whatever help we can get
>> from tooling, automation and frameworks :).
>>
>> As I mentioned earlier, this is not an elegant solution and as you pointed,
>> probably not desirable either as described. I am just soliciting ideas and
>> providing my thoughts for a discussion.
>>
>> -----Original Message-----
>> From: David Delbecq [mailto:delbd@oma.be] 
>> Sent: Thursday, December 21, 2006 9:18 AM
>> To: MyFaces Discussion
>> Subject: Re: from-outcome value
>>
>> Hi,
>>
>> This all looks to me a bit over-engineering and useless round cycling
>> (defining constants string reference that resolve to constant string
>> reference...)
>>
>> Why could this pack of things:
>> <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
>> public String someAction(){
>>    ...
>>    return outcomeUtils.getOutcoume("OUTCOME.CONTINUE");
>> }
>> outcome.properties:
>> OUTCOME.CONTINUE=continue
>> finally proceed thru a ant script to convert your file
>>
>> in any way be better and more maintainable than this:
>> <from-outcome>OUTCOME.CONTINUE</from-outcome>
>> public String someAction(){
>>    return"OUTCOME.CONTINUE";
>> }
>>
>> In both cases, you need OUTCOME.CONTINUE to be used inside your action and
>> inside your navigation-case. Then use it as your action return!
>>
>> En l'instant précis du 12/21/06 14:52, Anil Kommareddi s'exprimait dans
>> toute sa noblesse:
>>   
>>> Thanks Marco, that is exactly what we have been doing.
>>>  
>>> Here is one way that I thought of doing if anyone else is interested:
>>>  
>>> Define the outcomes in a properties file and use an ANT filterset to 
>>> use this properties file to replace the outcomes in the 
>>> faces-config.xml during the build process. To take your example, the 
>>> Outcomes class would contain a method like this:
>>>  
>>> *public* *static* String getOutcome(String id) {
>>>     *return* /getResourceString/(ResourceUtils./TYPE_OUTCOMES/, id); }
>>>  
>>> The navigation rule would look like this:
>>>
>>> <navigation-case>
>>>     <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
>>>     <to-view-id>/somepage.jsp</to-view-id>
>>> </navigation-case>
>>>
>>> and the Outcomes properties file will contain:
>>>  
>>> OUTCOME.CONTINUE=continue
>>>  
>>> While this works, if anyone has a more elegant solution, I would love 
>>> to see it.
>>>  
>>> Thanks for your response.
>>> - Anil.
>>>
>>> ----------------------------------------------------------------------
>>> --
>>> *From:* Beelen, Marco [mailto:marco_beelen@merck.com]
>>> *Sent:* Thursday, December 21, 2006 4:01 AM
>>> *To:* MyFaces Discussion
>>> *Subject:* RE: from-outcome value
>>>
>>> Anil,
>>>  
>>> There is no way you can specify the name of an outcome just once and 
>>> use a reference to it both in the java-code of your managed-bean and 
>>> the navigation-rules in your faces-config.xml. Since your 
>>> faces-config.xml doesn't get build or compile, there is no way to 
>>> garantee that the values used for outcomes are 'valid' and match the 
>>> String you use in the managed-bean.
>>>  
>>> For me it works fine to create a Outcomes-class which contains a set 
>>> of static final String for all outcomes I use through out the entire 
>>> application. It allows to reference to those outcomes in your 
>>> managed-bean and set JavaDoc on the outcome-constants to spefify the 
>>> String to use in the faces-config.xml.
>>>  
>>> public class Outcomes {
>>>     /**
>>>      * Outcome use to proceed to the next step in a wizard: "continue".
>>>      */
>>>     public static final String CONTINUE = "continue"; }
>>>  
>>> managed-bean:
>>>  
>>> public String someMethod() {
>>>   return Outcomes.CONTINUE;
>>> }
>>>  
>>> This doesn't prevent you from making mistakes and errors in typing the 
>>> value for from-outcome, but does offer you the possibility to re-use 
>>> your code better and made changes easier by allowing you to refactor 
>>> your code instead of performing 'global' search and replace-action on 
>>> your Strings used as outcomes.
>>>  
>>> With kind regards,
>>>   Marco Beelen
>>>  
>>>  
>>>  
>>>  
>>>  
>>>  
>>>  
>>>  
>>> ----------------------------------------------------------------------
>>> --
>>> *From:* Anil Kommareddi [mailto:anil.kommareddi@effone.com]
>>> *Sent:* woensdag 20 december 2006 20:00
>>> *To:* users@myfaces.apache.org
>>> *Subject:* OT: from-outcome value
>>>
>>> Folks,
>>> Has anyone devised or know of a pattern to be able to use a reference 
>>> to a constant string or property file in the from-outcome tag of a 
>>> navigation-case instead of 'hardcoding' the actual string there?
>>>
>>> My objective here is to maintain a common repository of outcomes 
>>> either in a class or property file and refer to them from both the 
>>> action method and the navigation case.
>>>
>>> Thanks - Anil.
>>> ----------------------------------------------------------------------
>>> --------
>>> Notice:  This e-mail message, together with any attachments, contains 
>>> information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, 
>>> New Jersey, USA 08889), and/or its affiliates (which may be known 
>>> outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD 
>>> and in Japan, as Banyu - direct contact information for affiliates is 
>>> available at http://www.merck.com/contact/contacts.html) that may be 
>>> confidential, proprietary copyrighted and/or legally privileged. It is 
>>> intended solely for the use of the individual or entity named on this 
>>> message. If you are not the intended recipient, and have received this 
>>> message in error, please notify us immediately by reply e-mail and 
>>> then delete it from your system.
>>>
>>> ----------------------------------------------------------------------
>>> --------
>>>     
>>
>>   
> 
> 
> 
> 



Re: MyFaces and no cache

Posted by Titi Wangsa <bl...@gmail.com>.
AFAIK, writing your own filter solves this.
works for me.

RE: MyFaces and no cache

Posted by Anil Kommareddi <an...@effone.com>.
This works well..

http://turbomanage.wordpress.com/2006/08/08/disable-browser-caching-in-jsf/ 

-----Original Message-----
From: Thierry Templier [mailto:templth@yahoo.fr] 
Sent: Thursday, December 21, 2006 11:00 AM
To: MyFaces Discussion
Subject: MyFaces and no cache

Hello,

Is it possible to configure MyFaces in order to use, for each request, the
no cache HTTP headers (expires, pragma and cache-control)?
Thanks for your answer.
Thierry


Take a look at my blog:
http://jroller.com/page/Templth/
(old: http://templth.blogspot.com/)


	

	
		
___________________________________________________________________________
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son
interface révolutionnaire.
http://fr.mail.yahoo.com



MyFaces and no cache

Posted by Thierry Templier <te...@yahoo.fr>.
Hello,

Is it possible to configure MyFaces in order to use,
for each request, the no cache HTTP headers (expires,
pragma and cache-control)?
Thanks for your answer.
Thierry


Take a look at my blog:
http://jroller.com/page/Templth/
(old: http://templth.blogspot.com/)


	

	
		
___________________________________________________________________________ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
http://fr.mail.yahoo.com

Re: from-outcome value

Posted by David Delbecq <de...@oma.be>.
Sorry, but there are 2 places where typos can happen
the .xml file
the action method

in you case, you have moved the string from action to a property file.
Typos in your case can happen in 3 places
the .xml (typo in @key@)
the property file (bad key name)
the helper class that call an entry in properties file (bad key)

better suggestion:
'outcome.continue' on .xml file
'outcome.continue' as a public static final String OUTCOME_CONTINUE in
helper class
you only have 2 instances of the string outcome.continue all over your
code, typos in OUTCOME_CONTINUE variable will generates compilation
errors, it's easy to maintain, you don't have to go thru an over
engineered process, and you have one less place where a typo can arise.

example design

public class OutcomeConstants {
    public static final String OUTCOME_CONTINUE="outcome.continue";
}
public String someAction(){
    ...
    return OutcomeConstants.OUTCOME_CONTINUE;
}

navigation rule:

<from-outcome>outcome.continue</from-outcome>

En l'instant précis du 12/21/06 15:40, Anil Kommareddi s'exprimait dans
toute sa noblesse:
> Hi,
> I agree this is a bit of overengineering, but when working with developers
> whose first language is not english, typos or misspellings are a part of the
> cycle and this is one way to minimize them. We are working on a largish ERP
> project with over 200 navigation rules and can use whatever help we can get
> from tooling, automation and frameworks :).
>
> As I mentioned earlier, this is not an elegant solution and as you pointed,
> probably not desirable either as described. I am just soliciting ideas and
> providing my thoughts for a discussion.
>
> -----Original Message-----
> From: David Delbecq [mailto:delbd@oma.be] 
> Sent: Thursday, December 21, 2006 9:18 AM
> To: MyFaces Discussion
> Subject: Re: from-outcome value
>
> Hi,
>
> This all looks to me a bit over-engineering and useless round cycling
> (defining constants string reference that resolve to constant string
> reference...)
>
> Why could this pack of things:
> <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
> public String someAction(){
>    ...
>    return outcomeUtils.getOutcoume("OUTCOME.CONTINUE");
> }
> outcome.properties:
> OUTCOME.CONTINUE=continue
> finally proceed thru a ant script to convert your file
>
> in any way be better and more maintainable than this:
> <from-outcome>OUTCOME.CONTINUE</from-outcome>
> public String someAction(){
>    return"OUTCOME.CONTINUE";
> }
>
> In both cases, you need OUTCOME.CONTINUE to be used inside your action and
> inside your navigation-case. Then use it as your action return!
>
> En l'instant précis du 12/21/06 14:52, Anil Kommareddi s'exprimait dans
> toute sa noblesse:
>   
>> Thanks Marco, that is exactly what we have been doing.
>>  
>> Here is one way that I thought of doing if anyone else is interested:
>>  
>> Define the outcomes in a properties file and use an ANT filterset to 
>> use this properties file to replace the outcomes in the 
>> faces-config.xml during the build process. To take your example, the 
>> Outcomes class would contain a method like this:
>>  
>> *public* *static* String getOutcome(String id) {
>>     *return* /getResourceString/(ResourceUtils./TYPE_OUTCOMES/, id); }
>>  
>> The navigation rule would look like this:
>>
>> <navigation-case>
>>     <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
>>     <to-view-id>/somepage.jsp</to-view-id>
>> </navigation-case>
>>
>> and the Outcomes properties file will contain:
>>  
>> OUTCOME.CONTINUE=continue
>>  
>> While this works, if anyone has a more elegant solution, I would love 
>> to see it.
>>  
>> Thanks for your response.
>> - Anil.
>>
>> ----------------------------------------------------------------------
>> --
>> *From:* Beelen, Marco [mailto:marco_beelen@merck.com]
>> *Sent:* Thursday, December 21, 2006 4:01 AM
>> *To:* MyFaces Discussion
>> *Subject:* RE: from-outcome value
>>
>> Anil,
>>  
>> There is no way you can specify the name of an outcome just once and 
>> use a reference to it both in the java-code of your managed-bean and 
>> the navigation-rules in your faces-config.xml. Since your 
>> faces-config.xml doesn't get build or compile, there is no way to 
>> garantee that the values used for outcomes are 'valid' and match the 
>> String you use in the managed-bean.
>>  
>> For me it works fine to create a Outcomes-class which contains a set 
>> of static final String for all outcomes I use through out the entire 
>> application. It allows to reference to those outcomes in your 
>> managed-bean and set JavaDoc on the outcome-constants to spefify the 
>> String to use in the faces-config.xml.
>>  
>> public class Outcomes {
>>     /**
>>      * Outcome use to proceed to the next step in a wizard: "continue".
>>      */
>>     public static final String CONTINUE = "continue"; }
>>  
>> managed-bean:
>>  
>> public String someMethod() {
>>   return Outcomes.CONTINUE;
>> }
>>  
>> This doesn't prevent you from making mistakes and errors in typing the 
>> value for from-outcome, but does offer you the possibility to re-use 
>> your code better and made changes easier by allowing you to refactor 
>> your code instead of performing 'global' search and replace-action on 
>> your Strings used as outcomes.
>>  
>> With kind regards,
>>   Marco Beelen
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>> ----------------------------------------------------------------------
>> --
>> *From:* Anil Kommareddi [mailto:anil.kommareddi@effone.com]
>> *Sent:* woensdag 20 december 2006 20:00
>> *To:* users@myfaces.apache.org
>> *Subject:* OT: from-outcome value
>>
>> Folks,
>> Has anyone devised or know of a pattern to be able to use a reference 
>> to a constant string or property file in the from-outcome tag of a 
>> navigation-case instead of 'hardcoding' the actual string there?
>>
>> My objective here is to maintain a common repository of outcomes 
>> either in a class or property file and refer to them from both the 
>> action method and the navigation case.
>>
>> Thanks - Anil.
>> ----------------------------------------------------------------------
>> --------
>> Notice:  This e-mail message, together with any attachments, contains 
>> information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, 
>> New Jersey, USA 08889), and/or its affiliates (which may be known 
>> outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD 
>> and in Japan, as Banyu - direct contact information for affiliates is 
>> available at http://www.merck.com/contact/contacts.html) that may be 
>> confidential, proprietary copyrighted and/or legally privileged. It is 
>> intended solely for the use of the individual or entity named on this 
>> message. If you are not the intended recipient, and have received this 
>> message in error, please notify us immediately by reply e-mail and 
>> then delete it from your system.
>>
>> ----------------------------------------------------------------------
>> --------
>>     
>
>
>   


RE: from-outcome value

Posted by Anil Kommareddi <an...@effone.com>.
Hi,
I agree this is a bit of overengineering, but when working with developers
whose first language is not english, typos or misspellings are a part of the
cycle and this is one way to minimize them. We are working on a largish ERP
project with over 200 navigation rules and can use whatever help we can get
from tooling, automation and frameworks :).

As I mentioned earlier, this is not an elegant solution and as you pointed,
probably not desirable either as described. I am just soliciting ideas and
providing my thoughts for a discussion.

-----Original Message-----
From: David Delbecq [mailto:delbd@oma.be] 
Sent: Thursday, December 21, 2006 9:18 AM
To: MyFaces Discussion
Subject: Re: from-outcome value

Hi,

This all looks to me a bit over-engineering and useless round cycling
(defining constants string reference that resolve to constant string
reference...)

Why could this pack of things:
<from-outcome>@OUTCOME.CONTINUE@</from-outcome>
public String someAction(){
   ...
   return outcomeUtils.getOutcoume("OUTCOME.CONTINUE");
}
outcome.properties:
OUTCOME.CONTINUE=continue
finally proceed thru a ant script to convert your file

in any way be better and more maintainable than this:
<from-outcome>OUTCOME.CONTINUE</from-outcome>
public String someAction(){
   return"OUTCOME.CONTINUE";
}

In both cases, you need OUTCOME.CONTINUE to be used inside your action and
inside your navigation-case. Then use it as your action return!

En l'instant précis du 12/21/06 14:52, Anil Kommareddi s'exprimait dans
toute sa noblesse:
> Thanks Marco, that is exactly what we have been doing.
>  
> Here is one way that I thought of doing if anyone else is interested:
>  
> Define the outcomes in a properties file and use an ANT filterset to 
> use this properties file to replace the outcomes in the 
> faces-config.xml during the build process. To take your example, the 
> Outcomes class would contain a method like this:
>  
> *public* *static* String getOutcome(String id) {
>     *return* /getResourceString/(ResourceUtils./TYPE_OUTCOMES/, id); }
>  
> The navigation rule would look like this:
>
> <navigation-case>
>     <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
>     <to-view-id>/somepage.jsp</to-view-id>
> </navigation-case>
>
> and the Outcomes properties file will contain:
>  
> OUTCOME.CONTINUE=continue
>  
> While this works, if anyone has a more elegant solution, I would love 
> to see it.
>  
> Thanks for your response.
> - Anil.
>
> ----------------------------------------------------------------------
> --
> *From:* Beelen, Marco [mailto:marco_beelen@merck.com]
> *Sent:* Thursday, December 21, 2006 4:01 AM
> *To:* MyFaces Discussion
> *Subject:* RE: from-outcome value
>
> Anil,
>  
> There is no way you can specify the name of an outcome just once and 
> use a reference to it both in the java-code of your managed-bean and 
> the navigation-rules in your faces-config.xml. Since your 
> faces-config.xml doesn't get build or compile, there is no way to 
> garantee that the values used for outcomes are 'valid' and match the 
> String you use in the managed-bean.
>  
> For me it works fine to create a Outcomes-class which contains a set 
> of static final String for all outcomes I use through out the entire 
> application. It allows to reference to those outcomes in your 
> managed-bean and set JavaDoc on the outcome-constants to spefify the 
> String to use in the faces-config.xml.
>  
> public class Outcomes {
>     /**
>      * Outcome use to proceed to the next step in a wizard: "continue".
>      */
>     public static final String CONTINUE = "continue"; }
>  
> managed-bean:
>  
> public String someMethod() {
>   return Outcomes.CONTINUE;
> }
>  
> This doesn't prevent you from making mistakes and errors in typing the 
> value for from-outcome, but does offer you the possibility to re-use 
> your code better and made changes easier by allowing you to refactor 
> your code instead of performing 'global' search and replace-action on 
> your Strings used as outcomes.
>  
> With kind regards,
>   Marco Beelen
>  
>  
>  
>  
>  
>  
>  
>  
> ----------------------------------------------------------------------
> --
> *From:* Anil Kommareddi [mailto:anil.kommareddi@effone.com]
> *Sent:* woensdag 20 december 2006 20:00
> *To:* users@myfaces.apache.org
> *Subject:* OT: from-outcome value
>
> Folks,
> Has anyone devised or know of a pattern to be able to use a reference 
> to a constant string or property file in the from-outcome tag of a 
> navigation-case instead of 'hardcoding' the actual string there?
>
> My objective here is to maintain a common repository of outcomes 
> either in a class or property file and refer to them from both the 
> action method and the navigation case.
>
> Thanks - Anil.
> ----------------------------------------------------------------------
> --------
> Notice:  This e-mail message, together with any attachments, contains 
> information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, 
> New Jersey, USA 08889), and/or its affiliates (which may be known 
> outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD 
> and in Japan, as Banyu - direct contact information for affiliates is 
> available at http://www.merck.com/contact/contacts.html) that may be 
> confidential, proprietary copyrighted and/or legally privileged. It is 
> intended solely for the use of the individual or entity named on this 
> message. If you are not the intended recipient, and have received this 
> message in error, please notify us immediately by reply e-mail and 
> then delete it from your system.
>
> ----------------------------------------------------------------------
> --------



Re: from-outcome value

Posted by David Delbecq <de...@oma.be>.
Hi,

This all looks to me a bit over-engineering and useless round cycling
(defining constants string reference that resolve to constant string
reference...)

Why could this pack of things:
<from-outcome>@OUTCOME.CONTINUE@</from-outcome>
public String someAction(){
   ...
   return outcomeUtils.getOutcoume("OUTCOME.CONTINUE");
}
outcome.properties:
OUTCOME.CONTINUE=continue
finally proceed thru a ant script to convert your file

in any way be better and more maintainable than this:
<from-outcome>OUTCOME.CONTINUE</from-outcome>
public String someAction(){
   return"OUTCOME.CONTINUE";
}

In both cases, you need OUTCOME.CONTINUE to be used inside your action
and inside your navigation-case. Then use it as your action return!

En l'instant précis du 12/21/06 14:52, Anil Kommareddi s'exprimait dans
toute sa noblesse:
> Thanks Marco, that is exactly what we have been doing.
>  
> Here is one way that I thought of doing if anyone else is interested:
>  
> Define the outcomes in a properties file and use an ANT filterset to
> use this properties file to replace the outcomes in the
> faces-config.xml during the build process. To take your example, the
> Outcomes class would contain a method like this:
>  
> *public* *static* String getOutcome(String id) {
>     *return* /getResourceString/(ResourceUtils./TYPE_OUTCOMES/, id);
> }
>  
> The navigation rule would look like this:
>
> <navigation-case>
>     <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
>     <to-view-id>/somepage.jsp</to-view-id>
> </navigation-case>
>
> and the Outcomes properties file will contain:
>  
> OUTCOME.CONTINUE=continue
>  
> While this works, if anyone has a more elegant solution, I would love
> to see it.
>  
> Thanks for your response.
> - Anil.
>
> ------------------------------------------------------------------------
> *From:* Beelen, Marco [mailto:marco_beelen@merck.com]
> *Sent:* Thursday, December 21, 2006 4:01 AM
> *To:* MyFaces Discussion
> *Subject:* RE: from-outcome value
>
> Anil,
>  
> There is no way you can specify the name of an outcome just once and
> use a reference to it both in the java-code of your managed-bean and
> the navigation-rules in your faces-config.xml. Since your
> faces-config.xml doesn't get build or compile, there is no way to
> garantee that the values used for outcomes are 'valid' and match the
> String you use in the managed-bean.
>  
> For me it works fine to create a Outcomes-class which contains a set
> of static final String for all outcomes I use through out the entire
> application. It allows to reference to those outcomes in your
> managed-bean and set JavaDoc on the outcome-constants to spefify the
> String to use in the faces-config.xml.
>  
> public class Outcomes {
>     /**
>      * Outcome use to proceed to the next step in a wizard: "continue".
>      */
>     public static final String CONTINUE = "continue";
> }
>  
> managed-bean:
>  
> public String someMethod() {
>   return Outcomes.CONTINUE;
> }
>  
> This doesn't prevent you from making mistakes and errors in typing the
> value for from-outcome, but does offer you the possibility to re-use
> your code better and made changes easier by allowing you to refactor
> your code instead of performing 'global' search and replace-action on
> your Strings used as outcomes.
>  
> With kind regards,
>   Marco Beelen
>  
>  
>  
>  
>  
>  
>  
>  
> ------------------------------------------------------------------------
> *From:* Anil Kommareddi [mailto:anil.kommareddi@effone.com]
> *Sent:* woensdag 20 december 2006 20:00
> *To:* users@myfaces.apache.org
> *Subject:* OT: from-outcome value
>
> Folks,
> Has anyone devised or know of a pattern to be able to use a reference
> to a constant string or property file in the from-outcome tag of a
> navigation-case instead of 'hardcoding' the actual string there?
>
> My objective here is to maintain a common repository of outcomes
> either in a class or property file and refer to them from both the
> action method and the navigation case.
>
> Thanks - Anil.
> ------------------------------------------------------------------------------
> Notice:  This e-mail message, together with any attachments, contains
> information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
> New Jersey, USA 08889), and/or its affiliates (which may be known
> outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD
> and in Japan, as Banyu - direct contact information for affiliates is 
> available at http://www.merck.com/contact/contacts.html) that may be 
> confidential, proprietary copyrighted and/or legally privileged. It is 
> intended solely for the use of the individual or entity named on this 
> message. If you are not the intended recipient, and have received this 
> message in error, please notify us immediately by reply e-mail and then 
> delete it from your system.
>
> ------------------------------------------------------------------------------


RE: from-outcome value

Posted by Anil Kommareddi <an...@effone.com>.
Thanks Marco, that is exactly what we have been doing.
 
Here is one way that I thought of doing if anyone else is interested: 
 
Define the outcomes in a properties file and use an ANT filterset to use
this properties file to replace the outcomes in the faces-config.xml during
the build process. To take your example, the Outcomes class would contain a
method like this:
 
public static String getOutcome(String id) {
    return getResourceString(ResourceUtils.TYPE_OUTCOMES, id);
}
 
The navigation rule would look like this:
<navigation-case>
    <from-outcome>@OUTCOME.CONTINUE@</from-outcome>
    <to-view-id>/somepage.jsp</to-view-id>
</navigation-case>

and the Outcomes properties file will contain:
 
OUTCOME.CONTINUE=continue
 
While this works, if anyone has a more elegant solution, I would love to see
it.
 
Thanks for your response.
- Anil.

  _____  

From: Beelen, Marco [mailto:marco_beelen@merck.com] 
Sent: Thursday, December 21, 2006 4:01 AM
To: MyFaces Discussion
Subject: RE: from-outcome value


Anil,
 
There is no way you can specify the name of an outcome just once and use a
reference to it both in the java-code of your managed-bean and the
navigation-rules in your faces-config.xml. Since your faces-config.xml
doesn't get build or compile, there is no way to garantee that the values
used for outcomes are 'valid' and match the String you use in the
managed-bean.
 
For me it works fine to create a Outcomes-class which contains a set of
static final String for all outcomes I use through out the entire
application. It allows to reference to those outcomes in your managed-bean
and set JavaDoc on the outcome-constants to spefify the String to use in the
faces-config.xml.
 
public class Outcomes {
    /**
     * Outcome use to proceed to the next step in a wizard: "continue".
     */
    public static final String CONTINUE = "continue";
}
 
managed-bean:
 
public String someMethod() {
  return Outcomes.CONTINUE;
}
 
This doesn't prevent you from making mistakes and errors in typing the value
for from-outcome, but does offer you the possibility to re-use your code
better and made changes easier by allowing you to refactor your code instead
of performing 'global' search and replace-action on your Strings used as
outcomes.
 
With kind regards,
  Marco Beelen
 
 
 
 
 
 
 
 
  _____  

From: Anil Kommareddi [mailto:anil.kommareddi@effone.com] 
Sent: woensdag 20 december 2006 20:00
To: users@myfaces.apache.org
Subject: OT: from-outcome value


Folks,
Has anyone devised or know of a pattern to be able to use a reference to a
constant string or property file in the from-outcome tag of a
navigation-case instead of 'hardcoding' the actual string there?

My objective here is to maintain a common repository of outcomes either in a
class or property file and refer to them from both the action method and the
navigation case.

Thanks - Anil.



----------------------------------------------------------------------------
--

Notice:  This e-mail message, together with any attachments, contains

information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,

New Jersey, USA 08889), and/or its affiliates (which may be known

outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD

and in Japan, as Banyu - direct contact information for affiliates is 

available at http://www.merck.com/contact/contacts.html) that may be 

confidential, proprietary copyrighted and/or legally privileged. It is 

intended solely for the use of the individual or entity named on this 

message. If you are not the intended recipient, and have received this 

message in error, please notify us immediately by reply e-mail and then 

delete it from your system.



----------------------------------------------------------------------------
--


RE: from-outcome value

Posted by "Beelen, Marco" <ma...@merck.com>.
Anil,
 
There is no way you can specify the name of an outcome just once and use
a reference to it both in the java-code of your managed-bean and the
navigation-rules in your faces-config.xml. Since your faces-config.xml
doesn't get build or compile, there is no way to garantee that the
values used for outcomes are 'valid' and match the String you use in the
managed-bean.
 
For me it works fine to create a Outcomes-class which contains a set of
static final String for all outcomes I use through out the entire
application. It allows to reference to those outcomes in your
managed-bean and set JavaDoc on the outcome-constants to spefify the
String to use in the faces-config.xml.
 
public class Outcomes {
    /**
     * Outcome use to proceed to the next step in a wizard: "continue".
     */
    public static final String CONTINUE = "continue";
}
 
managed-bean:
 
public String someMethod() {
  return Outcomes.CONTINUE;
}
 
This doesn't prevent you from making mistakes and errors in typing the
value for from-outcome, but does offer you the possibility to re-use
your code better and made changes easier by allowing you to refactor
your code instead of performing 'global' search and replace-action on
your Strings used as outcomes.
 
With kind regards,
  Marco Beelen
 
 
 
 
 
 
 
 
________________________________

From: Anil Kommareddi [mailto:anil.kommareddi@effone.com] 
Sent: woensdag 20 december 2006 20:00
To: users@myfaces.apache.org
Subject: OT: from-outcome value


Folks,
Has anyone devised or know of a pattern to be able to use a reference to
a constant string or property file in the from-outcome tag of a
navigation-case instead of 'hardcoding' the actual string there?

My objective here is to maintain a common repository of outcomes either
in a class or property file and refer to them from both the action
method and the navigation case.

Thanks - Anil.


------------------------------------------------------------------------------
Notice:  This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
New Jersey, USA 08889), and/or its affiliates (which may be known
outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD
and in Japan, as Banyu - direct contact information for affiliates is 
available at http://www.merck.com/contact/contacts.html) that may be 
confidential, proprietary copyrighted and/or legally privileged. It is 
intended solely for the use of the individual or entity named on this 
message. If you are not the intended recipient, and have received this 
message in error, please notify us immediately by reply e-mail and then 
delete it from your system.

------------------------------------------------------------------------------