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/ComputeConsolidationData.java')
1 files changed, 56 insertions, 43 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/ComputeConsolidationData.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ComputeConsolidationData.java index d2f6083d23..fe0bf24d76 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ComputeConsolidationData.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/ComputeConsolidationData.java @@ -1,52 +1,65 @@ +/* + * 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; import java.util.HashMap; import java.util.Map; import java.util.Set; -/** - * The type Compute consolidation data. - */ public class ComputeConsolidationData { - //Key - Service template file name - private Map<String, FileComputeConsolidationData> fileComputeConsolidationData; - - /** - * Instantiates a new Compute consolidation data. - */ - public ComputeConsolidationData() { - fileComputeConsolidationData = new HashMap<>(); - } - - /** - * Gets all files. - * - * @return the all files - */ - public Set<String> getAllServiceTemplateFileNames() { - return fileComputeConsolidationData.keySet(); - } - - /** - * Gets file compute consolidation data. - * - * @param serviceTemplateFileName the file name - * @return the file compute consolidation data - */ - public FileComputeConsolidationData getFileComputeConsolidationData(String - serviceTemplateFileName) { - return fileComputeConsolidationData.get(serviceTemplateFileName); - } - - /** - * Sets file compute consolidation data. - * - * @param serviceTemplateFileName the file name - * @param fileComputeConsolidationData the file compute consolidation data - */ - public void setFileComputeConsolidationData(String serviceTemplateFileName, - FileComputeConsolidationData fileComputeConsolidationData) { - this.fileComputeConsolidationData.put(serviceTemplateFileName, fileComputeConsolidationData); - } + //Key - Service template file name + private final Map<String, FileComputeConsolidationData> fileComputeConsolidationData; + + public ComputeConsolidationData() { + fileComputeConsolidationData = new HashMap<>(); + } + + public Set<String> getAllServiceTemplateFileNames() { + return fileComputeConsolidationData.keySet(); + } + + public FileComputeConsolidationData getFileComputeConsolidationData(String serviceTemplateFileName) { + return fileComputeConsolidationData.get(serviceTemplateFileName); + } + + public void setFileComputeConsolidationData(String serviceTemplateFileName, + FileComputeConsolidationData fileComputeConsolidationData) { + this.fileComputeConsolidationData.put(serviceTemplateFileName, fileComputeConsolidationData); + } + + /** + * add compute template consolidation data entity if it doesn't exist yet + * base on given parameters. + * + * @return compute template consolidation data entity by given keys + */ + ComputeTemplateConsolidationData addComputeTemplateConsolidationData( + String serviceTemplateFileName, String computeNodeType, String computeNodeTemplateId) { + FileComputeConsolidationData consolidationData = addFileComputeConsolidationData(serviceTemplateFileName); + return consolidationData.addComputeTemplateConsolidationData(computeNodeType, computeNodeTemplateId); + } + + private FileComputeConsolidationData addFileComputeConsolidationData(String serviceTemplateFileName) { + FileComputeConsolidationData consolidationData = getFileComputeConsolidationData(serviceTemplateFileName); + if (consolidationData == null) { + consolidationData = new FileComputeConsolidationData(); + setFileComputeConsolidationData(serviceTemplateFileName, consolidationData); + } + return consolidationData; + } } |