diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/openecomp/sdc/toscaparser/api/functions/Function.java | 15 | ||||
-rw-r--r-- | src/main/java/org/openecomp/sdc/toscaparser/api/functions/GetInput.java | 22 |
2 files changed, 26 insertions, 11 deletions
diff --git a/src/main/java/org/openecomp/sdc/toscaparser/api/functions/Function.java b/src/main/java/org/openecomp/sdc/toscaparser/api/functions/Function.java index 102fbc0..5e5f31f 100644 --- a/src/main/java/org/openecomp/sdc/toscaparser/api/functions/Function.java +++ b/src/main/java/org/openecomp/sdc/toscaparser/api/functions/Function.java @@ -113,24 +113,29 @@ public abstract class Function { } else if(funcType.equals("GetAttribute")) { return new GetAttribute(ttpl,context,funcName,funcArgs); - } + } else if(funcType.equals("GetProperty")) { return new GetProperty(ttpl,context,funcName,funcArgs); - } + } else if(funcType.equals("GetOperationOutput")) { return new GetOperationOutput(ttpl,context,funcName,funcArgs); - } + } else if(funcType.equals("Concat")) { return new Concat(ttpl,context,funcName,funcArgs); - } + } else if(funcType.equals("Token")) { return new Token(ttpl,context,funcName,funcArgs); - } + } } } } return rawFunctionObj; } + + @Override + public String toString() { + return name + ":" + args.toString(); + } } /*python 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 4332f70..62f2b39 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 @@ -18,12 +18,17 @@ public class GetInput extends Function { @Override void validate() { - if(args.size() != 1) { - //PA - changed to WARNING from CRITICAL after talking to Renana, 22/05/2017 - ThreadLocalsHolder.getCollector().appendWarning(String.format( - "ValueError: Expected one argument for function \"get_input\" but received \"%s\"", - args.toString())); - } +// if(args.size() != 1) { +// //PA - changed to WARNING from CRITICAL after talking to Renana, 22/05/2017 +// ThreadLocalsHolder.getCollector().appendWarning(String.format( +// "ValueError: Expected one argument for function \"get_input\" but received \"%s\"", +// args.toString())); +// } + if(args.size() > 2) { + ThreadLocalsHolder.getCollector().appendWarning(String.format( + "ValueError: Expected max 2 arguments for function \"get_input\" but received \"%s\"", + args.size())); + } boolean bFound = false; for(Input inp: toscaTpl.getInputs()) { if(inp.getName().equals(args.get(0))) { @@ -56,6 +61,11 @@ 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) { + return ((ArrayList) inputDef.getDefault()).get(((Integer)args.get(1)).intValue()); + } + } return inputDef.getDefault(); } return null; |