case ToscaFunctionConstants.GET_INPUT: String inputName = evaluatedFunction.getParameters().get(0); return evaluatorContext.getInputs().get(inputName); case ToscaFunctionConstants.GET_PROPERTY:
if (template instanceof NodeTemplate) { return doGetProperty(evaluatorContext, TopologyNavigationUtil.getImmediateHostTemplate(evaluatorContext.getTopology(), (NodeTemplate) template), function); } else { throw new IllegalArgumentException("HOST keyname cannot be used if not in a node template context (or capability/requirement)."); Set<NodeTemplate> targetNodes = TopologyNavigationUtil.getTargetNodes(evaluatorContext.getTopology(), (NodeTemplate) template, function.getCapabilityOrRequirementName()); if (targetNodes != null && targetNodes.size() == 1) { NodeTemplate firstNode = targetNodes.iterator().next(); return doGetProperty(evaluatorContext, evaluatorContext.getTopology().getNodeTemplates().get(function.getTemplateName()), function);
FunctionEvaluatorContext evaluatorContext = new FunctionEvaluatorContext(topology, inputValues);
TopologyNavigationUtil.getImmediateHostTemplate(evaluatorContext.getTopology(), (NodeTemplate) targetTemplate), function); if (propertyValue == null && targetTemplate instanceof NodeTemplate) { propertyValue = doGetProperty(evaluatorContext, TopologyNavigationUtil.getImmediateHostTemplate(evaluatorContext.getTopology(), (NodeTemplate) targetTemplate), function);