summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionCatalogInstance.java
diff options
context:
space:
mode:
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/UnifiedCompositionCatalogInstance.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionCatalogInstance.java44
1 files changed, 41 insertions, 3 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/UnifiedCompositionCatalogInstance.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionCatalogInstance.java
index 9742a44f52..c1daf1891a 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionCatalogInstance.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionCatalogInstance.java
@@ -11,18 +11,56 @@ import java.util.List;
import java.util.Optional;
public class UnifiedCompositionCatalogInstance implements UnifiedComposition {
+
+ UnifiedCompositionService unifiedCompositionService = new UnifiedCompositionService();
+
+ // There is consolidation in ScalingInstance implemetation.
+ // In case of scaling instance, if there is more than one entry in the
+ // unifiedComposotionDataList, we should have consolidation between them.
+ // (all entries in the list are the once which need to be consolidated)
@Override
public void createUnifiedComposition(ServiceTemplate serviceTemplate,
ServiceTemplate nestedServiceTemplate,
List<UnifiedCompositionData> unifiedComposotionDataList,
TranslationContext context) {
+ UnifiedCompositionService unifiedCompositionService = new UnifiedCompositionService();
+ unifiedCompositionService.handleComplexVfcType(serviceTemplate, context);
+
UnifiedCompositionSingleSubstitution unifiedCompositionSingleSubstitution =
new UnifiedCompositionSingleSubstitution();
- unifiedCompositionSingleSubstitution
- .createUnifiedComposition(serviceTemplate, null, unifiedComposotionDataList, context);
- }
+ String substitutionNodeTypeId =
+ unifiedCompositionService.getSubstitutionNodeTypeId(serviceTemplate,
+ unifiedComposotionDataList.get(0), null, context);
+ // create one substitution ST for all computes
+ Optional<ServiceTemplate> substitutionServiceTemplate =
+ unifiedCompositionService.createUnifiedSubstitutionServiceTemplate(serviceTemplate,
+ unifiedComposotionDataList, context, substitutionNodeTypeId, null);
+
+ if (!substitutionServiceTemplate.isPresent()) {
+ return;
+ }
+
+ // create abstract NT for each compute
+ for(int i = 0; i < unifiedComposotionDataList.size(); i++){
+ List<UnifiedCompositionData> catalogInstanceUnifiedList = new ArrayList<>();
+ catalogInstanceUnifiedList.add(unifiedComposotionDataList.get(i));
+ Integer index = unifiedComposotionDataList.size() > 1 ? i : null;
+
+ unifiedCompositionService
+ .createAbstractSubstituteNodeTemplate(serviceTemplate, substitutionServiceTemplate.get(),
+ catalogInstanceUnifiedList, substitutionNodeTypeId, context, index);
+
+ unifiedCompositionService
+ .updateCompositionConnectivity(serviceTemplate, catalogInstanceUnifiedList, context);
+
+ unifiedCompositionService
+ .cleanUnifiedCompositionEntities(serviceTemplate, catalogInstanceUnifiedList, context);
+ }
+
+ unifiedCompositionService.cleanNodeTypes(serviceTemplate, unifiedComposotionDataList, context);
+ }
}