diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/PortTemplateConsolidationData.java')
1 files changed, 92 insertions, 84 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/PortTemplateConsolidationData.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/PortTemplateConsolidationData.java index 2dfa3c90f7..6cdee5a6c5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/PortTemplateConsolidationData.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/PortTemplateConsolidationData.java @@ -19,116 +19,124 @@ package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolid import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Multimaps; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + import org.apache.commons.collections4.CollectionUtils; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.heat.datatypes.model.Resource; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; -import java.util.List; -import java.util.Objects; -import java.util.Optional; +public class PortTemplateConsolidationData extends EntityConsolidationData { + // key - sub-interface type - for ResourceGroup it is the nested file name + // value - List of sub-interfaces of that type in the port + private final ListMultimap<String, SubInterfaceTemplateConsolidationData> subInterfaceConsolidationData = + Multimaps.synchronizedListMultimap(ArrayListMultimap.create()); -/** - * The type Port template consolidation data. - */ -public class PortTemplateConsolidationData extends EntityConsolidationData { + private String networkRole; + + public String getNetworkRole() { + return networkRole; + } - // key - sub-interface type - for ResourceGroup it is the nested file name - // value - List of sub-interfaces of that type in the port - private final ListMultimap<String, SubInterfaceTemplateConsolidationData> subInterfaceConsolidationData = - Multimaps.synchronizedListMultimap(ArrayListMultimap.create()); - - private String networkRole; - - public String getNetworkRole() { - return networkRole; - } - - public void setNetworkRole(String networkRole) { - this.networkRole = networkRole; - } - - public boolean isPortBoundToSubInterface() { - return !subInterfaceConsolidationData.isEmpty(); - } - - public SubInterfaceTemplateConsolidationData getSubInterfaceResourceTemplateConsolidationData(Resource resource, - String subInterfaceNodeTemplateId, - String parentPortNodeTemplateId) { - String subInterfaceType = createSubInterfaceType(resource); - List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList = - subInterfaceConsolidationData.get(subInterfaceType); - SubInterfaceTemplateConsolidationData consolidationData = null; - if (CollectionUtils.isNotEmpty(subInterfaceTemplateConsolidationDataList)) { - Optional<SubInterfaceTemplateConsolidationData> optionalConsolidationData = - subInterfaceTemplateConsolidationDataList.stream() - .filter(s -> s.getNodeTemplateId().equals(subInterfaceNodeTemplateId)) - .findFirst(); - if (optionalConsolidationData.isPresent()) { - consolidationData = optionalConsolidationData.get(); - } + public void setNetworkRole(String networkRole) { + this.networkRole = networkRole; } - if (Objects.isNull(consolidationData)) { - consolidationData = createSubInterfaceConsolidationData(subInterfaceNodeTemplateId, parentPortNodeTemplateId); - addSubInterfaceConsolidationData(subInterfaceType, consolidationData); + public boolean isPortBoundToSubInterface() { + return !subInterfaceConsolidationData.isEmpty(); } - return consolidationData; - } - private String createSubInterfaceType(Resource resource) { + /** + * Create Sub interface template consolidation data base on given parameters - if it doesn't exist yet. + * + * @param resource resource of sub Interface + * @param subInterfaceNodeTemplateId template id of sub interface + * @param parentPortNodeTemplateId node template id of port node to which sub interface is related + * @return sub interface template consolidation data entity + */ + public SubInterfaceTemplateConsolidationData addSubInterfaceTemplateConsolidationData( + Resource resource, String subInterfaceNodeTemplateId, String parentPortNodeTemplateId) { + String subInterfaceType = createSubInterfaceType(resource); + List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList = + subInterfaceConsolidationData.get(subInterfaceType); + SubInterfaceTemplateConsolidationData consolidationData = null; + if (CollectionUtils.isNotEmpty(subInterfaceTemplateConsolidationDataList)) { + Optional<SubInterfaceTemplateConsolidationData> optionalConsolidationData = + subInterfaceTemplateConsolidationDataList.stream() + .filter(s -> s.getNodeTemplateId().equals(subInterfaceNodeTemplateId)) + .findFirst(); + if (optionalConsolidationData.isPresent()) { + consolidationData = optionalConsolidationData.get(); + } + } + + if (Objects.isNull(consolidationData)) { + consolidationData = + createSubInterfaceConsolidationData(subInterfaceNodeTemplateId, parentPortNodeTemplateId); + addSubInterfaceConsolidationData(subInterfaceType, consolidationData); + } + return consolidationData; + } - return ToscaNodeType.VLAN_SUB_INTERFACE_RESOURCE_TYPE_PREFIX - + FileUtils.getFileWithoutExtention(HeatToToscaUtil.getSubInterfaceResourceType(resource)); - } + private String createSubInterfaceType(Resource resource) { + return ToscaNodeType.VLAN_SUB_INTERFACE_RESOURCE_TYPE_PREFIX + + FileUtils.getFileWithoutExtention( + HeatToToscaUtil.getSubInterfaceResourceType(resource)); + } - private SubInterfaceTemplateConsolidationData createSubInterfaceConsolidationData(String subInterfaceNodeTemplateId, String parentPortNodeTemplateId) { - SubInterfaceTemplateConsolidationData data = new SubInterfaceTemplateConsolidationData(); - data.setNodeTemplateId(subInterfaceNodeTemplateId); - data.setParentPortNodeTemplateId(parentPortNodeTemplateId); - return data; - } + private SubInterfaceTemplateConsolidationData createSubInterfaceConsolidationData( + String subInterfaceNodeTemplateId, String parentPortNodeTemplateId) { + SubInterfaceTemplateConsolidationData data = new SubInterfaceTemplateConsolidationData(); + data.setNodeTemplateId(subInterfaceNodeTemplateId); + data.setParentPortNodeTemplateId(parentPortNodeTemplateId); + return data; + } - public void addSubInterfaceConsolidationData(String subPortType, + public void addSubInterfaceConsolidationData(String subPortType, SubInterfaceTemplateConsolidationData subInterfaceTemplateConsolidationData) { - this.subInterfaceConsolidationData.put(subPortType, subInterfaceTemplateConsolidationData); - } + this.subInterfaceConsolidationData.put(subPortType, subInterfaceTemplateConsolidationData); + } - public boolean hasSameSubInterfaceTypes(PortTemplateConsolidationData other) { - return other != null && this.subInterfaceConsolidationData.keySet().equals( + public boolean hasSameSubInterfaceTypes(PortTemplateConsolidationData other) { + return other != null && this.subInterfaceConsolidationData.keySet().equals( other.subInterfaceConsolidationData.keySet()); - } + } - public void copyMappedInto(ListMultimap<String, SubInterfaceTemplateConsolidationData> subInterfaceTypeToEntity) { - subInterfaceTypeToEntity.putAll(this.subInterfaceConsolidationData); - } + public void copyMappedInto(ListMultimap<String, SubInterfaceTemplateConsolidationData> subInterfaceTypeToEntity) { + subInterfaceTypeToEntity.putAll(this.subInterfaceConsolidationData); + } - public void copyFlatInto(List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList) { - subInterfaceTemplateConsolidationDataList.addAll(subInterfaceConsolidationData.values()); - } + public void copyFlatInto(List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList) { + subInterfaceTemplateConsolidationDataList.addAll(subInterfaceConsolidationData.values()); + } - public boolean isNumberOfSubInterfacesPerTypeSimilar(PortTemplateConsolidationData other) { - return this.subInterfaceConsolidationData.isEmpty() && other.subInterfaceConsolidationData.isEmpty() - || !this.subInterfaceConsolidationData.isEmpty() && !other.subInterfaceConsolidationData.isEmpty() - && this.subInterfaceConsolidationData.keySet().stream().allMatch( - subInterfaceType -> calculateSize(other.subInterfaceConsolidationData.get(subInterfaceType)) + public boolean isNumberOfSubInterfacesPerTypeSimilar(PortTemplateConsolidationData other) { + return isBothSubInterfaceConsolidationDataEmpty(this, other) + || !isBothSubInterfaceConsolidationDataEmpty(this, other) + && this.subInterfaceConsolidationData.keySet().stream().allMatch( + subInterfaceType -> calculateSize(other.subInterfaceConsolidationData.get(subInterfaceType)) == calculateSize(this.subInterfaceConsolidationData.get(subInterfaceType))); - } - - public boolean isSubInterfaceNodeTemplateIdParameter(String nodeTemplateType) { - List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList = - this.subInterfaceConsolidationData.get(nodeTemplateType); - return (Objects.nonNull(subInterfaceTemplateConsolidationDataList) - && subInterfaceTemplateConsolidationDataList.size() > 1) ; - } + } - private int calculateSize(List<SubInterfaceTemplateConsolidationData> subInterfaces) { - return subInterfaces == null ? 0 : subInterfaces.size(); - } + private boolean isBothSubInterfaceConsolidationDataEmpty( + PortTemplateConsolidationData object, PortTemplateConsolidationData other) { + return object.subInterfaceConsolidationData.isEmpty() && other.subInterfaceConsolidationData.isEmpty(); + } + public boolean isSubInterfaceNodeTemplateIdParameter(String nodeTemplateType) { + List<SubInterfaceTemplateConsolidationData> subInterfaceTemplateConsolidationDataList = + this.subInterfaceConsolidationData.get(nodeTemplateType); + return (Objects.nonNull(subInterfaceTemplateConsolidationDataList) + && subInterfaceTemplateConsolidationDataList.size() > 1); + } + private int calculateSize(List<SubInterfaceTemplateConsolidationData> subInterfaces) { + return subInterfaces == null ? 0 : subInterfaces.size(); + } }
\ No newline at end of file |