From c0cd58244635c610c604066e9542058b310a706d Mon Sep 17 00:00:00 2001 From: Sithara Nambiar Date: Tue, 29 Sep 2020 23:10:17 +0530 Subject: sdc changes for identifying helm package as a vfm Issue-ID: REQ-341 Signed-off-by: Sithara Nambiar Change-Id: Ide4736655c01dd25dae5afe1207a292a6bcd6951 --- .../heattotosca/to/FileDataCollection.java | 12 ++++++++ .../services/heattotosca/HeatToToscaUtil.java | 13 ++++++++ .../services/heattotosca/TranslationService.java | 35 ++++++++++++++++++++++ 3 files changed, 60 insertions(+) (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib') diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/to/FileDataCollection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/to/FileDataCollection.java index a9147b838f..b156078430 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/to/FileDataCollection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/to/FileDataCollection.java @@ -32,11 +32,16 @@ public class FileDataCollection { Collection addOnFiles; Collection nestedFiles; Collection artifactFiles; + Collection HelmFiles; public Collection getBaseFile() { return baseFiles; } + public Collection getHelmFile() { + return HelmFiles; + } + public void setBaseFile(Collection baseFiles) { this.baseFiles = baseFiles; } @@ -109,6 +114,13 @@ public class FileDataCollection { this.baseFiles.add(baseFile); } + public void addHelmFiles(FileData helmFile) { + if (this.HelmFiles == null) { + this.HelmFiles = new ArrayList<>(); + } + this.HelmFiles.add(helmFile); + } + /** * Add artifact files. * diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java index 6649c90adb..d204281d6b 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java @@ -220,6 +220,19 @@ public class HeatToToscaUtil { return null; } + static FileDataCollection getFileCollectionsByHelmFilter(List fileDataList, Set typeFilter) { + FileDataCollection fileDataCollection = new FileDataCollection(); + Map filteredFiles = filterFileDataListByType(fileDataList, typeFilter); + for (FileData fileData : filteredFiles.values()) { + String fileName = fileData.getFile(); + if((fileData.getType().equals(FileData.Type.HELM))) + { + fileDataCollection.addHelmFiles(fileData); + } + } + return fileDataCollection; + } + static FileDataCollection getFileCollectionsByFilter(List fileDataList, Set typeFilter, TranslationContext translationContext) { FileDataCollection fileDataCollection = new FileDataCollection(); diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/TranslationService.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/TranslationService.java index 339d6ff023..6d22a3602c 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/TranslationService.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/TranslationService.java @@ -70,6 +70,12 @@ public class TranslationService { return types; } + public static Set getTypesToProcessByHelmTranslator() { + Set types = new HashSet<>(); + types.add(FileData.Type.HELM); + return types; + } + /** * Translate heat files translator output. * @@ -81,6 +87,8 @@ public class TranslationService { List fileDataList = translationContext.getManifest().getContent().getData(); FileDataCollection fileDataCollection = HeatToToscaUtil.getFileCollectionsByFilter(fileDataList, TranslationService.getTypesToProcessByTranslator(), translationContext); + FileDataCollection fileDataCollectionHelm = HeatToToscaUtil.getFileCollectionsByHelmFilter(fileDataList, + TranslationService.getTypesToProcessByHelmTranslator()); if (fileDataCollection.getBaseFile() != null) { for (FileData fileData : fileDataCollection.getBaseFile()) { @@ -93,6 +101,13 @@ public class TranslationService { } } + if (fileDataCollectionHelm.getHelmFile() !=null) { + for (FileData fileData : fileDataCollectionHelm.getHelmFile()) { + translateHelmFile(mainServiceTemplate, fileData, translationContext); + + } + } + ToscaServiceModel toscaServiceModel = HeatToToscaUtil.createToscaServiceModel(mainServiceTemplate, translationContext); @@ -145,6 +160,26 @@ public class TranslationService { } } + + public void translateHelmFile(ServiceTemplate serviceTemplate, FileData heatFileData, + TranslationContext context) { + String heatFileName = heatFileData.getFile(); + Map inputs = serviceTemplate.getTopology_template().getInputs(); + if (!Objects.isNull(inputs)) { + + inputs.entrySet().forEach( + stringParameterDefinitionEntry -> { + List inputParamVFModuleList = getVFModulesList( + inputs.get(stringParameterDefinitionEntry.getKey())); + if (!inputParamVFModuleList.contains(FileUtils.getFileWithoutExtention(heatFileName)) ){ + inputParamVFModuleList.add(FileUtils.getFileWithoutExtention(heatFileName)); + } + } + ); + } + inputs.putAll(inputs); + } + private void handleHeatPseudoParam(String heatFileName, ServiceTemplate serviceTemplate, TranslationContext context) { Map translatedHeatPseudoParam = -- cgit 1.2.3-korg