1 package org.openecomp.sdc.translator.services.heattotosca;
3 import org.apache.commons.collections.CollectionUtils;
5 import java.util.EnumMap;
8 import java.util.stream.Collectors;
9 import java.util.stream.Stream;
11 public class ConsolidationTypesConnectivity {
13 private static Map<ConsolidationEntityType, Set<ConsolidationEntityType>>
14 entityToEntitiesWithoutRelationship = new EnumMap<>(ConsolidationEntityType.class);
17 entityToEntitiesWithoutRelationship
18 .put(ConsolidationEntityType.COMPUTE, getIgnoredComputeRelationships());
19 entityToEntitiesWithoutRelationship
20 .put(ConsolidationEntityType.PORT,getIgnoredPortRelationships());
21 entityToEntitiesWithoutRelationship
22 .put(ConsolidationEntityType.VOLUME, getIgnoredVolumeRelationships());
23 entityToEntitiesWithoutRelationship
24 .put(ConsolidationEntityType.VFC_NESTED, getIgnoredVfcNestedRelationships());
25 entityToEntitiesWithoutRelationship
26 .put(ConsolidationEntityType.NESTED, getIgnoredNestedRelationships());
29 private ConsolidationTypesConnectivity() {
32 private static Set<ConsolidationEntityType> getIgnoredComputeRelationships(){
33 return Stream.of(ConsolidationEntityType.COMPUTE,
34 ConsolidationEntityType.VOLUME,
35 ConsolidationEntityType.PORT,
36 ConsolidationEntityType.NESTED,
37 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
40 private static Set<ConsolidationEntityType> getIgnoredPortRelationships(){
41 return Stream.of(ConsolidationEntityType.COMPUTE,
42 ConsolidationEntityType.VOLUME,
43 ConsolidationEntityType.PORT,
44 ConsolidationEntityType.NESTED,
45 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
48 private static Set<ConsolidationEntityType> getIgnoredVolumeRelationships(){
49 return Stream.of(ConsolidationEntityType.COMPUTE,
50 ConsolidationEntityType.VOLUME,
51 ConsolidationEntityType.PORT,
52 ConsolidationEntityType.NESTED,
53 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
56 private static Set<ConsolidationEntityType> getIgnoredVfcNestedRelationships(){
57 return Stream.of(ConsolidationEntityType.COMPUTE,
58 ConsolidationEntityType.VOLUME,
59 ConsolidationEntityType.PORT,
60 ConsolidationEntityType.NESTED,
61 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
64 private static Set<ConsolidationEntityType> getIgnoredNestedRelationships(){
65 return Stream.of(ConsolidationEntityType.COMPUTE,
66 ConsolidationEntityType.PORT,
67 ConsolidationEntityType.NESTED,
68 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
71 public static boolean isDependsOnRelationshipValid(ConsolidationEntityType source,
72 ConsolidationEntityType target) {
73 Set<ConsolidationEntityType> consolidationEntityTypes =
74 entityToEntitiesWithoutRelationship.get(source);
75 return CollectionUtils.isEmpty(consolidationEntityTypes) ||
76 !consolidationEntityTypes.contains(target);