diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/openecomp/sdc/toscaparser/api/functions/GetInput.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/org/openecomp/sdc/toscaparser/api/functions/GetInput.java b/src/main/java/org/openecomp/sdc/toscaparser/api/functions/GetInput.java index 14b0d4e..0c96b0f 100644 --- a/src/main/java/org/openecomp/sdc/toscaparser/api/functions/GetInput.java +++ b/src/main/java/org/openecomp/sdc/toscaparser/api/functions/GetInput.java @@ -73,9 +73,14 @@ public class GetInput extends Function { } } if(inputDef != null) { - if (args.size() == 2 && args.get(1) instanceof Integer) { - if (inputDef.getDefault() != null && inputDef.getDefault() instanceof ArrayList) { + if (args.size() == 2 && inputDef.getDefault() != null && inputDef.getDefault() instanceof ArrayList){ + if ( args.get(1) instanceof Integer + && ((ArrayList) inputDef.getDefault()).size()> ((Integer)args.get(1)).intValue()) { return ((ArrayList) inputDef.getDefault()).get(((Integer)args.get(1)).intValue()); + }else{ + ThreadLocalsHolder.getCollector().appendValidationIssue(new JToscaValidationIssue("JE274",(String.format( + "GetInputError: cannot resolve input Def 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 inputDef.getDefault(); |