1 package org.openecomp.sdc.translator.services.heattotosca;
3 import org.apache.commons.collections.CollectionUtils;
5 import java.util.HashMap;
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;
17 entityToEntitiesWithoutRelationship = new HashMap<>();
18 entityToEntitiesWithoutRelationship
19 .put(ConsolidationEntityType.COMPUTE, getIgnoredComputeRelationships());
20 entityToEntitiesWithoutRelationship
21 .put(ConsolidationEntityType.PORT,getIgnoredPortRelationships());
22 entityToEntitiesWithoutRelationship
23 .put(ConsolidationEntityType.VOLUME, getIgnoredVolumeRelationships());
24 entityToEntitiesWithoutRelationship
25 .put(ConsolidationEntityType.VFC_NESTED, getIgnoredVfcNestedRelationships());
26 entityToEntitiesWithoutRelationship.
27 put(ConsolidationEntityType.NESTED, getIgnoredNestedRelationships());
30 private static Set<ConsolidationEntityType> getIgnoredComputeRelationships(){
31 return Stream.of(ConsolidationEntityType.COMPUTE,
32 ConsolidationEntityType.VOLUME,
33 ConsolidationEntityType.PORT,
34 ConsolidationEntityType.NESTED,
35 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
38 private static Set<ConsolidationEntityType> getIgnoredPortRelationships(){
39 return Stream.of(ConsolidationEntityType.COMPUTE,
40 ConsolidationEntityType.VOLUME,
41 ConsolidationEntityType.PORT,
42 ConsolidationEntityType.NESTED,
43 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
46 private static Set<ConsolidationEntityType> getIgnoredVolumeRelationships(){
47 return Stream.of(ConsolidationEntityType.COMPUTE,
48 ConsolidationEntityType.VOLUME,
49 ConsolidationEntityType.PORT,
50 ConsolidationEntityType.NESTED,
51 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
54 private static Set<ConsolidationEntityType> getIgnoredVfcNestedRelationships(){
55 return Stream.of(ConsolidationEntityType.COMPUTE,
56 ConsolidationEntityType.VOLUME,
57 ConsolidationEntityType.PORT,
58 ConsolidationEntityType.NESTED,
59 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
62 private static Set<ConsolidationEntityType> getIgnoredNestedRelationships(){
63 return Stream.of(ConsolidationEntityType.COMPUTE,
64 ConsolidationEntityType.PORT,
65 ConsolidationEntityType.NESTED,
66 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
69 public static boolean isDependsOnRelationshipValid(ConsolidationEntityType source,
70 ConsolidationEntityType target) {
71 Set<ConsolidationEntityType> consolidationEntityTypes =
72 entityToEntitiesWithoutRelationship.get(source);
73 return CollectionUtils.isEmpty(consolidationEntityTypes) ||
74 !consolidationEntityTypes.contains(target);