[SDC-402] TDP 335705
authorPavel Aharoni <pa0916@att.com>
Tue, 26 Sep 2017 15:51:38 +0000 (18:51 +0300)
committerPavel Aharoni <pa0916@att.com>
Tue, 26 Sep 2017 15:51:38 +0000 (18:51 +0300)
Change-Id: Idfba2f7ebc3a7e3319cdfc52014081f7d845b85d
Signed-off-by: Pavel Aharoni <pa0916@att.com>
src/main/java/org/openecomp/sdc/toscaparser/api/elements/InterfacesDef.java
src/main/java/org/openecomp/sdc/toscaparser/api/elements/NodeType.java
src/main/java/org/openecomp/sdc/toscaparser/api/functions/GetInput.java

index c13fd96..357ee23 100644 (file)
@@ -1,14 +1,13 @@
 package org.openecomp.sdc.toscaparser.api.elements;
 
+import org.openecomp.sdc.toscaparser.api.EntityTemplate;
 import org.openecomp.sdc.toscaparser.api.common.JToscaValidationIssue;
+import org.openecomp.sdc.toscaparser.api.utils.ThreadLocalsHolder;
 
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import org.openecomp.sdc.toscaparser.api.EntityTemplate;
-import org.openecomp.sdc.toscaparser.api.utils.ThreadLocalsHolder;
-
 public class InterfacesDef extends StatefulEntityType {
 
        public static final String LIFECYCLE = "tosca.interfaces.node.lifecycle.Standard";
index 157e016..cb4aa74 100644 (file)
@@ -1,13 +1,12 @@
 package org.openecomp.sdc.toscaparser.api.elements;
 
 import org.openecomp.sdc.toscaparser.api.common.JToscaValidationIssue;
+import org.openecomp.sdc.toscaparser.api.utils.ThreadLocalsHolder;
 
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import org.openecomp.sdc.toscaparser.api.utils.ThreadLocalsHolder;
-
 public class NodeType extends StatefulEntityType {
        // TOSCA built-in node type
        
index 67cecd7..14b0d4e 100644 (file)
@@ -1,14 +1,14 @@
 package org.openecomp.sdc.toscaparser.api.functions;
 
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-
 import org.openecomp.sdc.toscaparser.api.DataEntity;
 import org.openecomp.sdc.toscaparser.api.TopologyTemplate;
 import org.openecomp.sdc.toscaparser.api.common.JToscaValidationIssue;
 import org.openecomp.sdc.toscaparser.api.parameters.Input;
 import org.openecomp.sdc.toscaparser.api.utils.ThreadLocalsHolder;
 
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+
 public class GetInput extends Function {
        
        public GetInput(TopologyTemplate toscaTpl,Object context,String name,ArrayList<Object> _args) {
@@ -51,11 +51,17 @@ public class GetInput extends Function {
 
                        Object value = DataEntity.validateDatatype(
                                        type, toscaTpl.getParsedParams().get(getInputName()),null,null,null);
-
-                       if (value instanceof ArrayList && args.size() == 2 && args.get(1) instanceof Integer) {
-                               return ((ArrayList) value).get((Integer)args.get(1));
+               //SDC resolving Get Input
+                       if (value instanceof ArrayList){
+                               if(args.size() == 2 && args.get(1) instanceof Integer && ((ArrayList) value).size()> (Integer)args.get(1)){
+                                       return ((ArrayList) value).get((Integer) args.get(1));
+                               }
+                               else{
+                                       ThreadLocalsHolder.getCollector().appendValidationIssue(new JToscaValidationIssue("JE273",String.format(
+                                                       "GetInputError: cannot resolve input name \"%s\", the expected structure is an argument with a name of input type list and a second argument with an index in the list", args.get(0))));
+                                       return null;
+                               }
                        }
-
                        return value;
                }