1 package org.openecomp.sdc.translator.services.heattotosca.impl.unifiedcomposition;
3 import org.apache.commons.collections4.CollectionUtils;
4 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
5 import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
6 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.UnifiedCompositionData;
7 import org.openecomp.sdc.translator.services.heattotosca.UnifiedComposition;
8 import org.openecomp.sdc.translator.services.heattotosca.UnifiedCompositionService;
10 import java.util.List;
11 import java.util.Optional;
13 public class UnifiedCompositionScalingInstances implements UnifiedComposition {
15 private UnifiedCompositionService unifiedCompositionService = new UnifiedCompositionService();
18 public void createUnifiedComposition(ServiceTemplate serviceTemplate,
19 ServiceTemplate nestedServiceTemplate,
20 List<UnifiedCompositionData> unifiedCompositionDataList,
21 TranslationContext context) {
22 if (CollectionUtils.isEmpty(unifiedCompositionDataList)
23 || context.isUnifiedHandledServiceTemplate(serviceTemplate)) {
27 unifiedCompositionService.handleComplexVfcType(serviceTemplate, context);
30 String substitutionNodeTypeId =
31 unifiedCompositionService.getSubstitutionNodeTypeId(serviceTemplate,
32 unifiedCompositionDataList.get(0), null, context);
33 Optional<ServiceTemplate> substitutionServiceTemplate =
34 unifiedCompositionService.createUnifiedSubstitutionServiceTemplate(serviceTemplate,
35 unifiedCompositionDataList, context, substitutionNodeTypeId, index);
37 if (!substitutionServiceTemplate.isPresent()) {
41 String abstractNodeTemplateId = unifiedCompositionService
42 .createAbstractSubstituteNodeTemplate(serviceTemplate, substitutionServiceTemplate.get(),
43 unifiedCompositionDataList, substitutionNodeTypeId, context, index);
45 unifiedCompositionService
46 .updateCompositionConnectivity(serviceTemplate, unifiedCompositionDataList, context);
48 unifiedCompositionService
49 .cleanUnifiedCompositionEntities(serviceTemplate, unifiedCompositionDataList, context);
51 unifiedCompositionService.cleanNodeTypes(serviceTemplate, unifiedCompositionDataList, context);