summaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.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/ProcessManagerImpl.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java201
1 files changed, 92 insertions, 109 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java
index a3d0286019..121abda1ee 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java
@@ -22,12 +22,10 @@ package org.openecomp.sdc.vendorsoftwareproduct.impl;
import org.openecomp.core.util.UniqueValueUtil;
import org.openecomp.core.utilities.file.FileUtils;
-import org.openecomp.sdc.activityLog.ActivityLogManager;
-import org.openecomp.sdc.activitylog.dao.type.ActivityLogEntity;
import org.openecomp.sdc.common.errors.CoreException;
+import org.openecomp.sdc.common.errors.ErrorCategory;
+import org.openecomp.sdc.common.errors.ErrorCode;
import org.openecomp.sdc.datatypes.error.ErrorLevel;
-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.logging.context.impl.MdcDataErrorMessage;
import org.openecomp.sdc.logging.types.LoggerConstants;
@@ -35,138 +33,133 @@ import org.openecomp.sdc.logging.types.LoggerErrorCode;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.vendorsoftwareproduct.ProcessManager;
import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ProcessDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.errors.UploadInvalidErrorBuilder;
import org.openecomp.sdc.versioning.VersioningUtil;
import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdcrests.activitylog.types.ActivityType;
+import org.openecomp.sdc.versioning.errors.VersioningErrorCodes;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.ByteBuffer;
import java.util.Collection;
public class ProcessManagerImpl implements ProcessManager {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
- private final ActivityLogManager activityLogManager;
+ private static final String PROCESS_ARTIFACT_NOT_EXIST_MSG =
+ "Process artifact for process with Id %s does not exist for %s with Id %s and version %s";
- private final VendorSoftwareProductDao vendorSoftwareProductDao;
+ private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
- private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
+ private ProcessDao processDao;
- public ProcessManagerImpl(VendorSoftwareProductDao vendorSoftwareProductDao, ActivityLogManager activityLogManager) {
- this.vendorSoftwareProductDao = vendorSoftwareProductDao;
- this.activityLogManager = activityLogManager;
+ public ProcessManagerImpl(ProcessDao processDao) {
+ this.processDao = processDao;
}
@Override
public Collection<ProcessEntity> listProcesses(String vspId, Version version,
- String componentId,
- String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", vspId, componentId);
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", vspId, componentId);
+ String componentId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId, componentId);
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId);
- return vendorSoftwareProductDao.listProcesses(vspId, version, componentId);
+ return processDao.list(new ProcessEntity(vspId, version, componentId, null));
}
@Override
- public void deleteProcesses(String vspId, Version version, String componentId, String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", vspId, componentId);
+ public void deleteProcesses(String vspId, Version version, String componentId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId, componentId);
- Collection<ProcessEntity> processes =
- vendorSoftwareProductDao.listProcesses(vspId, version, componentId);
+ ProcessEntity allProcesses = new ProcessEntity(vspId, version, componentId, null);
+ Collection<ProcessEntity> processes = processDao.list(allProcesses);
if (!processes.isEmpty()) {
for (ProcessEntity process : processes) {
deleteUniqueValue(process.getVspId(), process.getVersion(), process.getComponentId(),
process.getName());
}
+ }
- vendorSoftwareProductDao.deleteProcesses(vspId, version, componentId);
+ if (componentId == null) {
+ processDao.deleteVspAll(vspId,version);
+ } else {
+ processDao.deleteAll(allProcesses);
}
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", vspId, componentId);
+
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId);
}
@Override
- public ProcessEntity createProcess(ProcessEntity process, String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", process.getId(),
+ public ProcessEntity createProcess(ProcessEntity process) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", process.getId(),
process.getComponentId());
validateUniqueName(process.getVspId(), process.getVersion(), process.getComponentId(),
process.getName());
- //process.setId(CommonMethods.nextUuId());
- vendorSoftwareProductDao.createProcess(process);
+ processDao.create(process);
createUniqueName(process.getVspId(), process.getVersion(), process.getComponentId(),
process.getName());
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", process.getId(),
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", process.getId(),
process.getComponentId());
return process;
}
-
@Override
public ProcessEntity getProcess(String vspId, Version version, String componentId,
- String processId, String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", vspId, componentId);
+ String processId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId, componentId);
ProcessEntity retrieved =
- vendorSoftwareProductDao.getProcess(vspId, version, componentId, processId);
+ processDao.get(new ProcessEntity(vspId, version, componentId, processId));
validateProcessExistence(vspId, version, componentId, processId, retrieved);
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", vspId, componentId);
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId);
return retrieved;
}
@Override
- public void updateProcess(ProcessEntity process, String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", process.getId(),
+ public void updateProcess(ProcessEntity process) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", process.getId(),
process.getComponentId());
- ProcessEntity retrieved = vendorSoftwareProductDao
- .getProcess(process.getVspId(), process.getVersion(), process.getComponentId(),
- process.getId());
+ ProcessEntity retrieved = processDao.get(process);
validateProcessExistence(process.getVspId(), process.getVersion(), process.getComponentId(),
process.getId(), retrieved);
updateUniqueName(process.getVspId(), process.getVersion(), process.getComponentId(),
retrieved.getName(), process.getName());
- vendorSoftwareProductDao.updateProcess(process);
+ processDao.update(process);
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", process.getId(),
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", process.getId(),
process.getComponentId());
}
@Override
- public void deleteProcess(String vspId, Version version, String componentId, String processId,
- String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", vspId, componentId);
+ public void deleteProcess(String vspId, Version version, String componentId, String processId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId, componentId);
- ProcessEntity retrieved =
- vendorSoftwareProductDao.getProcess(vspId, version, componentId, processId);
- validateProcessExistence(vspId, version, componentId, processId, retrieved);
+ ProcessEntity retrieved = getProcess(vspId, version, componentId, processId);
- vendorSoftwareProductDao.deleteProcess(vspId, version, componentId, processId);
+ processDao.delete(retrieved);
deleteUniqueValue(retrieved.getVspId(), retrieved.getVersion(), retrieved.getComponentId(),
retrieved.getName());
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", vspId, componentId);
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId);
}
@Override
public File getProcessArtifact(String vspId, Version version, String componentId,
- String processId, String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", vspId, componentId);
+ String processId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId, componentId);
- ProcessEntity retrieved =
- vendorSoftwareProductDao.getProcessArtifact(vspId, version, componentId, processId);
- validateProcessArtifactExistence(vspId, version, componentId, processId, retrieved);
+ ProcessEntity retrieved = getValidatedProcessArtifact(vspId, version, componentId, processId);
File file = new File(String.format("%s_%s_%s", vspId, componentId, processId));
try (FileOutputStream fos = new FileOutputStream(file)) {
@@ -175,125 +168,115 @@ public class ProcessManagerImpl implements ProcessManager {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.GET_PROCESS_ARTIFACT, ErrorLevel.ERROR.name(),
LoggerErrorCode.DATA_ERROR.getErrorCode(), "Can't get process artifact");
- throw new CoreException(new UploadInvalidErrorBuilder().build(), exception);
+ throw new CoreException(new UploadInvalidErrorBuilder().build());
}
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", vspId, componentId);
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId);
return file;
}
@Override
public void deleteProcessArtifact(String vspId, Version version, String componentId,
- String processId, String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", vspId, componentId);
+ String processId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId, componentId);
- ProcessEntity retrieved =
- vendorSoftwareProductDao.getProcessArtifact(vspId, version, componentId, processId);
- validateProcessArtifactExistence(vspId, version, componentId, processId, retrieved);
+ ProcessEntity retrieved = getValidatedProcessArtifact(vspId, version, componentId, processId);
- vendorSoftwareProductDao.deleteProcessArtifact(vspId, version, componentId, processId);
+ processDao.deleteArtifact(retrieved);
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", vspId, componentId);
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId);
}
@Override
public void uploadProcessArtifact(InputStream artifactFile, String artifactFileName, String vspId,
- Version version, String componentId, String processId,
- String user) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id", vspId, componentId);
+ Version version, String componentId, String processId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId, componentId);
+
+ ProcessEntity process = getProcess(vspId, version, componentId, processId);
+ process.setArtifactName(artifactFileName);
+ process.setArtifact(readArtifact(artifactFile));
+ processDao.uploadArtifact(process);
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId);
+ }
+
+ private ProcessEntity getValidatedProcessArtifact(String vspId, Version version,
+ String componentId, String processId) {
ProcessEntity retrieved =
- vendorSoftwareProductDao.getProcess(vspId, version, componentId, processId);
- validateProcessExistence(vspId, version, componentId, processId, retrieved);
+ processDao.getArtifact(new ProcessEntity(vspId, version, componentId, processId));
+ validateProcessArtifactExistence(vspId, version, componentId, processId, retrieved);
+ return retrieved;
+ }
- if (artifactFile == null) {
+ private ByteBuffer readArtifact(InputStream artifactInputStream) {
+ if (artifactInputStream == null) {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.UPLOAD_PROCESS_ARTIFACT, ErrorLevel.ERROR.name(),
LoggerErrorCode.DATA_ERROR.getErrorCode(), "Can't upload process artifact");
throw new CoreException(new UploadInvalidErrorBuilder().build());
}
-
- byte[] artifact;
try {
- artifact = FileUtils.toByteArray(artifactFile);
+ return ByteBuffer.wrap(FileUtils.toByteArray(artifactInputStream));
} catch (RuntimeException exception) {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.UPLOAD_PROCESS_ARTIFACT, ErrorLevel.ERROR.name(),
LoggerErrorCode.DATA_ERROR.getErrorCode(), "Can't upload process artifact");
- throw new CoreException(new UploadInvalidErrorBuilder().build(), exception);
+ throw new CoreException(new UploadInvalidErrorBuilder().build());
}
-
- vendorSoftwareProductDao.uploadProcessArtifact(vspId, version, componentId, processId, artifact,
- artifactFileName);
- ActivityLogEntity activityLogEntity = new ActivityLogEntity(vspId, String.valueOf(version.getMajor()+1),
- ActivityType.UPLOAD_MONITORING_FILE.toString(), user, true, "", "");
- activityLogManager.addActionLog(activityLogEntity, user);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id", vspId, componentId);
}
private void validateProcessExistence(String vspId, Version version, String componentId,
String processId, ProcessEntity retrieved) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id, process id", vspId, componentId,
- processId);
-
- if (retrieved != null) {
- return;
- }
VersioningUtil.validateEntityExistence(retrieved,
new ProcessEntity(vspId, version, componentId, processId),
- VspDetails.ENTITY_TYPE);//todo retrieved is always null ??
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id, process id", vspId, componentId,
- processId);
+ VspDetails.ENTITY_TYPE);
}
private void validateProcessArtifactExistence(String vspId, Version version, String componentId,
String processId, ProcessEntity retrieved) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("VSP id, component id, process id", vspId, componentId,
- processId);
-
- if (retrieved != null) {
- VersioningUtil.validateEntityExistence(retrieved.getArtifact(),
- new ProcessEntity(vspId, version, componentId, processId),
- VspDetails.ENTITY_TYPE);
- } else {
- VersioningUtil.validateEntityExistence(retrieved,
- new ProcessEntity(vspId, version, componentId, processId),
- VspDetails.ENTITY_TYPE); //todo retrieved is always null ??
+ ProcessEntity inputProcess = new ProcessEntity(vspId, version, componentId, processId);
+ VersioningUtil.validateEntityExistence(retrieved, inputProcess, VspDetails.ENTITY_TYPE);
+ if (retrieved.getArtifact() == null) {
+ throw new CoreException(new ErrorCode.ErrorCodeBuilder()
+ .withCategory(ErrorCategory.APPLICATION)
+ .withId(VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND)
+ .withMessage(String.format(PROCESS_ARTIFACT_NOT_EXIST_MSG,
+ processId, VspDetails.ENTITY_TYPE, vspId, version)).build());
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("VSP id, component id, process id", vspId, componentId,
- processId);
}
protected void validateUniqueName(String vspId, Version version, String componentId,
String processName) {
UniqueValueUtil.validateUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME,
- vspId, version.toString(), componentId, processName);
+ vspId, version.getId(), componentId, processName);
}
protected void createUniqueName(String vspId, Version version, String componentId,
String processName) {
UniqueValueUtil
.createUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME, vspId,
- version.toString(), componentId, processName);
+ version.getId(), componentId, processName);
}
protected void updateUniqueName(String vspId, Version version, String componentId,
String oldProcessName, String newProcessName) {
UniqueValueUtil
.updateUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME, oldProcessName,
- newProcessName, vspId, version.toString(), componentId);
+ newProcessName, vspId, version.getId(), componentId);
}
protected void deleteUniqueValue(String vspId, Version version, String componentId,
String processName) {
+ if (componentId == null) {
+ UniqueValueUtil
+ .deleteUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME, vspId,
+ version.getId(), processName);
+ }
UniqueValueUtil
.deleteUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME, vspId,
- version.toString(), componentId, processName);
+ version.getId(), componentId, processName);
}
}