summaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.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/ComponentDependencyModelManagerImpl.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java119
1 files changed, 81 insertions, 38 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java
index 5dc1446601..17d1833af6 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java
@@ -1,6 +1,7 @@
package org.openecomp.sdc.vendorsoftwareproduct.impl;
import org.apache.commons.lang3.StringUtils;
+import org.openecomp.core.utilities.CommonMethods;
import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.common.errors.ErrorCode;
import org.openecomp.sdc.datatypes.error.ErrorLevel;
@@ -12,72 +13,114 @@ import org.openecomp.sdc.logging.types.LoggerConstants;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManager;
import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDependencyModelDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.errors.ComponentDependencyModelErrorBuilder;
+import org.openecomp.sdc.versioning.VersioningUtil;
import org.openecomp.sdc.versioning.dao.types.Version;
import java.util.Collection;
-import java.util.List;
public class ComponentDependencyModelManagerImpl implements ComponentDependencyModelManager {
- private VendorSoftwareProductDao vendorSoftwareProductDao;
private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
protected static final Logger logger =
LoggerFactory.getLogger(ComponentDependencyModelManagerImpl.class);
private ComponentManager componentManager;
+ private ComponentDependencyModelDao componentDependencyModelDao;
- public ComponentDependencyModelManagerImpl(VendorSoftwareProductDao vendorSoftwareProductDao, ComponentManager componentManager) {
- this.vendorSoftwareProductDao = vendorSoftwareProductDao;
+ public ComponentDependencyModelManagerImpl(
+ ComponentManager componentManager, ComponentDependencyModelDao componentDependencyModelDao) {
this.componentManager = componentManager;
+ this.componentDependencyModelDao = componentDependencyModelDao;
+ }
+
+ private void raiseException(ErrorCode errorCode) {
+ MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
+ LoggerTragetServiceName.CREATE_COMPONENT_DEPENDENCY_MODEL, ErrorLevel.ERROR.name(),
+ errorCode.id(), errorCode.message());
+ throw new CoreException(errorCode);
}
@Override
- public void createComponentDependencyModel(List<ComponentDependencyModelEntity> entities,
- String vspId, Version version, String user) {
-
- mdcDataDebugMessage.debugEntryMessage("createComponentDependencyModel");
- for(ComponentDependencyModelEntity entity : entities) {
- if (!StringUtils.isEmpty(entity.getSourceComponentId())) {
- componentManager.validateComponentExistence(entity.getVspId(), entity.getVersion(),
- entity.getSourceComponentId(), user);
- if (entity.getSourceComponentId().equals(entity.getTargetComponentId())) {
- ErrorCode errorCode =
- ComponentDependencyModelErrorBuilder.getSourceTargetComponentEqualErrorBuilder();
- raiseException(errorCode);
- }
- } else {
- ErrorCode errorCode = ComponentDependencyModelErrorBuilder
- .getNoSourceComponentErrorBuilder();
- raiseException(errorCode);
- }
+ public Collection<ComponentDependencyModelEntity> list(String vspId, Version version) {
+
+ mdcDataDebugMessage.debugExitMessage("VSP id, version", vspId, version.toString());
+
+ return componentDependencyModelDao
+ .list(new ComponentDependencyModelEntity(vspId, version, null));
+ }
+
+ @Override
+ public ComponentDependencyModelEntity createComponentDependency(ComponentDependencyModelEntity
+ entity, String vspId,
+ Version version) {
+
+ validateComponentDependency(entity);
+ entity.setId(CommonMethods.nextUuId());
+ componentDependencyModelDao.create(entity);
+ return entity;
+ }
- if (!StringUtils.isEmpty(entity.getTargetComponentId())) {
- componentManager.validateComponentExistence(entity.getVspId(), entity.getVersion(),
- entity.getTargetComponentId(), user);
+ private void validateComponentDependency(ComponentDependencyModelEntity entity) {
+ if (!StringUtils.isEmpty(entity.getSourceComponentId())) {
+ componentManager.validateComponentExistence(entity.getVspId(), entity.getVersion(),
+ entity.getSourceComponentId());
+ if (entity.getSourceComponentId().equals(entity.getTargetComponentId())) {
+ ErrorCode errorCode =
+ ComponentDependencyModelErrorBuilder.getSourceTargetComponentEqualErrorBuilder();
+ raiseException(errorCode);
}
+ } else {
+ ErrorCode errorCode = ComponentDependencyModelErrorBuilder
+ .getNoSourceComponentErrorBuilder();
+ raiseException(errorCode);
}
- vendorSoftwareProductDao.createComponentDependencyModel(entities, vspId, version );
-
- mdcDataDebugMessage.debugExitMessage("createComponentDependencyModel");
+ if (!StringUtils.isEmpty(entity.getTargetComponentId())) {
+ componentManager.validateComponentExistence(entity.getVspId(), entity.getVersion(),
+ entity.getTargetComponentId());
+ }
}
- private void raiseException(ErrorCode errorCode) {
- MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
- LoggerTragetServiceName.CREATE_COMPONENT_DEPENDENCY_MODEL, ErrorLevel.ERROR.name(),
- errorCode.id(), errorCode.message());
- throw new CoreException(errorCode);
+ @Override
+ public void delete(String vspId, Version version, String dependencyId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, dependencyId", vspId, dependencyId);
+ ComponentDependencyModelEntity componentDependencyEntity = getComponentDependency(vspId,
+ version, dependencyId);
+ if (componentDependencyEntity != null) {
+ componentDependencyModelDao.delete(componentDependencyEntity);
+ }
+
+ mdcDataDebugMessage.debugExitMessage("VSP id, dependencyId", vspId, dependencyId);
}
@Override
- public Collection<ComponentDependencyModelEntity> list(String vspId, Version version, String
- user) {
+ public void update(ComponentDependencyModelEntity entity) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, dependencyId", entity.getVspId(),
+ entity.getId());
+ ComponentDependencyModelEntity componentDependencyEntity = getComponentDependency(
+ entity.getVspId(), entity.getVersion(), entity.getId());
+ validateComponentDependency(entity);
+ componentDependencyModelDao.update(entity);
+ }
- mdcDataDebugMessage.debugExitMessage("VSP id, version", vspId, version.toString());
+ @Override
+ public ComponentDependencyModelEntity get(String vspId, Version version, String dependencyId) {
+ mdcDataDebugMessage.debugEntryMessage("VSP id, dependencyId", vspId, dependencyId);
+ ComponentDependencyModelEntity componentDependency =
+ getComponentDependency(vspId, version, dependencyId);
+ return componentDependency;
+ }
- return vendorSoftwareProductDao.listComponentDependencies(vspId, version);
+ private ComponentDependencyModelEntity getComponentDependency(String vspId, Version version,
+ String dependencyId) {
+ ComponentDependencyModelEntity retrieved = componentDependencyModelDao.get(
+ new ComponentDependencyModelEntity(vspId, version, dependencyId));
+ VersioningUtil.validateEntityExistence(retrieved, new ComponentDependencyModelEntity(
+ vspId, version, dependencyId), VspDetails.ENTITY_TYPE);
+ return retrieved;
}
}