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.java330
1 files changed, 144 insertions, 186 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 855007dfd9..a5347350b0 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
@@ -13,9 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.vendorsoftwareproduct.impl;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.ByteBuffer;
+import java.util.Collection;
import org.openecomp.core.dao.UniqueValueDao;
import org.openecomp.core.util.UniqueValueUtil;
import org.openecomp.core.utilities.file.FileUtils;
@@ -31,191 +36,144 @@ import org.openecomp.sdc.versioning.VersioningUtil;
import org.openecomp.sdc.versioning.dao.types.Version;
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 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 ProcessDao processDao;
- private final UniqueValueUtil uniqueValueUtil;
-
- public ProcessManagerImpl(ProcessDao processDao, UniqueValueDao uniqueValueDao) {
- this.processDao = processDao;
- this.uniqueValueUtil = new UniqueValueUtil(uniqueValueDao);
- }
-
- @Override
- public Collection<ProcessEntity> listProcesses(String vspId, Version version,
- String componentId) {
- return processDao.list(new ProcessEntity(vspId, version, componentId, null));
- }
-
- @Override
- public void deleteProcesses(String vspId, Version version, String 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());
- }
- }
-
- if (componentId == null) {
- processDao.deleteVspAll(vspId,version);
- } else {
- processDao.deleteAll(allProcesses);
- }
- }
-
- @Override
- public ProcessEntity createProcess(ProcessEntity process) {
- validateUniqueName(process.getVspId(), process.getVersion(), process.getComponentId(),
- process.getName());
-
- processDao.create(process);
- createUniqueName(process.getVspId(), process.getVersion(), process.getComponentId(),
- process.getName());
- return process;
- }
-
- @Override
- public ProcessEntity getProcess(String vspId, Version version, String componentId,
- String processId) {
- ProcessEntity retrieved =
- processDao.get(new ProcessEntity(vspId, version, componentId, processId));
- validateProcessExistence(vspId, version, componentId, processId, retrieved);
- return retrieved;
- }
-
- @Override
- public void updateProcess(ProcessEntity process) {
- 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());
- processDao.update(process);
- }
-
- @Override
- public void deleteProcess(String vspId, Version version, String componentId, String processId) {
- ProcessEntity retrieved = getProcess(vspId, version, componentId, processId);
-
- processDao.delete(retrieved);
- deleteUniqueValue(retrieved.getVspId(), retrieved.getVersion(), retrieved.getComponentId(),
- retrieved.getName());
- }
-
-
- @Override
- public File getProcessArtifact(String vspId, Version version, String componentId,
- String processId) {
- 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)) {
- fos.write(retrieved.getArtifact().array());
- } catch (IOException exception) {
- throw new CoreException(new UploadInvalidErrorBuilder().build(), exception);
- }
- return file;
- }
-
- @Override
- public void deleteProcessArtifact(String vspId, Version version, String componentId,
- String processId) {
- ProcessEntity retrieved = getValidatedProcessArtifact(vspId, version, componentId, processId);
-
- processDao.deleteArtifact(retrieved);
- }
-
- @Override
- public void uploadProcessArtifact(InputStream artifactFile, String artifactFileName, String vspId,
- Version version, String componentId, String processId) {
- ProcessEntity process = getProcess(vspId, version, componentId, processId);
- process.setArtifactName(artifactFileName);
- process.setArtifact(readArtifact(artifactFile));
- processDao.uploadArtifact(process);
- }
-
- private ProcessEntity getValidatedProcessArtifact(String vspId, Version version,
- String componentId, String processId) {
- ProcessEntity retrieved =
- processDao.getArtifact(new ProcessEntity(vspId, version, componentId, processId));
- validateProcessArtifactExistence(vspId, version, componentId, processId, retrieved);
- return retrieved;
- }
-
- private ByteBuffer readArtifact(InputStream artifactInputStream) {
- if (artifactInputStream == null) {
- throw new CoreException(new UploadInvalidErrorBuilder().build());
- }
- try {
- return ByteBuffer.wrap(FileUtils.toByteArray(artifactInputStream));
- } catch (RuntimeException exception) {
- throw new CoreException(new UploadInvalidErrorBuilder().build(), exception);
- }
- }
-
-
- private void validateProcessExistence(String vspId, Version version, String componentId,
- String processId, ProcessEntity retrieved) {
- VersioningUtil.validateEntityExistence(retrieved,
- new ProcessEntity(vspId, version, componentId, processId),
- VspDetails.ENTITY_TYPE);
- }
-
- private void validateProcessArtifactExistence(String vspId, Version version, String componentId,
- String processId, ProcessEntity retrieved) {
- 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()
- .withId(VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND)
- .withMessage(String.format(PROCESS_ARTIFACT_NOT_EXIST_MSG,
- processId, VspDetails.ENTITY_TYPE, vspId, version)).build());
- }
- }
-
-
- protected void validateUniqueName(String vspId, Version version, String componentId,
- String processName) {
- uniqueValueUtil.validateUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME,
- vspId, version.getId(), componentId, processName);
- }
-
- protected void createUniqueName(String vspId, Version version, String componentId,
- String processName) {
- uniqueValueUtil
- .createUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME, vspId,
- 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.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.getId(), componentId, processName);
- }
+ 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 ProcessDao processDao;
+ private final UniqueValueUtil uniqueValueUtil;
+
+ public ProcessManagerImpl(ProcessDao processDao, UniqueValueDao uniqueValueDao) {
+ this.processDao = processDao;
+ this.uniqueValueUtil = new UniqueValueUtil(uniqueValueDao);
+ }
+
+ @Override
+ public Collection<ProcessEntity> listProcesses(String vspId, Version version, String componentId) {
+ return processDao.list(new ProcessEntity(vspId, version, componentId, null));
+ }
+
+ @Override
+ public void deleteProcesses(String vspId, Version version, String 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());
+ }
+ }
+ if (componentId == null) {
+ processDao.deleteVspAll(vspId, version);
+ } else {
+ processDao.deleteAll(allProcesses);
+ }
+ }
+
+ @Override
+ public ProcessEntity createProcess(ProcessEntity process) {
+ validateUniqueName(process.getVspId(), process.getVersion(), process.getComponentId(), process.getName());
+ processDao.create(process);
+ createUniqueName(process.getVspId(), process.getVersion(), process.getComponentId(), process.getName());
+ return process;
+ }
+
+ @Override
+ public ProcessEntity getProcess(String vspId, Version version, String componentId, String processId) {
+ ProcessEntity retrieved = processDao.get(new ProcessEntity(vspId, version, componentId, processId));
+ validateProcessExistence(vspId, version, componentId, processId, retrieved);
+ return retrieved;
+ }
+
+ @Override
+ public void updateProcess(ProcessEntity process) {
+ 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());
+ processDao.update(process);
+ }
+
+ @Override
+ public void deleteProcess(String vspId, Version version, String componentId, String processId) {
+ ProcessEntity retrieved = getProcess(vspId, version, componentId, processId);
+ processDao.delete(retrieved);
+ deleteUniqueValue(retrieved.getVspId(), retrieved.getVersion(), retrieved.getComponentId(), retrieved.getName());
+ }
+
+ @Override
+ public File getProcessArtifact(String vspId, Version version, String componentId, String processId) {
+ 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)) {
+ fos.write(retrieved.getArtifact().array());
+ } catch (IOException exception) {
+ throw new CoreException(new UploadInvalidErrorBuilder().build(), exception);
+ }
+ return file;
+ }
+
+ @Override
+ public void deleteProcessArtifact(String vspId, Version version, String componentId, String processId) {
+ ProcessEntity retrieved = getValidatedProcessArtifact(vspId, version, componentId, processId);
+ processDao.deleteArtifact(retrieved);
+ }
+
+ @Override
+ public void uploadProcessArtifact(InputStream artifactFile, String artifactFileName, String vspId, Version version, String componentId,
+ String processId) {
+ ProcessEntity process = getProcess(vspId, version, componentId, processId);
+ process.setArtifactName(artifactFileName);
+ process.setArtifact(readArtifact(artifactFile));
+ processDao.uploadArtifact(process);
+ }
+
+ private ProcessEntity getValidatedProcessArtifact(String vspId, Version version, String componentId, String processId) {
+ ProcessEntity retrieved = processDao.getArtifact(new ProcessEntity(vspId, version, componentId, processId));
+ validateProcessArtifactExistence(vspId, version, componentId, processId, retrieved);
+ return retrieved;
+ }
+
+ private ByteBuffer readArtifact(InputStream artifactInputStream) {
+ if (artifactInputStream == null) {
+ throw new CoreException(new UploadInvalidErrorBuilder().build());
+ }
+ try {
+ return ByteBuffer.wrap(FileUtils.toByteArray(artifactInputStream));
+ } catch (RuntimeException exception) {
+ throw new CoreException(new UploadInvalidErrorBuilder().build(), exception);
+ }
+ }
+
+ private void validateProcessExistence(String vspId, Version version, String componentId, String processId, ProcessEntity retrieved) {
+ VersioningUtil.validateEntityExistence(retrieved, new ProcessEntity(vspId, version, componentId, processId), VspDetails.ENTITY_TYPE);
+ }
+
+ private void validateProcessArtifactExistence(String vspId, Version version, String componentId, String processId, ProcessEntity retrieved) {
+ 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().withId(VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND)
+ .withMessage(String.format(PROCESS_ARTIFACT_NOT_EXIST_MSG, processId, VspDetails.ENTITY_TYPE, vspId, version)).build());
+ }
+ }
+
+ protected void validateUniqueName(String vspId, Version version, String componentId, String processName) {
+ uniqueValueUtil
+ .validateUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME, vspId, version.getId(), componentId, processName);
+ }
+
+ protected void createUniqueName(String vspId, Version version, String componentId, String processName) {
+ uniqueValueUtil.createUniqueValue(VendorSoftwareProductConstants.UniqueValues.PROCESS_NAME, vspId, 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.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.getId(), componentId, processName);
+ }
}