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
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')
-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.java28
-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/UnifiedCompositionNestedSingleCompute.java38
-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/UnifiedCompositionScalingInstances.java48
-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/UnifiedCompositionSingleSubstitution.java65
4 files changed, 179 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/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
new file mode 100644
index 0000000000..9742a44f52
--- /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/UnifiedCompositionCatalogInstance.java
@@ -0,0 +1,28 @@
+package org.openecomp.sdc.translator.services.heattotosca.impl.unifiedcomposition;
+
+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 UnifiedCompositionCatalogInstance implements UnifiedComposition {
+ @Override
+ public void createUnifiedComposition(ServiceTemplate serviceTemplate,
+ ServiceTemplate nestedServiceTemplate,
+ List<UnifiedCompositionData> unifiedComposotionDataList,
+ TranslationContext context) {
+
+ UnifiedCompositionSingleSubstitution unifiedCompositionSingleSubstitution =
+ new UnifiedCompositionSingleSubstitution();
+
+ unifiedCompositionSingleSubstitution
+ .createUnifiedComposition(serviceTemplate, null, unifiedComposotionDataList, context);
+ }
+
+
+}
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/UnifiedCompositionNestedSingleCompute.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionNestedSingleCompute.java
new file mode 100644
index 0000000000..03d7eb02df
--- /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/UnifiedCompositionNestedSingleCompute.java
@@ -0,0 +1,38 @@
+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;
+
+public class UnifiedCompositionNestedSingleCompute implements UnifiedComposition {
+ @Override
+ public void createUnifiedComposition(ServiceTemplate serviceTemplate,
+ ServiceTemplate nestedServiceTemplate,
+ List<UnifiedCompositionData> unifiedCompositionDataList,
+ TranslationContext context) {
+ UnifiedCompositionService unifiedCompositionService = new UnifiedCompositionService();
+ if (CollectionUtils.isEmpty(unifiedCompositionDataList)) {
+ return;
+ }
+
+ for (int i = 0; i < unifiedCompositionDataList.size(); i++) {
+ List<UnifiedCompositionData> nestedUnifiedCompositionDataList = new ArrayList<>();
+ nestedUnifiedCompositionDataList.add(unifiedCompositionDataList.get(i));
+
+ unifiedCompositionService
+ .handleUnifiedNestedDefinition(serviceTemplate, nestedServiceTemplate,
+ unifiedCompositionDataList, context);
+ unifiedCompositionService
+ .updateUnifiedNestedConnectivity(serviceTemplate, nestedServiceTemplate,
+ nestedUnifiedCompositionDataList, context);
+ unifiedCompositionService
+ .cleanUnifiedNestedEntities(serviceTemplate, nestedUnifiedCompositionDataList, context);
+ }
+ }
+}
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);
+ }
+}
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/UnifiedCompositionSingleSubstitution.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/unifiedcomposition/UnifiedCompositionSingleSubstitution.java
new file mode 100644
index 0000000000..c3965a5f52
--- /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/UnifiedCompositionSingleSubstitution.java
@@ -0,0 +1,65 @@
+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;
+
+
+/**
+ * The type Unified composition single substitution.
+ */
+public class UnifiedCompositionSingleSubstitution implements UnifiedComposition {
+
+ // There is no consolidation in SingleSubstitution implemetation.
+ // In case of single substitution, if there is more than one entry in the
+ // unifiedComposotionDataList, they all should contain the same compute type but the
+ // consolidation between them was canceled.
+ // For different compute type, this implementation will be called more than once, each time
+ // per diff compute type, while sending one entry in the unifiedComposotionDataList.
+ @Override
+ public void createUnifiedComposition(ServiceTemplate serviceTemplate,
+ ServiceTemplate nestedServiceTemplate,
+ List<UnifiedCompositionData> unifiedCompositionDataList,
+ TranslationContext context) {
+ UnifiedCompositionService unifiedCompositionService = new UnifiedCompositionService();
+ if (CollectionUtils.isEmpty(unifiedCompositionDataList)) {
+ return;
+ }
+
+ for (int i = 0; i < unifiedCompositionDataList.size(); i++) {
+ List<UnifiedCompositionData> singleSubstitutionUnifiedList = new ArrayList<>();
+ singleSubstitutionUnifiedList.add(unifiedCompositionDataList.get(i));
+
+ Integer index = unifiedCompositionDataList.size() > 1 ? i : null;
+ Optional<ServiceTemplate> substitutionServiceTemplate =
+ unifiedCompositionService.createUnifiedSubstitutionServiceTemplate(serviceTemplate,
+ singleSubstitutionUnifiedList, context, index);
+
+ if (!substitutionServiceTemplate.isPresent()) {
+ continue;
+ }
+
+ String abstractNodeTemplateId = unifiedCompositionService
+ .createAbstractSubstituteNodeTemplate(serviceTemplate, substitutionServiceTemplate.get(),
+ singleSubstitutionUnifiedList, context, index);
+
+ unifiedCompositionService
+ .updateCompositionConnectivity(serviceTemplate, singleSubstitutionUnifiedList, context);
+
+ unifiedCompositionService
+ .cleanUnifiedCompositionEntities(serviceTemplate, singleSubstitutionUnifiedList, context);
+
+ }
+
+ unifiedCompositionService
+ .cleanNodeTypes(serviceTemplate, unifiedCompositionDataList, context);
+
+ }
+}