[SDC] Onboarding 1710 rebase.
[sdc.git] / openecomp-be / lib / openecomp-sdc-translator-lib / openecomp-sdc-translator-core / src / main / java / org / openecomp / sdc / translator / services / heattotosca / impl / unifiedcomposition / UnifiedCompositionNestedSingleCompute.java
1 package org.openecomp.sdc.translator.services.heattotosca.impl.unifiedcomposition;
2
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;
9
10 import java.util.ArrayList;
11 import java.util.List;
12
13 public class UnifiedCompositionNestedSingleCompute implements UnifiedComposition {
14
15   // There is no consolidation in NestedSingleCompute implemetation.
16   // In case of  nested single compute, if there is more than one entry in the
17   // unifiedComposotionDataList, each one should be handed seperatly, no consolidation between
18   // them.
19   @Override
20   public void createUnifiedComposition(ServiceTemplate serviceTemplate,
21                                        ServiceTemplate nestedServiceTemplate,
22                                        List<UnifiedCompositionData> unifiedCompositionDataList,
23                                        TranslationContext context) {
24     UnifiedCompositionService unifiedCompositionService = new UnifiedCompositionService();
25     if (CollectionUtils.isEmpty(unifiedCompositionDataList)) {
26       return;
27     }
28
29     for (int i = 0; i < unifiedCompositionDataList.size(); i++) {
30       List<UnifiedCompositionData> nestedUnifiedCompositionDataList = new ArrayList<>();
31       nestedUnifiedCompositionDataList.add(unifiedCompositionDataList.get(i));
32
33       unifiedCompositionService
34           .handleUnifiedNestedDefinition(serviceTemplate, nestedServiceTemplate,
35               unifiedCompositionDataList.get(i), context);
36       unifiedCompositionService
37           .updateUnifiedNestedConnectivity(serviceTemplate, nestedServiceTemplate,
38               unifiedCompositionDataList.get(i), context);
39       unifiedCompositionService
40           .cleanUnifiedNestedEntities(serviceTemplate, unifiedCompositionDataList.get(i), context);
41     }
42   }
43 }