diff options
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')
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; + } } |