diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationEntityType.java')
-rw-r--r-- | openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationEntityType.java | 74 |
1 files changed, 55 insertions, 19 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationEntityType.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationEntityType.java index 8e6e9024fb..dd7825b9a5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationEntityType.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationEntityType.java @@ -1,13 +1,34 @@ -package org.openecomp.sdc.translator.services.heattotosca; +/* + * Copyright © 2016-2018 European Support Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ -import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; -import org.openecomp.sdc.heat.datatypes.model.Resource; -import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; +package org.openecomp.sdc.translator.services.heattotosca; import static org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil.isComputeResource; import static org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil.isPortResource; import static org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil.isVolumeResource; +import org.openecomp.sdc.heat.datatypes.model.Resource; +import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; +import java.util.stream.Collectors; + /** * The enum Entity type. */ @@ -19,7 +40,7 @@ public enum ConsolidationEntityType { //Simple nested VFC (nested file with one compute) or a complex VFC (nested ST with more than //one compute) VFC_NESTED, - SUB_PORT, + SUB_INTERFACE, OTHER; private ConsolidationEntityType sourceEntityType; @@ -33,39 +54,54 @@ public enum ConsolidationEntityType { return targetEntityType; } + /** * Sets entity type. * - * @param heatOrchestrationTemplate the heat orchestration template * @param sourceResource the source resource * @param targetResource the target resource */ - public void setEntityType(HeatOrchestrationTemplate heatOrchestrationTemplate, - Resource sourceResource, + public void setEntityType(Resource sourceResource, Resource targetResource, TranslationContext context) { targetEntityType = - getEntityType(heatOrchestrationTemplate, targetResource, context); + getEntityType(targetResource, context); sourceEntityType = - getEntityType(heatOrchestrationTemplate, sourceResource, context); + getEntityType(sourceResource, context); + } + + private static final Set<ConsolidationEntityType> consolidationEntityTypes = initConsolidationEntities(); + + private static Set<ConsolidationEntityType> initConsolidationEntities() { + Set<ConsolidationEntityType> consolidationEntityTypes = new HashSet<>(Arrays.asList(ConsolidationEntityType + .values())); + return Collections.unmodifiableSet(consolidationEntityTypes.stream() + .filter(entity -> entity != ConsolidationEntityType.OTHER + && entity != ConsolidationEntityType.VOLUME) + .collect(Collectors.toSet())); + } + + public static Set<ConsolidationEntityType> getSupportedConsolidationEntities() { + return consolidationEntityTypes; } - private ConsolidationEntityType getEntityType(HeatOrchestrationTemplate heatOrchestrationTemplate, - Resource resource, TranslationContext context) { + private ConsolidationEntityType getEntityType(Resource resource, TranslationContext context) { + ConsolidationEntityType consolidationEntityType = ConsolidationEntityType.OTHER; if (isComputeResource(resource)) { - return ConsolidationEntityType.COMPUTE; + consolidationEntityType = ConsolidationEntityType.COMPUTE; } else if (isPortResource(resource)) { - return ConsolidationEntityType.PORT; + consolidationEntityType = ConsolidationEntityType.PORT; + } else if (HeatToToscaUtil.isSubInterfaceResource(resource, context)) { + consolidationEntityType = ConsolidationEntityType.SUB_INTERFACE; } else if (isVolumeResource(resource)) { - return ConsolidationEntityType.VOLUME; + consolidationEntityType = ConsolidationEntityType.VOLUME; } else if (HeatToToscaUtil.isNestedResource(resource)) { if (HeatToToscaUtil.isNestedVfcResource(resource, context)) { - return ConsolidationEntityType.VFC_NESTED; + consolidationEntityType = ConsolidationEntityType.VFC_NESTED; } else { - return ConsolidationEntityType.NESTED; + consolidationEntityType = ConsolidationEntityType.NESTED; } - } else { - return ConsolidationEntityType.OTHER; } + return consolidationEntityType; } }
\ No newline at end of file |