1 package org.openecomp.sdc.translator.services.heattotosca;
3 import org.apache.commons.collections4.MapUtils;
4 import org.openecomp.sdc.logging.api.Logger;
5 import org.openecomp.sdc.logging.api.LoggerFactory;
6 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ComputeTemplateConsolidationData;
8 import java.util.Collection;
9 import java.util.HashMap;
10 import java.util.HashSet;
11 import java.util.List;
16 * Utility class for consolidation data collection helper methods.
18 public class UnifiedCompositionUtil {
20 protected static Logger logger = (Logger) LoggerFactory.getLogger(UnifiedCompositionUtil.class);
23 * Gets all ports per port type, which are connected to the computes from the input
24 * computeTemplateConsolidationDataCollection.
26 * @param computeTemplateConsolidationDataCollection collection of compute template
28 * @return set of port ids, per port type
30 public static Map<String, Set<String>> collectAllPortsFromEachTypesFromComputes(
31 Collection<ComputeTemplateConsolidationData> computeTemplateConsolidationDataCollection) {
32 Map<String, Set<String>> portTypeToIds = new HashMap<>();
34 for (ComputeTemplateConsolidationData compute : computeTemplateConsolidationDataCollection) {
35 Map<String, List<String>> ports = compute.getPorts();
36 if (!MapUtils.isEmpty(ports)) {
37 addPortsToMap(portTypeToIds, ports);
44 private static void addPortsToMap(Map<String, Set<String>> portTypeToIds,
45 Map<String, List<String>> ports) {
46 for (Map.Entry<String, List<String>> portTypeToIdEntry : ports.entrySet()) {
47 portTypeToIds.putIfAbsent(portTypeToIdEntry.getKey(), new HashSet<>());
48 portTypeToIds.get(portTypeToIdEntry.getKey()).addAll(portTypeToIdEntry.getValue());