summaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.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/ComputeManagerImpl.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java390
1 files changed, 135 insertions, 255 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java
index be90b08af9..0fc0aaffb1 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java
@@ -2,6 +2,8 @@ package org.openecomp.sdc.vendorsoftwareproduct.impl;
import org.apache.commons.collections4.CollectionUtils;
+import org.openecomp.core.util.UniqueValueUtil;
+import org.openecomp.core.utilities.json.JsonSchemaDataGenerator;
import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.common.errors.ErrorCategory;
import org.openecomp.sdc.common.errors.ErrorCode;
@@ -12,7 +14,7 @@ import org.openecomp.sdc.logging.types.LoggerConstants;
import org.openecomp.sdc.logging.types.LoggerErrorCode;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.vendorsoftwareproduct.ComputeManager;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
+import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
@@ -51,33 +53,22 @@ public class ComputeManagerImpl implements ComputeManager {
private CompositionEntityDataManager compositionEntityDataManager;
private VendorSoftwareProductInfoDao vspInfoDao;
private DeploymentFlavorDao deploymentFlavorDao;
- private ComponentDao componentDao;
- private static final String MANUAL = "Manual";
-
- public ComputeManagerImpl(
- VendorSoftwareProductInfoDao vspInfoDao,
- ComputeDao computeDao,
- CompositionEntityDataManager compositionEntityDataManager,
- DeploymentFlavorDao deploymentFlavorDao,
- ComponentDao componentDao
- ) {
+
+ public ComputeManagerImpl(VendorSoftwareProductInfoDao vspInfoDao,
+ ComputeDao computeDao,
+ CompositionEntityDataManager compositionEntityDataManager,
+ DeploymentFlavorDao deploymentFlavorDao) {
this.computeDao = computeDao;
this.compositionEntityDataManager = compositionEntityDataManager;
this.vspInfoDao = vspInfoDao;
this.deploymentFlavorDao = deploymentFlavorDao;
- this.componentDao = componentDao;
}
@Override
- public ComputeEntity createCompute(ComputeEntity compute, String user) {
- ComputeEntity createdCompute = null;
- mdcDataDebugMessage.debugEntryMessage("VSP id, component id", compute.getVspId(),
- compute.getComponentId());
-
- /*Version activeVersion =
- getVersionInfo(compute.getVspId(), VersionableEntityAction.Write, user).getActiveVersion();
- compute.setVersion(activeVersion);*/
- //if (!isManual(compute.getVspId(), activeVersion)) {
+ public ComputeEntity createCompute(ComputeEntity compute) {
+ mdcDataDebugMessage
+ .debugEntryMessage("VSP id, component id", compute.getVspId(), compute.getComponentId());
+
if (!vspInfoDao.isManual(compute.getVspId(), compute.getVersion())) {
ErrorCode onboardingMethodUpdateErrorCode = NotSupportedHeatOnboardMethodErrorBuilder
.getAddComputeNotSupportedHeatOnboardMethodErrorBuilder();
@@ -87,92 +78,45 @@ public class ComputeManagerImpl implements ComputeManager {
onboardingMethodUpdateErrorCode.message());
throw new CoreException(onboardingMethodUpdateErrorCode);
} else {
-
- //validateComponentId(compute.getVspId(),compute.getVersion(),compute.getComponentId());
- Collection<ComputeEntity> vfcComputeList = listCompute(compute.getVspId(),compute.getVersion
- (),compute.getComponentId());
-
- validateVfcCompute(compute, vfcComputeList, LoggerTragetServiceName.CREATE_COMPUTE);
- createdCompute = createCompute(compute);
+ validateUniqueName(compute.getVspId(), compute.getVersion(), compute.getComponentId(),
+ compute.getComputeCompositionData().getName());
+
+ compute.setQuestionnaireData(
+ new JsonSchemaDataGenerator(getComputeQuestionnaireSchema(null)).generateData());
+ computeDao.create(compute);
+ createUniqueName(compute.getVspId(), compute.getVersion(), compute.getComponentId(),
+ compute.getComputeCompositionData().getName());
}
mdcDataDebugMessage
.debugExitMessage("VSP id, component id", compute.getVspId(), compute.getComponentId());
- return createdCompute;
+ return compute;
}
- private ComputeEntity createCompute(ComputeEntity compute) {
-
- return compositionEntityDataManager.createCompute(compute);
- }
-
- /*private void validateCompute(ComputeEntity compute) {
- Collection<ComputeEntity> vfcComputeList = listCompute(compute.getVspId(),compute.getVersion
- (),compute.getComponentId());
-
- if (!isComputeNameUnique(vfcComputeList,compute.getComputeCompositionData().getName())) {
- final ErrorCode duplicateComputeInComponentErrorBuilder =
- new DuplicateComputeInComponentErrorBuilder(compute.getComputeCompositionData().getName(),
- compute.getComponentId()).build();
- MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
- LoggerTragetServiceName.CREATE_COMPUTE, ErrorLevel.ERROR.name(),
- LoggerErrorCode.DATA_ERROR.getErrorCode(),
- duplicateComputeInComponentErrorBuilder.message());
- throw new CoreException(duplicateComputeInComponentErrorBuilder);
- }
-
- }*/
-
- private void validateComputeUpdate(ComputeEntity compute) {
- Collection<ComputeEntity> vfcComputeList = listCompute(compute.getVspId(),compute.getVersion
- (),compute.getComponentId());
-
- for (ComputeEntity ce : vfcComputeList) {
- if (ce.getId().equals(compute.getId())) {
- vfcComputeList.remove(ce);
- break;
- }
- }
-
- if (!isComputeNameUnique(vfcComputeList,compute.getComputeCompositionData().getName())) {
- final ErrorCode duplicateComputeInComponentErrorBuilder =
- new DuplicateComputeInComponentErrorBuilder(compute.getComputeCompositionData().getName(),
- compute.getComponentId()).build();
- MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
- LoggerTragetServiceName.UPDATE_COMPUTE, ErrorLevel.ERROR.name(),
- LoggerErrorCode.DATA_ERROR.getErrorCode(),
- duplicateComputeInComponentErrorBuilder.message());
- throw new CoreException(duplicateComputeInComponentErrorBuilder);
- }
-
- }
@Override
- public Collection<ListComputeResponse> listCompute(String vspId, Version version,
- String componentId, String user) {
-
+ public Collection<ListComputeResponse> listComputes(String vspId, Version version,
+ String componentId) {
mdcDataDebugMessage.debugEntryMessage("VSP id, component id", vspId, componentId);
- //validateComponentId(vspId, version, componentId);
- ComputeEntity entity = new ComputeEntity(vspId, version, componentId, null);
- Collection<ComputeEntity> computes = computeDao.list(entity);
+ Collection<ComputeEntity> computes =
+ computeDao.list(new ComputeEntity(vspId, version, componentId, null));
Collection<ListComputeResponse> computeResponse =
- getListComputeResponse(vspId, version, user, computes);
+ getListComputeResponse(vspId, version, computes);
mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId);
return computeResponse;
}
private Collection<ListComputeResponse> getListComputeResponse(String vspId, Version version,
- String user,
Collection<ComputeEntity> computes) {
- Set<String> vspComputes = getComputeAssociatedWithDepFlavors(vspId, version, user);
- Collection<ListComputeResponse> computeResponse = new ArrayList<ListComputeResponse>();
- for(ComputeEntity computeEntity : computes) {
+ Set<String> vspComputes = getComputeAssociatedWithDepFlavors(vspId, version);
+ Collection<ListComputeResponse> computeResponse = new ArrayList<>();
+ for (ComputeEntity computeEntity : computes) {
ListComputeResponse response = new ListComputeResponse();
response.setComputeEntity(computeEntity);
- if(vspComputes.contains(computeEntity.getId())) {
+ if (vspComputes.contains(computeEntity.getId())) {
response.setAssociatedWithDeploymentFlavor(true);
} else {
response.setAssociatedWithDeploymentFlavor(false);
@@ -182,16 +126,15 @@ public class ComputeManagerImpl implements ComputeManager {
return computeResponse;
}
- private Set<String> getComputeAssociatedWithDepFlavors(String vspId, Version version,
- String user) {
+ private Set<String> getComputeAssociatedWithDepFlavors(String vspId, Version version) {
final Collection<DeploymentFlavorEntity> deploymentFlavorEntities =
deploymentFlavorDao.list(new DeploymentFlavorEntity(vspId, version, null));
- Set<String> vspComputes = new HashSet<String>();
- for(DeploymentFlavorEntity entity : deploymentFlavorEntities) {
+ Set<String> vspComputes = new HashSet<>();
+ for (DeploymentFlavorEntity entity : deploymentFlavorEntities) {
final List<ComponentComputeAssociation> componentComputeAssociations =
entity.getDeploymentFlavorCompositionData().getComponentComputeAssociations();
- if(componentComputeAssociations != null && !componentComputeAssociations.isEmpty()) {
- for(ComponentComputeAssociation association : componentComputeAssociations) {
+ if (componentComputeAssociations != null && !componentComputeAssociations.isEmpty()) {
+ for (ComponentComputeAssociation association : componentComputeAssociations) {
vspComputes.add(association.getComputeFlavorId());
}
}
@@ -199,32 +142,14 @@ public class ComputeManagerImpl implements ComputeManager {
return vspComputes;
}
- private boolean isComputeNameUnique(Collection<ComputeEntity> vfcComputeList, String name) {
- for (ComputeEntity compute : vfcComputeList) {
- if (compute.getComputeCompositionData().getName().equalsIgnoreCase(name)) {
- return false;
- }
- }
- return true;
- }
-
- private Collection<ComputeEntity> listCompute(String vspId, Version version,String componentId) {
- Collection<ComputeEntity> computeEntities =
- computeDao.list(new ComputeEntity(vspId, version, componentId, null));
-
- return computeEntities;
- }
-
@Override
public CompositionEntityResponse<ComputeData> getCompute(String vspId, Version version,
String componentId,
- String computeFlavorId, String user) {
+ String computeFlavorId) {
mdcDataDebugMessage.debugEntryMessage("VSP id, component id, compute id", vspId,
componentId, computeFlavorId);
- /*version = VersioningUtil
- .resolveVersion(version, getVersionInfo(vspId, VersionableEntityAction.Read, user));*/
- ComputeEntity computeEntity = getCompute(vspId, version, componentId, computeFlavorId);
+ ComputeEntity computeEntity = getValidatedCompute(vspId, version, componentId, computeFlavorId);
ComputeData compute = computeEntity.getComputeCompositionData();
ComputeCompositionSchemaInput schemaInput = new ComputeCompositionSchemaInput();
@@ -242,9 +167,8 @@ public class ComputeManagerImpl implements ComputeManager {
return response;
}
- private ComputeEntity getCompute(String vspId, Version version, String componentId, String
- computeFlavorId) {
- //validateComponentId(vspId,version,componentId);
+ private ComputeEntity getValidatedCompute(String vspId, Version version, String componentId,
+ String computeFlavorId) {
ComputeEntity retrieved = computeDao.get(new ComputeEntity(vspId, version, componentId,
computeFlavorId));
VersioningUtil
@@ -253,186 +177,113 @@ public class ComputeManagerImpl implements ComputeManager {
return retrieved;
}
- /*private void validateComponentId(String vspId, Version version, String componentId) {
- ComponentEntity retrivedComponent = componentDao.get(new ComponentEntity(vspId, version,
- componentId));
- VersioningUtil
- .validateEntityExistence(retrivedComponent, new ComponentEntity(vspId, version,
- componentId),VspDetails.ENTITY_TYPE);
- }*/
-
@Override
public QuestionnaireResponse getComputeQuestionnaire(String vspId, Version version, String
- componentId, String computeId, String user) {
+ componentId, String computeId) {
mdcDataDebugMessage.debugEntryMessage("VSP id, componentId", vspId, componentId, computeId);
- /*version = VersioningUtil
- .resolveVersion(version, getVersionInfo(vspId, VersionableEntityAction.Read, user));*/
- //validateComponentId(vspId,version,componentId);
QuestionnaireResponse questionnaireResponse = new QuestionnaireResponse();
- //validateComponentId(vspId,version,componentId);
- ComputeEntity computeQuestionnaire = computeDao.getQuestionnaireData(vspId, version, componentId, computeId);
+ ComputeEntity computeQuestionnaire =
+ computeDao.getQuestionnaireData(vspId, version, componentId, computeId);
VersioningUtil
- .validateEntityExistence(computeQuestionnaire, new ComputeEntity(vspId, version, componentId,
- computeId), VspDetails.ENTITY_TYPE);
+ .validateEntityExistence(computeQuestionnaire,
+ new ComputeEntity(vspId, version, componentId, computeId), VspDetails.ENTITY_TYPE);
questionnaireResponse.setData(computeQuestionnaire.getQuestionnaireData());
questionnaireResponse.setSchema(getComputeQuestionnaireSchema(null));
- mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId,
- componentId, computeId);
+ mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId, componentId, computeId);
return questionnaireResponse;
}
- protected String getComputeQuestionnaireSchema(SchemaTemplateInput schemaInput) {
- mdcDataDebugMessage.debugEntryMessage(null, null);
-
- mdcDataDebugMessage.debugExitMessage(null, null);
- return SchemaGenerator
- .generate(SchemaTemplateContext.questionnaire, CompositionEntityType.compute,
- schemaInput);
- }
-
-
@Override
- public void updateComputeQuestionnaire(String vspId, Version version, String componentId, String
- computeId,
- String questionnaireData, String user) {
- mdcDataDebugMessage.debugEntryMessage("VSP id, component id, compute id", vspId,
- componentId, computeId);
+ public void updateComputeQuestionnaire(String vspId, Version version, String componentId,
+ String computeId, String questionnaireData) {
+ mdcDataDebugMessage
+ .debugEntryMessage("VSP id, component id, compute id", vspId, componentId, computeId);
- /*Version activeVersion =
- getVersionInfo(vspId, VersionableEntityAction.Write, user).getActiveVersion();
- getComponent(vspId, activeVersion, componentId);*/
- ComputeEntity retrieved = computeDao.get(new ComputeEntity(vspId,version,componentId,
+ ComputeEntity retrieved = computeDao.get(new ComputeEntity(vspId, version, componentId,
computeId));
VersioningUtil.validateEntityExistence(retrieved, new ComputeEntity(vspId, version,
componentId, computeId), VspDetails.ENTITY_TYPE);
computeDao.updateQuestionnaireData(vspId, version, componentId, computeId, questionnaireData);
- mdcDataDebugMessage.debugExitMessage("VSP id, component id, compute id", vspId,
- componentId, computeId);
+ mdcDataDebugMessage
+ .debugExitMessage("VSP id, component id, compute id", vspId, componentId, computeId);
}
@Override
- public CompositionEntityValidationData updateCompute(ComputeEntity compute, String user) {
+ public CompositionEntityValidationData updateCompute(ComputeEntity compute) {
mdcDataDebugMessage
- .debugEntryMessage("VSP id, component id", compute.getVspId(), compute.getComponentId(),
- compute.getId());
-
- /*Version activeVersion =
- getVersionInfo(image.getVspId(), VersionableEntityAction.Write, user).getActiveVersion();
- image.setVersion(activeVersion);*/
+ .debugEntryMessage("VSP id, component id", compute.getVspId(), compute.getComponentId(),
+ compute.getId());
- ComputeEntity retrieved = getComputeEntity(compute.getVspId(), compute.getVersion(), compute.getComponentId(),
+ ComputeEntity retrieved =
+ getComputeEntity(compute.getVspId(), compute.getVersion(), compute.getComponentId(),
compute.getId());
- if(!vspInfoDao.isManual(compute.getVspId(), compute.getVersion())) {
- final ComputeData computeCompositionData = compute.getComputeCompositionData();
- final String name = computeCompositionData.getName();
- //final String format = computeCompositionData.getFormat();
- validateHeatVspComputeUpdate("Name", name, retrieved.getComputeCompositionData()
- .getName());
- /*validateHeatVspComputeUpdate("format", format, retrieved.getComputeCompositionData()
- .getFormat());*/
+ boolean manual = vspInfoDao.isManual(compute.getVspId(), compute.getVersion());
+ if (!manual) {
+ validateHeatVspComputeUpdate("Name",
+ compute.getComputeCompositionData().getName(),
+ retrieved.getComputeCompositionData().getName());
}
- Collection<ComputeEntity> vfcComputeList = listComputes(compute.getVspId() ,
- compute.getVersion(), compute.getComponentId());
-
- //Set to null so that retrieved object is equal to one in list and gets removed.
- retrieved.setQuestionnaireData(null);
- vfcComputeList.remove(retrieved);
- if(vspInfoDao.isManual(compute.getVspId(), compute.getVersion()))
- validateVfcCompute(compute, vfcComputeList, LoggerTragetServiceName.UPDATE_COMPUTE);
-
- //Set format to default value in order to handle FTL validation when compute format is null
- /*if(compute.getComputeCompositionData().getFormat() == null)
- compute.getComputeCompositionData().setFormat(ComputeFormat.qcow2.name());*/
-
ComputeCompositionSchemaInput schemaInput = new ComputeCompositionSchemaInput();
schemaInput.setCompute(compute.getComputeCompositionData());
CompositionEntityValidationData validationData = compositionEntityDataManager
- .validateEntity(compute, SchemaTemplateContext.composition, schemaInput);
+ .validateEntity(compute, SchemaTemplateContext.composition, schemaInput);
if (CollectionUtils.isEmpty(validationData.getErrors())) {
+ updateUniqueName(compute.getVspId(), compute.getVersion(), compute.getComponentId(),
+ retrieved.getComputeCompositionData().getName(),
+ compute.getComputeCompositionData().getName());
computeDao.update(compute);
}
mdcDataDebugMessage
- .debugExitMessage("VSP id, component id", compute.getVspId(), compute.getComponentId(),
- compute.getId());
+ .debugExitMessage("VSP id, component id", compute.getVspId(), compute.getComponentId(),
+ compute.getId());
return validationData;
}
private void validateHeatVspComputeUpdate(String name, String value, String retrivedValue) {
- if(value != null && !value.equals(retrivedValue)) {
+ if (value != null && !value.equals(retrivedValue)) {
final ErrorCode updateHeatComputeErrorBuilder =
- DuplicateComputeInComponentErrorBuilder.getComputeHeatReadOnlyErrorBuilder(name);
+ DuplicateComputeInComponentErrorBuilder.getComputeHeatReadOnlyErrorBuilder(name);
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
- LoggerTragetServiceName.UPDATE_COMPUTE, ErrorLevel.ERROR.name(),
- LoggerErrorCode.PERMISSION_ERROR.getErrorCode(),
- updateHeatComputeErrorBuilder.message());
+ LoggerTragetServiceName.UPDATE_COMPUTE, ErrorLevel.ERROR.name(),
+ LoggerErrorCode.PERMISSION_ERROR.getErrorCode(),
+ updateHeatComputeErrorBuilder.message());
throw new CoreException(updateHeatComputeErrorBuilder);
}
}
- private void validateVfcCompute(ComputeEntity compute, Collection<ComputeEntity> vfcComputeList,
- String event) {
- if (isComputeNameDuplicate(vfcComputeList,compute.getComputeCompositionData().getName(),
- compute.getId())) {
- ErrorCode errorCode = DuplicateComputeInComponentErrorBuilder
- .getDuplicateComputeNameErrorBuilder(compute.getComputeCompositionData().getName(),
- compute.getComponentId());
-
- MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
- event, ErrorLevel.ERROR.name(),
- errorCode.id(),errorCode.message());
-
- throw new CoreException(errorCode);
- }
- }
-
- private boolean isComputeNameDuplicate(Collection<ComputeEntity> computes, String name, String computeId) {
- for (ComputeEntity compute : computes) {
- if (compute.getComputeCompositionData().getName().equalsIgnoreCase(name) && !compute.getId().equals(computeId)) {
- return true;
- }
- }
- return false;
- }
-
-
private ComputeEntity getComputeEntity(String vspId, Version version, String componentId,
- String computeId) {
- //validateComponentId(vspId,version,componentId);
- ComputeEntity computeEntity = computeDao.get(new ComputeEntity(vspId, version, componentId, computeId));
- VersioningUtil.validateEntityExistence(computeEntity, new ComputeEntity(vspId, version, componentId,
- computeId), VspDetails.ENTITY_TYPE);
- return computeEntity;
- }
-
- private Collection<ComputeEntity> listComputes(String vspId, Version version, String componentId) {
- return computeDao.list(new ComputeEntity(vspId, version, componentId, null));
+ String computeId) {
+ ComputeEntity computeEntity =
+ computeDao.get(new ComputeEntity(vspId, version, componentId, computeId));
+ VersioningUtil
+ .validateEntityExistence(computeEntity, new ComputeEntity(vspId, version, componentId,
+ computeId), VspDetails.ENTITY_TYPE);
+ return computeEntity;
}
@Override
- public void deleteCompute(String vspId, Version version, String componentId, String
- computeFlavorId, String user) {
+ public void deleteCompute(String vspId, Version version, String componentId,
+ String computeFlavorId) {
final String VSP_COMPOSITION_EDIT_NOT_ALLOWED_MSG =
"Composition entities may not be created / deleted for Vendor Software Product "
+ "whose entities were uploaded";
mdcDataDebugMessage.debugEntryMessage("VSP id, component id, compute id", vspId,
componentId, computeFlavorId);
- /*Version activeVersion =
- getVersionInfo(vspId, VersionableEntityAction.Write, user).getActiveVersion();*/
if (!vspInfoDao.isManual(vspId, version)) {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.DELETE_COMPUTE, ErrorLevel.ERROR.name(),
@@ -442,30 +293,32 @@ public class ComputeManagerImpl implements ComputeManager {
.withId(VendorSoftwareProductErrorCodes.VSP_COMPOSITION_EDIT_NOT_ALLOWED)
.withMessage(VSP_COMPOSITION_EDIT_NOT_ALLOWED_MSG).build());
}
- ComputeEntity retrived = getCompute(vspId,version,componentId,computeFlavorId);
- if (retrived != null){
- deleteComputeFromDeploymentFlavors(vspId,version,computeFlavorId);
+ ComputeEntity retrieved = getValidatedCompute(vspId, version, componentId, computeFlavorId);
+ if (retrieved != null) {
+ deleteComputeFromDeploymentFlavors(vspId, version, computeFlavorId);
computeDao.delete(new ComputeEntity(vspId, version, componentId, computeFlavorId));
+ deleteUniqueValue(retrieved.getVspId(), retrieved.getVersion(), retrieved.getComponentId(),
+ retrieved.getComputeCompositionData().getName());
}
mdcDataDebugMessage.debugExitMessage("VSP id, component id, compute id", vspId,
componentId, computeFlavorId);
}
- private void deleteComputeFromDeploymentFlavors(String vspId, Version activeVersion,
+ private void deleteComputeFromDeploymentFlavors(String vspId, Version version,
String computeFlavorId) {
- //Collection<DeploymentFlavorEntity> listDF = listDeploymentFlavors(vspId, activeVersion);
- Collection<DeploymentFlavorEntity> listDF = deploymentFlavorDao.list(new DeploymentFlavorEntity
- (vspId, activeVersion, null));
- for(DeploymentFlavorEntity df : listDF) {
- DeploymentFlavorEntity deploymentFlavorEntity=removeComputeFromDF(df, computeFlavorId);
- if(deploymentFlavorEntity!=null)
+ Collection<DeploymentFlavorEntity> listDF =
+ deploymentFlavorDao.list(new DeploymentFlavorEntity(vspId, version, null));
+ for (DeploymentFlavorEntity df : listDF) {
+ DeploymentFlavorEntity deploymentFlavorEntity = removeComputeFromDF(df, computeFlavorId);
+ if (deploymentFlavorEntity != null) {
deploymentFlavorDao.update(deploymentFlavorEntity);
+ }
}
}
- private DeploymentFlavorEntity removeComputeFromDF(DeploymentFlavorEntity df, String
- computeFlavorId) {
+ private DeploymentFlavorEntity removeComputeFromDF(DeploymentFlavorEntity df,
+ String computeFlavorId) {
DeploymentFlavor flavor = df.getDeploymentFlavorCompositionData();
List<ComponentComputeAssociation> associations = flavor.getComponentComputeAssociations();
if (associations != null) {
@@ -486,20 +339,47 @@ public class ComputeManagerImpl implements ComputeManager {
return null;
}
- protected String getComputeCompositionSchema(SchemaTemplateInput schemaInput){
- mdcDataDebugMessage.debugEntryMessage(null, null);
- mdcDataDebugMessage.debugExitMessage(null, null);
- return SchemaGenerator.generate(SchemaTemplateContext.composition, CompositionEntityType.compute, schemaInput);
+ protected String getComputeCompositionSchema(SchemaTemplateInput schemaInput) {
+ mdcDataDebugMessage.debugEntryMessage(null);
+ mdcDataDebugMessage.debugExitMessage(null);
+ return SchemaGenerator
+ .generate(SchemaTemplateContext.composition, CompositionEntityType.compute, schemaInput);
+ }
+
+ protected String getComputeQuestionnaireSchema(SchemaTemplateInput schemaInput) {
+ mdcDataDebugMessage.debugEntryMessage(null);
+ mdcDataDebugMessage.debugExitMessage(null);
+ return SchemaGenerator
+ .generate(SchemaTemplateContext.questionnaire, CompositionEntityType.compute, schemaInput);
}
- /*boolean isManual(String vspId, Version version) {
+ protected void validateUniqueName(String vspId, Version version, String componentId,
+ String name) {
+ UniqueValueUtil.validateUniqueValue(VendorSoftwareProductConstants.UniqueValues.COMPUTE_NAME,
+ vspId, version.getId(), componentId, name);
+ }
- VspDetails vsp = vspInfoDao.get(new VspDetails(vspId, version));
- String onboardingMethod = vsp.getOnboardingMethod();
- if (MANUAL.equals(onboardingMethod)) {
- return true;
- }
- return false;
- }*/
+ protected void createUniqueName(String vspId, Version version, String componentId, String name) {
+ UniqueValueUtil
+ .createUniqueValue(VendorSoftwareProductConstants.UniqueValues.COMPUTE_NAME, vspId,
+ version.getId(), componentId, name);
+ }
+
+ protected void updateUniqueName(String vspId, Version version, String componentId,
+ String oldName, String newName) {
+ UniqueValueUtil
+ .updateUniqueValue(VendorSoftwareProductConstants.UniqueValues.COMPUTE_NAME, oldName,
+ newName, vspId, version.getId(), componentId);
+ }
+ protected void deleteUniqueValue(String vspId, Version version, String componentId, String name) {
+ if (componentId == null) {
+ UniqueValueUtil
+ .deleteUniqueValue(VendorSoftwareProductConstants.UniqueValues.COMPUTE_NAME, vspId,
+ version.getId(), name);
+ }
+ UniqueValueUtil
+ .deleteUniqueValue(VendorSoftwareProductConstants.UniqueValues.COMPUTE_NAME, vspId,
+ version.getId(), componentId, name);
+ }
}