diff options
author | imamSidero <imam.hussain@est.tech> | 2022-12-05 14:13:39 +0000 |
---|---|---|
committer | Vasyl Razinkov <vasyl.razinkov@est.tech> | 2022-12-19 17:36:36 +0000 |
commit | 7e08a2976d34066412af14fe633eecde3ce19fc7 (patch) | |
tree | 9ae3fa04c966ddcb02686ff78d7660b031b909dc /catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java | |
parent | a64c4b2e9ede88f2448bde3c80a36f3b5770ca57 (diff) |
Provide tosca function to List entries
Providing the capability to add tosca function as the List entries
Issue-ID: SDC-4288
Signed-off-by: Imam hussain <imam.hussain@est.tech>
Change-Id: Ib2e11945f76b7004dbf8807274ee6333b9d9aa05
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java index 9734a0acdb..150007408a 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java @@ -1374,6 +1374,7 @@ public class YamlTemplateParsingHandler { @SuppressWarnings("unchecked") private void fillInputsListRecursively(UploadPropInfo propertyDef, List<Object> propValueList) { + int index = 0; for (Object objValue : propValueList) { if (objValue instanceof Map) { Map<String, Object> objMap = (Map<String, Object>) objValue; @@ -1383,10 +1384,24 @@ public class YamlTemplateParsingHandler { Set<String> keys = objMap.keySet(); findAndFillInputsListRecursively(propertyDef, objMap, keys); } + if (toscaFunctionYamlParsingHandler.isPropertyValueToscaFunction(objValue)) { + Map<String, Object> propValueMap = new HashMap<String, Object>(); + propValueMap.put(String.valueOf(index),objValue); + final Collection<SubPropertyToscaFunction> subPropertyToscaFunctions = buildSubPropertyToscaFunctions(propValueMap, new ArrayList<>()); + if (CollectionUtils.isNotEmpty(subPropertyToscaFunctions)) { + Collection<SubPropertyToscaFunction> existingSubPropertyToscaFunctions = propertyDef.getSubPropertyToscaFunctions(); + if (existingSubPropertyToscaFunctions == null) { + propertyDef.setSubPropertyToscaFunctions(subPropertyToscaFunctions); + } else { + propertyDef.getSubPropertyToscaFunctions().addAll(subPropertyToscaFunctions); + } + } + } } else if (objValue instanceof List) { List<Object> propSubValueList = (List<Object>) objValue; fillInputsListRecursively(propertyDef, propSubValueList); } + index++; } } |