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());
28 private static Set<ConsolidationEntityType> getIgnoredComputeRelationships(){
29 return Stream.of(ConsolidationEntityType.COMPUTE,
30 ConsolidationEntityType.VOLUME,
31 ConsolidationEntityType.PORT,
32 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
35 private static Set<ConsolidationEntityType> getIgnoredPortRelationships(){
36 return Stream.of(ConsolidationEntityType.COMPUTE,
37 ConsolidationEntityType.VOLUME,
38 ConsolidationEntityType.PORT,
39 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
42 private static Set<ConsolidationEntityType> getIgnoredVolumeRelationships(){
43 return Stream.of(ConsolidationEntityType.COMPUTE,
44 ConsolidationEntityType.VOLUME,
45 ConsolidationEntityType.PORT,
46 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
49 private static Set<ConsolidationEntityType> getIgnoredVfcNestedRelationships(){
50 return Stream.of(ConsolidationEntityType.COMPUTE,
51 ConsolidationEntityType.VOLUME,
52 ConsolidationEntityType.PORT,
53 ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
56 public static boolean isDependsOnRelationshipValid(ConsolidationEntityType source,
57 ConsolidationEntityType target) {
58 Set<ConsolidationEntityType> consolidationEntityTypes =
59 entityToEntitiesWithoutRelationship.get(source);
60 return CollectionUtils.isEmpty(consolidationEntityTypes) ||
61 !consolidationEntityTypes.contains(target);