diff options
author | Michael Lando <ml636r@att.com> | 2017-07-12 00:54:52 +0300 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2017-07-12 01:55:12 +0300 |
commit | dd60339b06d252fcb1382aa97ab3d65b37dad021 (patch) | |
tree | c1551ce67cd77ca810ad5f579eb3617af86be85f /openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main | |
parent | ab146a193c43e9be0e9efeac7bab2690a7ba2d33 (diff) |
[sdc] rebase update
Change-Id: I8f1fc7150975122dd9f3f4e653b9983064b399a6
Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main')
3 files changed, 32 insertions, 7 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java index 227683603d..7401ac5f2c 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java @@ -455,6 +455,16 @@ public class TranslationContext { .isNestedServiceTemplateWasHandled(nestedServiceTemplateFileName); } + public Set<String> getAllRelatedNestedNodeTypeIds(){ + String globalName = "GlobalSubstitutionTypes"; + if(Objects.isNull(this.unifiedSubstitutionData) || + Objects.isNull(this.unifiedSubstitutionData.get(globalName))){ + return new HashSet<>(); + } + + return this.unifiedSubstitutionData.get(globalName).getAllRelatedNestedNodeTypeIds(); + } + public void addNestedFileToUsedNestedComputeType(String serviceTemplateName, String nestedServiceTemplateFileName, String computeType){ diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java index ae3d888736..c7fb7bb75a 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java @@ -1,5 +1,6 @@ package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition; +import org.apache.commons.collections4.MapUtils; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import java.util.Collection; @@ -106,6 +107,13 @@ public class UnifiedSubstitutionData { : Optional.of(this.nestedNodeTypeRelatedUnifiedTranslatedId.get(nestedNodeTypeId)); } + public Set<String> getAllRelatedNestedNodeTypeIds(){ + if(MapUtils.isEmpty(nestedNodeTypeRelatedUnifiedTranslatedId)){ + return new HashSet<>(); + } + return new HashSet<>(this.nestedNodeTypeRelatedUnifiedTranslatedId.values()); + } + public void addHandledComputeType(String nestedServiceTemplateFileName, String handledComputeType) { @@ -147,7 +155,9 @@ public class UnifiedSubstitutionData { public void addNewPropertyIdToNodeTemplate(String newPropertyId, Object origPropertyValue){ - newParameterIdsToPropertiesFromOrigNodeTemplate.putIfAbsent(newPropertyId, origPropertyValue); + if(!newParameterIdsToPropertiesFromOrigNodeTemplate.containsKey(newPropertyId)) { + newParameterIdsToPropertiesFromOrigNodeTemplate.put(newPropertyId, origPropertyValue); + } } public Optional<Object> getNewPropertyInputParam(String newPropertyId){ diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java index d5a87ad668..185316dad7 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java @@ -2642,12 +2642,17 @@ public class UnifiedCompositionService { String newNestedNodeTypeId, ServiceTemplate globalSubstitutionServiceTemplate, TranslationContext context) { - Map<String, NodeType> nodeTypes = globalSubstitutionServiceTemplate.getNode_types(); - NodeType nested = DataModelUtil.getNodeType(globalSubstitutionServiceTemplate, - origNestedNodeTypeId); - setNewValuesForNestedNodeType(origNestedNodeTypeId, newNestedNodeTypeId, nested, nodeTypes); - context.addUnifiedNestedNodeTypeId(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME, - origNestedNodeTypeId, newNestedNodeTypeId); + Set<String> relatedNestedNodeTypeIds = + context.getAllRelatedNestedNodeTypeIds(); + + if(!relatedNestedNodeTypeIds.contains(origNestedNodeTypeId)) { + Map<String, NodeType> nodeTypes = globalSubstitutionServiceTemplate.getNode_types(); + NodeType nested = DataModelUtil.getNodeType(globalSubstitutionServiceTemplate, + origNestedNodeTypeId); + setNewValuesForNestedNodeType(origNestedNodeTypeId, newNestedNodeTypeId, nested, nodeTypes); + context.addUnifiedNestedNodeTypeId(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME, + origNestedNodeTypeId, newNestedNodeTypeId); + } } private void setNewValuesForNestedNodeType(String origNestedNodeType, |