Fix different issues when adding properties 24/134824/2
authorfranciscovila <javier.paradela.vila@est.tech>
Thu, 1 Jun 2023 06:59:31 +0000 (07:59 +0100)
committerVasyl Razinkov <vasyl.razinkov@est.tech>
Wed, 14 Jun 2023 21:47:35 +0000 (21:47 +0000)
Issue-ID: SDC-4522
Signed-off-by: franciscovila <javier.paradela.vila@est.tech>
Change-Id: I6408570e5a3b571f3222f31ae30910061736a6c9

catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/PropertyValueConstraintValidationUtil.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/constraints/ValidValuesConstraint.java
catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view-model.ts

index 74cf8eb..fcaa840 100644 (file)
@@ -183,7 +183,8 @@ public class PropertyValueConstraintValidationUtil {
         List<PropertyDefinition> propertyDefinitions = dataTypeDefinitionCache.get(propertyDefinition.getType()).getProperties();
         try {
             Map<String, Object> valueMap = MapUtils
-                .emptyIfNull(ConstraintUtil.parseToCollection(propertyDefinition.getValue(), new TypeReference<>() {
+                .emptyIfNull(ConstraintUtil.parseToCollection(null != propertyDefinition.getValue() ?
+                    propertyDefinition.getValue() : propertyDefinition.getDefaultValue(), new TypeReference<>() {
                 }));
             if (CollectionUtils.isEmpty(propertyDefinitions)) {
                 checkAndEvaluatePrimitiveProperty(propertyDefinition, dataTypeDefinitionCache.get(propertyDefinition.getType()));
@@ -252,7 +253,8 @@ public class PropertyValueConstraintValidationUtil {
                 return CollectionUtils.isNotEmpty(list);
             } else {
                 Map<String, Object> valueMap = MapUtils
-                    .emptyIfNull(ConstraintUtil.parseToCollection(propertyDefinition.getValue(), new TypeReference<>() {
+                    .emptyIfNull(ConstraintUtil.parseToCollection(null != propertyDefinition.getValue() ?
+                        propertyDefinition.getValue() : propertyDefinition.getDefaultValue(), new TypeReference<>() {
                     }));
                 return MapUtils.isNotEmpty(valueMap);
             }
@@ -295,11 +297,11 @@ public class PropertyValueConstraintValidationUtil {
             .forEach(propertyConstraint -> {
                 try {
                     if (ToscaType.LIST == toscaPropertyType1) {
-                        Collection<Object> list = ConstraintUtil.parseToCollection(propertyDefinition.getValue(), new TypeReference<>() {
+                        Collection<Object> list = ConstraintUtil.parseToCollection(null != propertyDefinition.getValue() ? propertyDefinition.getValue() : propertyDefinition.getDefaultValue(), new TypeReference<>() {
                         });
                         propertyConstraint.validate(list);
                     } else if (ToscaType.MAP == toscaPropertyType1) {
-                        final Map<String, Object> map = ConstraintUtil.parseToCollection(propertyDefinition.getValue(), new TypeReference<>() {
+                        final Map<String, Object> map = ConstraintUtil.parseToCollection(null != propertyDefinition.getValue() ? propertyDefinition.getValue() : propertyDefinition.getDefaultValue(), new TypeReference<>() {
                         });
                         propertyConstraint.validate(map);
                     }
@@ -353,7 +355,8 @@ public class PropertyValueConstraintValidationUtil {
             if (propertyDefinition.getSchemaType() == null) {
                 propertyDefinition.setSchema(createStringSchema());
             }
-            final Map<String, Object> map = ConstraintUtil.parseToCollection(propertyDefinition.getValue(), new TypeReference<>() {
+            final Map<String, Object> map = ConstraintUtil.parseToCollection(null != propertyDefinition.getValue() ?
+                propertyDefinition.getValue() : propertyDefinition.getDefaultValue(), new TypeReference<>() {
             });
             evaluateCollectionType(propertyDefinition, map);
         } catch (ConstraintValueDoNotMatchPropertyTypeException e) {
index 569294d..71a4ab6 100644 (file)
@@ -133,7 +133,6 @@ public class ValidValuesConstraint extends AbstractPropertyConstraint {
                 } else {
                     map = ConstraintUtil.parseToCollection(propertyDefinition.getDefaultValue(), new TypeReference<>() {});
                 }
-
                 valuesToValidate = map.values();
             } else {
                 if (propertyDefinition.getValue() != null) {
index fc0581a..0be5193 100644 (file)
@@ -246,7 +246,7 @@ export class PropertyFormViewModel {
                 this.$scope.myValue = {'': null};
                 break;
             case PROPERTY_TYPES.LIST:
-                this.$scope.myValue = [];
+                this.$scope.myValue = [''];
                 break;
             default:
                 this.$scope.myValue = {};