aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main
diff options
context:
space:
mode:
authorvasraz <vasyl.razinkov@est.tech>2023-02-01 19:28:28 +0000
committerMichael Morris <michael.morris@est.tech>2023-02-07 17:21:24 +0000
commit0c54db816bcadb231b007ce56c5c90d7b96d0706 (patch)
treec4f4c6d4b3db9d729720a75bf92e056a37944cb9 /catalog-be/src/main
parent092b32fa67275b56879c8d879ee0b5fc369f9761 (diff)
Validate service input default values against constraints
Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech> Change-Id: Ifd4e3cc5c8dd93282233e4c6bb77fa763d52f922 Issue-ID: SDC-4366
Diffstat (limited to 'catalog-be/src/main')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogic.java11
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/PropertyValueConstraintValidationUtil.java2
2 files changed, 9 insertions, 4 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogic.java
index 44fecb311b..12a6936895 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogic.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogic.java
@@ -290,6 +290,7 @@ public class InputsBusinessLogic extends BaseBusinessLogic {
Either<Boolean, ResponseFormat> constraintValidatorResponse = validateInputValueConstraint(inputs, component.getModel());
if (constraintValidatorResponse.isRight()) {
log.error("Failed validation value and constraint of property: {}", constraintValidatorResponse.right().value());
+ unlockComponent(true, component);
return Either.right(constraintValidatorResponse.right().value());
}
validateCanWorkOnComponent(component, userId);
@@ -301,8 +302,8 @@ public class InputsBusinessLogic extends BaseBusinessLogic {
if (currInput == null) {
ActionStatus actionStatus = ActionStatus.COMPONENT_NOT_FOUND;
log.debug("Failed to found newInput {} under component {}, error: {}", newInput.getUniqueId(), componentId, actionStatus);
- result = Either.right(componentsUtils.getResponseFormat(actionStatus));
- return result;
+ unlockComponent(true, component);
+ return Either.right(componentsUtils.getResponseFormat(actionStatus));
}
String updateInputObjectValue = updateInputObjectValue(currInput, newInput, dataTypes);
currInput.setDefaultValue(updateInputObjectValue);
@@ -317,8 +318,8 @@ public class InputsBusinessLogic extends BaseBusinessLogic {
Either<InputDefinition, StorageOperationStatus> status = toscaOperationFacade.updateInputOfComponent(component, currInput);
if (status.isRight()) {
ActionStatus actionStatus = componentsUtils.convertFromStorageResponseForResourceInstanceProperty(status.right().value());
- result = Either.right(componentsUtils.getResponseFormat(actionStatus, ""));
- return result;
+ unlockComponent(true, component);
+ return Either.right(componentsUtils.getResponseFormat(actionStatus, ""));
} else {
returnInputs.add(status.left().value());
}
@@ -341,9 +342,11 @@ public class InputsBusinessLogic extends BaseBusinessLogic {
List<InputDefinition> inputDefinitions = new ArrayList<>();
for (InputDefinition inputDefinition : inputs) {
InputDefinition inputDef = new InputDefinition();
+ inputDef.setName(inputDefinition.getName());
inputDef.setDefaultValue(inputDefinition.getDefaultValue());
inputDef.setInputPath(inputDefinition.getSubPropertyInputPath());
inputDef.setType(inputDefinition.getType());
+ inputDef.setConstraints(inputDefinition.getConstraints());
if (Objects.nonNull(inputDefinition.getParentPropertyType())) {
ComponentInstanceProperty propertyDefinition = new ComponentInstanceProperty();
propertyDefinition.setType(inputDefinition.getParentPropertyType());
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/PropertyValueConstraintValidationUtil.java b/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/PropertyValueConstraintValidationUtil.java
index 903c0dd58e..46bd763ec0 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/PropertyValueConstraintValidationUtil.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/PropertyValueConstraintValidationUtil.java
@@ -413,8 +413,10 @@ public class PropertyValueConstraintValidationUtil {
propertyDefinition.setType(inputDefinition.getType());
propertyDefinition.setValue(inputDefinition.getDefaultValue());
propertyDefinition.setName(inputDefinition.getName());
+ propertyDefinition.setConstraints(inputDefinition.getConstraints());
} else if (Objects.nonNull(inputDefinition.getInputPath())) {
propertyDefinition = evaluateComplexTypeInputs(inputDefinition);
+ propertyDefinition.setConstraints(inputDefinition.getConstraints());
}
return propertyDefinition;
}