[ 
https://issues.apache.org/jira/browse/ISIS-478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13745631#comment-13745631
 ] 

ASF subversion and git services commented on ISIS-478:
------------------------------------------------------

Commit 2ab9e661552dc14fc200656e548b3946ff325079 in branch refs/heads/master 
from [~danhaywood]
[ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=2ab9e66 ]

ISIS-478: choices and default methods can now take partial parameter lists

See ToDoItemContributions#updateCost and its supporting methods for example.

                
> Provide conditional choices, defaults and validation between action parameters
> ------------------------------------------------------------------------------
>
>                 Key: ISIS-478
>                 URL: https://issues.apache.org/jira/browse/ISIS-478
>             Project: Isis
>          Issue Type: New Feature
>          Components: Core, Viewer: Wicket
>    Affects Versions: viewer-wicket-1.2.0, core-1.2.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>             Fix For: viewer-wicket-1.3.0, core-1.3.0
>
>
> For example, suppose there is an action to specify an address, where we 
> specify the country, the state and the postcode.  We want the state to have 
> choices and a default dependent on the country, and we want the postcode to 
> be validated according to the rules of that country.
> public Address enterAddress(Country c, State st, @Named("Postcode") String 
> postcode) { ... }
> Any dependent parameter must supply a param-specific validate [this is a new 
> method prefix]:
> public String validate1EnterAddress(Country c, State st, String postcode) {  
> ... }
> public String validate2EnterAddress(Country c, State st, String postcode) {  
> ... }
> The choices and defaults for State also accept all param types preceding:
> public List<State> choices1EnterAddress(Country c) { ... }
> public State default1EnterAddress(Country c) { ... }
> When the user enters a value for the country, this is passed to these 
> methods.  If the user tabs directly to the State param without entering the 
> country, then these would return empty lists/value.
> If the user enters a value for the country, then corresponding entries for 
> the state and postcode, and then tabs back to the country and enters a 
> different value, then the validateNXxx methods are called (for all N > 0, 
> country being param 0).  If the validate methods indicate their current value 
> is invalid, then the values are set to null or to the recomputed default (if 
> a default method is available).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to