summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationData.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/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationData.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationData.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationData.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationData.java
index a77cc21077..7b99ec1514 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationData.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/TypeComputeConsolidationData.java
@@ -18,8 +18,11 @@ package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolid
import java.util.Collection;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
+import org.apache.commons.collections4.CollectionUtils;
+
public class TypeComputeConsolidationData {
//key - compute node template id
@@ -69,4 +72,43 @@ public class TypeComputeConsolidationData {
return consolidationData;
}
+ /**
+ * Gets all ports per port type, which are connected to the computes consolidation data entities
+ * computeTemplateConsolidationDataCollection.
+ *
+ * @return Map containing key as port type and value as ports id
+ */
+ public Map<String, List<String>> collectAllPortsOfEachTypeFromComputes() {
+ Map<String, List<String>> portTypeToIds = new HashMap<>();
+ Collection<ComputeTemplateConsolidationData> computeTemplateConsolidationDataCollection =
+ getAllComputeTemplateConsolidationData();
+
+ computeTemplateConsolidationDataCollection
+ .forEach(computeTemplateConsolidationData1 ->
+ computeTemplateConsolidationData1.collectAllPortsOfEachTypeFromCompute(portTypeToIds));
+
+ return portTypeToIds;
+ }
+
+ /**
+ * Check if get attr out from entity are legal for given port list
+ *
+ * @param portTypeToIds list of port Ids per port type
+ * @return true if get attr out are legal else false
+ */
+ public boolean isGetAttrOutFromEntityLegal(Map<String, List<String>> portTypeToIds) {
+
+ Collection<ComputeTemplateConsolidationData> entities = getAllComputeTemplateConsolidationData();
+
+ if (CollectionUtils.isEmpty(entities)) {
+ return true;
+ }
+
+ EntityConsolidationData firstEntity = entities.iterator().next();
+ return firstEntity.isGetAttrOutFromEntityLegal(entities, portTypeToIds);
+ }
+
+ public boolean isNumberOfComputeConsolidationDataPerTypeLegal() {
+ return getAllComputeTemplateConsolidationData().size() == 1;
+ }
}