summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java')
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java83
1 files changed, 32 insertions, 51 deletions
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java
index 4a0a5f9d63..6e49c9a6cf 100644
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java
+++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java
@@ -24,33 +24,23 @@ import org.openecomp.core.utilities.file.FileContentHandler;
import org.openecomp.core.utilities.json.JsonUtil;
import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
import org.openecomp.sdc.common.utils.CommonUtil;
-import org.openecomp.sdc.common.utils.SdcCommon;
-import org.openecomp.sdc.datatypes.error.ErrorMessage;
import org.openecomp.sdc.healing.interfaces.Healer;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.UploadDataEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.factory.CandidateServiceFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.services.filedatastructuremodule.CandidateService;
import org.openecomp.sdc.vendorsoftwareproduct.services.utils.CandidateEntityBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure;
import org.openecomp.sdc.versioning.dao.types.Version;
import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import java.util.Optional;
public class FileDataStructureHealer implements Healer {
- private static final OrchestrationTemplateDao orchestrationTemplateDataDao =
- OrchestrationTemplateDaoFactory.getInstance().createInterface();
- private static CandidateService candidateService =
- CandidateServiceFactory.getInstance().createInterface();
private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
@@ -59,64 +49,55 @@ public class FileDataStructureHealer implements Healer {
}
@Override
- public Optional<FilesDataStructure> heal(Map<String, Object> healingParams) throws Exception {
-
-
+ public Optional<FilesDataStructure> heal(String vspId,
+ Version version) throws Exception {
mdcDataDebugMessage.debugEntryMessage(null);
- Optional<FilesDataStructure> healingResult = Optional.empty();
- String vspId = (String) healingParams.get(SdcCommon.VSP_ID);
- Version version = (Version) healingParams.get(SdcCommon.VERSION);
- String user = (String) healingParams.get(SdcCommon.USER);
+ OrchestrationTemplateCandidateDao candidateDao =
+ OrchestrationTemplateCandidateDaoFactory.getInstance().createInterface();
+
+ OrchestrationTemplateCandidateData candidateData = candidateDao.get(vspId, version);
- UploadDataEntity uploadData =
- orchestrationTemplateDataDao.getOrchestrationTemplate(vspId,version);
- if (uploadData == null || uploadData.getContentData() == null) {
- FilesDataStructure emptyFilesDataStructure = new FilesDataStructure();
- return Optional.of(emptyFilesDataStructure);
+ if (candidateData == null || candidateData.getContentData() == null ||
+ candidateData.getFilesDataStructure() != null) {
+ return Optional.of(new FilesDataStructure());
}
- Optional<FilesDataStructure> candidateFileDataStructure =
- candidateService.getOrchestrationTemplateCandidateFileDataStructure(vspId, version);
+ Optional<FilesDataStructure> filesDataStructure =
+ healFilesDataStructure(vspId, version, candidateData);
- if (!candidateFileDataStructure.isPresent()) {
- healingResult = healFilesDataStructure(vspId, version, user, uploadData);
- }
+ filesDataStructure
+ .ifPresent(structure -> candidateDao.updateStructure(vspId, version, structure));
mdcDataDebugMessage.debugExitMessage(null);
- return healingResult;
+ return filesDataStructure;
}
- private Optional<FilesDataStructure> healFilesDataStructure(String vspId, Version version,
- String user,
- UploadDataEntity uploadData)
+ private Optional<FilesDataStructure> healFilesDataStructure(
+ String vspId, Version version, OrchestrationTemplateCandidateData candidateData)
throws Exception {
-
-
mdcDataDebugMessage.debugEntryMessage(null);
Optional<FilesDataStructure> healingResult;
- byte[] byteContentData = uploadData.getContentData().array();
+ byte[] byteContentData = candidateData.getContentData().array();
FileContentHandler fileContentHandler;
- try{
- fileContentHandler = CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.ZIP, byteContentData);
- Map<String, List<ErrorMessage>> errors = new HashMap<>();
- OrchestrationTemplateCandidateData candidateDataEntity =
- new CandidateEntityBuilder(candidateService)
- .buildCandidateEntityFromZip(new VspDetails(vspId, version), byteContentData,
- fileContentHandler, errors, user);
-
- healingResult = getFileDataStructureFromJson(candidateDataEntity.getFilesDataStructure());
- }catch (Exception e){
+ try {
+ fileContentHandler =
+ CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.ZIP, byteContentData);
+
+ String filesDataStructure =
+ new CandidateEntityBuilder(CandidateServiceFactory.getInstance().createInterface())
+ .buildCandidateEntityFromZip(new VspDetails(vspId, version), byteContentData,
+ fileContentHandler, new HashMap<>()).getFilesDataStructure();
+
+ healingResult =
+ Optional.of(JsonUtil.json2Object(filesDataStructure, FilesDataStructure.class));
+ } catch (Exception e) {
log.debug("", e);
- return Optional.empty();
+ healingResult = Optional.empty();
}
mdcDataDebugMessage.debugExitMessage(null);
return healingResult;
}
-
- private Optional<FilesDataStructure> getFileDataStructureFromJson(String fileDataStructureJson) {
- return Optional.of(JsonUtil.json2Object(fileDataStructureJson, FilesDataStructure.class));
- }
}