aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/process/OrchestrationTemplateProcessZipHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/process/OrchestrationTemplateProcessZipHandler.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/process/OrchestrationTemplateProcessZipHandler.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/process/OrchestrationTemplateProcessZipHandler.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/process/OrchestrationTemplateProcessZipHandler.java
index bff9791aeb..45dc5faac5 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/process/OrchestrationTemplateProcessZipHandler.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/process/OrchestrationTemplateProcessZipHandler.java
@@ -27,8 +27,12 @@ import org.openecomp.sdc.common.errors.Messages;
import org.openecomp.sdc.common.utils.SdcCommon;
import org.openecomp.sdc.datatypes.error.ErrorLevel;
import org.openecomp.sdc.datatypes.error.ErrorMessage;
+import org.openecomp.sdc.heat.datatypes.manifest.FileData;
+import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent;
import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil;
import org.openecomp.sdc.validation.util.ValidationManagerUtil;
@@ -43,9 +47,13 @@ import org.openecomp.sdc.vendorsoftwareproduct.utils.VendorSoftwareProductUtils;
import org.openecomp.sdc.versioning.dao.types.Version;
import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
import java.util.*;
public class OrchestrationTemplateProcessZipHandler implements OrchestrationTemplateProcessHandler {
+ private static final Logger LOGGER = LoggerFactory.getLogger(OrchestrationTemplateProcessZipHandler.class);
private final CandidateService candidateService =
CandidateServiceFactory.getInstance().createInterface();
@@ -67,6 +75,11 @@ public class OrchestrationTemplateProcessZipHandler implements OrchestrationTemp
Map<String, List<ErrorMessage>> uploadErrors = uploadFileResponse.getErrors();
FileContentHandler fileContentMap = fileContent.get();
+ try (InputStream zipFileManifest = fileContentMap.getFileContentAsStream(SdcCommon.MANIFEST_NAME)) {
+ addDummyHeatBase(zipFileManifest ,fileContentMap);
+ } catch (Exception e) {
+ LOGGER.error("Invalid package content", e);
+ }
FilesDataStructure structure =
JsonUtil.json2Object(candidateData.getFilesDataStructure(), FilesDataStructure.class);
@@ -131,6 +144,28 @@ public class OrchestrationTemplateProcessZipHandler implements OrchestrationTemp
return response;
}
+ private FileContentHandler addDummyHeatBase(InputStream zipFileManifest, FileContentHandler fileContentMap) {
+ ManifestContent manifestContent =
+ JsonUtil.json2Object(zipFileManifest, ManifestContent.class);
+ for (FileData fileData : manifestContent.getData()) {
+ if (Objects.nonNull(fileData.getType()) &&
+ fileData.getType().equals(FileData.Type.HELM) && fileData.getBase()) {
+ String filePath = new File("").getAbsolutePath();
+ File envFilePath = new File(filePath + "/base_template.env");
+ File baseFilePath = new File(filePath + "/base_template.yaml");
+ try (
+ InputStream envStream = new FileInputStream(envFilePath);
+ InputStream baseStream = new FileInputStream(baseFilePath);) {
+ fileContentMap.addFile("base_template_dummy_ignore.env", envStream);
+ fileContentMap.addFile("base_template_dummy_ignore.yaml", baseStream);
+ } catch (Exception e) {
+ LOGGER.error("File not found error {}", e);
+ }
+ }
+ }
+ return fileContentMap;
+ }
+
private Map<String, List<ErrorMessage>> getErrors(OrchestrationTemplateActionResponse
orchestrationTemplateActionResponse) {
Map<String, List<ErrorMessage>> errors =