diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionScalingInstances.java')
1 files changed, 48 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionScalingInstances.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionScalingInstances.java new file mode 100644 index 0000000000..fe287a4014 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionScalingInstances.java @@ -0,0 +1,48 @@ +package org.openecomp.sdc.translator.services.heattotosca.impl.unifiedcomposition; + +import org.apache.commons.collections4.CollectionUtils; +import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate; +import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; +import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData; +import org.openecomp.sdc.translator.services.heattotosca.UnifiedComposition; +import org.openecomp.sdc.translator.services.heattotosca.UnifiedCompositionService; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +public class UnifiedCompositionScalingInstances implements UnifiedComposition { + + private UnifiedCompositionService unifiedCompositionService = new UnifiedCompositionService(); + + @Override + public void createUnifiedComposition(ServiceTemplate serviceTemplate, + ServiceTemplate nestedServiceTemplate, + List<UnifiedCompositionData> unifiedCompositionDataList, + TranslationContext context) { + if (CollectionUtils.isEmpty(unifiedCompositionDataList)) { + return; + } + + Integer index = null; + Optional<ServiceTemplate> substitutionServiceTemplate = + unifiedCompositionService.createUnifiedSubstitutionServiceTemplate(serviceTemplate, + unifiedCompositionDataList, context, index); + + if (!substitutionServiceTemplate.isPresent()) { + return; + } + + String abstractNodeTemplateId = unifiedCompositionService + .createAbstractSubstituteNodeTemplate(serviceTemplate, substitutionServiceTemplate.get(), + unifiedCompositionDataList, context, index); + + unifiedCompositionService + .updateCompositionConnectivity(serviceTemplate, unifiedCompositionDataList, context); + + unifiedCompositionService + .cleanUnifiedCompositionEntities(serviceTemplate, unifiedCompositionDataList, context); + + unifiedCompositionService.cleanNodeTypes(serviceTemplate, unifiedCompositionDataList, context); + } +} |