From aacee12d3333e6b94f12eda91ee72546b3a0254b Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Tue, 15 Nov 2022 15:40:29 +0100 Subject: [PATCH] Updated ListStringFld behavior --- .../client/parametersfield/ListStringFld.java | 46 +++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) mode change 100644 => 100755 src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/ListStringFld.java diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/ListStringFld.java b/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/ListStringFld.java old mode 100644 new mode 100755 index 7bf982c..1157690 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/ListStringFld.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/ListStringFld.java @@ -37,8 +37,7 @@ public class ListStringFld extends AbstractFld { /** * - * @param parameter - * parameter + * @param parameter parameter */ public ListStringFld(Parameter parameter) { super(parameter); @@ -77,14 +76,45 @@ public class ListStringFld extends AbstractFld { protected void addField(StringItem upperItem) { - ObjectParameter objPar = new ObjectParameter(listParameter.getName(), listParameter.getDescription(), - listParameter.getType(), null); - if (upperItem == null) { - StringItem item = new StringItem(this, objPar, true); - items.add(item); - vp.add(item); + if (listParameter.getDefaultValue() == null || listParameter.getDefaultValue().isEmpty()) { + ObjectParameter objPar = new ObjectParameter(listParameter.getName(), listParameter.getDescription(), + listParameter.getType(), listParameter.getDefaultValue()); + StringItem item = new StringItem(this, objPar, true); + items.add(item); + vp.add(item); + } else { + String tmpDefault=listParameter.getDefaultValue(); + int firstSharp=tmpDefault.indexOf("#"); + if(firstSharp>-1) { + String[] defaultValues=tmpDefault.split("#"); + int pos=0; + for(String dv:defaultValues) { + ObjectParameter objPar = new ObjectParameter(listParameter.getName(), listParameter.getDescription(), + listParameter.getType(), dv); + StringItem item=null; + if(pos==0) { + item = new StringItem(this, objPar, true); + } else { + item = new StringItem(this, objPar, false); + } + items.add(pos,item); + vp.insert(item,pos); + pos+=1; + item.showCancelButton(); + item.forceLayout(); + } + } else { + ObjectParameter objPar = new ObjectParameter(listParameter.getName(), listParameter.getDescription(), + listParameter.getType(), listParameter.getDefaultValue()); + StringItem item = new StringItem(this, objPar, true); + items.add(item); + vp.add(item); + } + } } else { + ObjectParameter objPar = new ObjectParameter(listParameter.getName(), listParameter.getDescription(), + listParameter.getType(), null); // search the position of the upper item int pos = items.indexOf(upperItem); if (pos > -1) {