[ 
https://issues.apache.org/jira/browse/ISIS-3030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andi Huber closed ISIS-3030.
----------------------------
    Resolution: Fixed

That's exactly how the programming model is supposed to work.

> [NOT A BUG] Multiple level drop down List issue
> -----------------------------------------------
>
>                 Key: ISIS-3030
>                 URL: https://issues.apache.org/jira/browse/ISIS-3030
>             Project: Isis
>          Issue Type: Bug
>          Components: Isis Applib (programming model)
>            Reporter: Han Hui Wen 
>            Assignee: Andi Huber
>            Priority: Minor
>             Fix For: 2.0.0-M8
>
>
> Here has a mulitiple level drop down list.   
>  
>  
> {code:java}
>     @Property(editing = Editing.ENABLED)
>     @Getter
>     @Setter
>     private String tc1Name;    
>       @Property(editing = Editing.ENABLED)
>     @Getter
>     @Setter
>     private String tc2Name;    
>       @Property(editing = Editing.ENABLED)
>     @Getter
>     @Setter
>     private String tc3Name;    
>       @Property(editing = Editing.ENABLED)
>     @Getter
>     @Setter
>     private String tc4Name;    
> public List<String> choices0Create() {
>         List<Tc1Object> list = tc1ObjectRepo.findAll();
>         List<String> nameList = list.stream().map(i -> 
> i.getTechCapabL1Name()).
>             distinct().collect(Collectors.toList());
>         return nameList;
> }    
> public String default0Create() {
>         return getTc1Name();
> }    
> public List<String> choices1Create(String tc1Name) {
>         System.out.println("tc1Name: " + tc1Name);
>         Tc1Object tc1 = tc1ObjectRepo.findByTechCapabL1Name(tc1Name);
>         System.out.println("tc1: " + tc1);
>         List<Tc2Object> list = tc2ObjectRepo.findByTc1Object(tc1);
>         List<String> nameList = list.stream().map(i -> 
> i.getTechCapabL2Name()).
>            distinct().collect(Collectors.toList());
>         return nameList;
> }    
> public String default1Create() {
>         return getTc2Name();
>     }    
> public List<String> choices2Create(String tc2Name) {
>         System.out.println("tc2Name: " + tc2Name);
>         Tc2Object tc2 = tc2ObjectRepo.findByTechCapabL2Name(tc2Name);
>         System.out.println("tc2: " + tc2);
>         List<Tc3Object> list = tc3ObjectRepo.findByTc2Object(tc2);
>         System.out.println("tc list :" + list);
>         List<String> nameList = list.stream().map(i -> 
>            i.getTechCapabL3Name()).distinct().
>            collect(Collectors.toList());
>         return nameList;
> }    
> public String default2Create() {
>         return getTc3Name();
> }    
> public List<String> choices3Create(String tc3Name) {
>         Tc3Object tc3 = tc3ObjectRepo.findByTechCapabL3Name(tc3Name);
>         List<Tc4Object> list = tc4ObjectRepo.findByTc3Object(tc3);
>         List<String> nameList = list.stream().map(i -> 
> i.getTechCapabL4Name()).distinct().
>             collect(Collectors.toList());
>         return nameList;
> }    
> public String default3Create() {
>         return getTc4Name();
> }
>     
> @Action(semantics = SemanticsOf.NON_IDEMPOTENT)   
> @ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)   
> public CtlgObject create(
> final String tc1Name, 
> final String tc2Name, 
> final String tc3Name, 
> final String tc4Name,
>             
> final String baseTechName) 
> {        
>          setTc1Name(tc1Name);        
>          setTc2Name(tc2Name);        
>          setTc3Name(tc3Name);        
>          setTc4Name(tc4Name);        
>          return repositoryService.persist(new CtlgObject(tc1Name, 
> tc2Name, tc3Name, tc4Name, baseTechName));
> } {code}
>  
>  
> -----------------
> in  choices2Create(String tc2Name) function ,  value of tc2Name is equal  
> tc1Name ,it's equal  the first drop dwon list value ,not the second drop down 
> list value .



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to