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/ConsolidationData.java')
1 files changed, 134 insertions, 76 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/ConsolidationData.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ConsolidationData.java index 20cc3be3cd..c46e7450e5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ConsolidationData.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ConsolidationData.java @@ -1,81 +1,139 @@ +/* + * 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. + */ + package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation; -/** - * The type Consolidation data. - */ +import java.util.Optional; +import org.openecomp.sdc.translator.services.heattotosca.ConsolidationEntityType; + public class ConsolidationData { - //Compute consolidation data - private ComputeConsolidationData computeConsolidationData; - - //Port Consolidation data - private PortConsolidationData portConsolidationData; - - //Nested Consolidation data - private NestedConsolidationData nestedConsolidationData; - - - /** - * Instantiates a new Consolidation data. - */ - public ConsolidationData() { - computeConsolidationData = new ComputeConsolidationData(); - portConsolidationData = new PortConsolidationData(); - nestedConsolidationData = new NestedConsolidationData(); - } - - /** - * Gets compute consolidation data. - * - * @return the compute consolidation data - */ - public ComputeConsolidationData getComputeConsolidationData() { - return computeConsolidationData; - } - - /** - * Sets compute consolidation data. - * - * @param computeConsolidationData the compute consolidation data - */ - public void setComputeConsolidationData(ComputeConsolidationData computeConsolidationData) { - this.computeConsolidationData = computeConsolidationData; - } - - /** - * Gets port consolidation data. - * - * @return the port consolidation data - */ - public PortConsolidationData getPortConsolidationData() { - return portConsolidationData; - } - - /** - * Sets port consolidation data. - * - * @param portConsolidationData the port consolidation data - */ - public void setPortConsolidationData( - PortConsolidationData portConsolidationData) { - this.portConsolidationData = portConsolidationData; - } - - /** - * Gets nested consolidation data. - * - * @return the nested consolidation data - */ - public NestedConsolidationData getNestedConsolidationData() { - return nestedConsolidationData; - } - - /** - * Sets nested consolidation data. - * - * @param nestedConsolidationData the nested consolidation data - */ - public void setNestedConsolidationData(NestedConsolidationData nestedConsolidationData) { - this.nestedConsolidationData = nestedConsolidationData; - } + private ComputeConsolidationData computeConsolidationData; + private final ComputeConsolidationDataHandler computeConsolidationDataHandler; + + private PortConsolidationData portConsolidationData; + private final PortConsolidationDataHandler portConsolidationDataHandler; + private final SubInterfaceConsolidationDataHandler subInterfaceConsolidationDataHandler; + + private NestedConsolidationData nestedConsolidationData; + private final NestedConsolidationDataHandler nestedConsolidationDataHandler; + + public ConsolidationData() { + + computeConsolidationData = new ComputeConsolidationData(); + computeConsolidationDataHandler = new ComputeConsolidationDataHandler(computeConsolidationData); + + portConsolidationData = new PortConsolidationData(); + portConsolidationDataHandler = new PortConsolidationDataHandler(portConsolidationData); + subInterfaceConsolidationDataHandler = new SubInterfaceConsolidationDataHandler(portConsolidationData); + + nestedConsolidationData = new NestedConsolidationData(); + nestedConsolidationDataHandler = new NestedConsolidationDataHandler(nestedConsolidationData); + + } + + /** + * Get Consolidation data handler by entity type. + * + * @return If there is no consolidation handler for a type, return an empty {@link Optional}. + */ + public Optional<ConsolidationDataHandler> getConsolidationDataHandler(ConsolidationEntityType type) { + + switch (type) { + case COMPUTE: + return Optional.of(getComputeConsolidationDataHelper()); + case PORT: + return Optional.of(getPortConsolidationDataHandler()); + case SUB_INTERFACE: + return Optional.of(getSubInterfaceConsolidationDataHandler()); + case NESTED: + case VFC_NESTED: + return Optional.of(getNestedConsolidationDataHandler()); + default: + return Optional.empty(); + } + } + + public ComputeConsolidationDataHandler getComputeConsolidationDataHelper() { + return computeConsolidationDataHandler; + } + + public PortConsolidationDataHandler getPortConsolidationDataHandler() { + return portConsolidationDataHandler; + } + + public NestedConsolidationDataHandler getNestedConsolidationDataHandler() { + return nestedConsolidationDataHandler; + } + + public SubInterfaceConsolidationDataHandler getSubInterfaceConsolidationDataHandler() { + return subInterfaceConsolidationDataHandler; + } + + /** + * Gets compute consolidation data. + * + * @return the compute consolidation data + */ + public ComputeConsolidationData getComputeConsolidationData() { + return computeConsolidationData; + } + + /** + * Sets compute consolidation data. + * + * @param computeConsolidationData the compute consolidation data + */ + public void setComputeConsolidationData(ComputeConsolidationData computeConsolidationData) { + this.computeConsolidationData = computeConsolidationData; + } + + /** + * Gets port consolidation data. + * + * @return the port consolidation data + */ + public PortConsolidationData getPortConsolidationData() { + return portConsolidationData; + } + + /** + * Sets port consolidation data. + * + * @param portConsolidationData the port consolidation data + */ + public void setPortConsolidationData(PortConsolidationData portConsolidationData) { + this.portConsolidationData = portConsolidationData; + } + + /** + * Gets nested consolidation data. + * + * @return the nested consolidation data + */ + public NestedConsolidationData getNestedConsolidationData() { + return nestedConsolidationData; + } + + /** + * Sets nested consolidation data. + * + * @param nestedConsolidationData the nested consolidation data + */ + public void setNestedConsolidationData(NestedConsolidationData nestedConsolidationData) { + this.nestedConsolidationData = nestedConsolidationData; + } } |