Support tosca functions for group instances in composition view 99/129699/4
authorJvD_Ericsson <jeff.van.dam@est.tech>
Tue, 28 Jun 2022 07:50:53 +0000 (08:50 +0100)
committerAndr� Schmid <andre.schmid@est.tech>
Mon, 11 Jul 2022 16:15:10 +0000 (16:15 +0000)
Issue-ID: SDC-4078
Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech>
Change-Id: Id65ae1c0cac8cb61cece69e2c88a588027c675fd

catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/GroupBusinessLogicNew.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/GroupsOperation.java

index 4a1e787..7c01a35 100644 (file)
@@ -19,6 +19,7 @@
  * Modifications copyright (c) 2019 Nokia
  * ================================================================================
  */
+
 package org.openecomp.sdc.be.components.impl;
 
 import static org.openecomp.sdc.be.components.impl.BaseBusinessLogic.enumHasValueFilter;
@@ -139,6 +140,9 @@ public class GroupBusinessLogicNew {
             if (!isOnlyGroupPropertyValueChanged(gp, originalProperties.get(updatedPropertyName))) {
                 throw new ByActionStatusComponentException(ActionStatus.INVALID_PROPERTY, updatedPropertyName);
             }
+            if (gp.hasGetFunction()) {
+                gp.setValue(gp.getToscaGetFunction().generatePropertyValue());
+            }
             if (StringUtils.isEmpty(gp.getValue())) {
                 gp.setValue(originalProperties.get(updatedPropertyName).getDefaultValue());
             }
@@ -225,7 +229,7 @@ public class GroupBusinessLogicNew {
         } else {
             value = parentValues.get(propertyKey);
         }
-        return Integer.valueOf(value);
+        return Integer.parseInt(value);
     }
 
     private boolean isOnlyGroupPropertyValueChanged(GroupProperty groupProperty1, GroupProperty groupProperty2) {
@@ -233,10 +237,14 @@ public class GroupBusinessLogicNew {
         groupProperty1Duplicate.setValue(null);
         groupProperty1Duplicate.setSchema(null);
         groupProperty1Duplicate.setParentUniqueId(null);
+        groupProperty1Duplicate.setToscaGetFunction(null);
+        groupProperty1Duplicate.setToscaGetFunctionType(null);
         GroupProperty groupProperty2Duplicate = new GroupProperty(groupProperty2);
         groupProperty2Duplicate.setValue(null);
         groupProperty2Duplicate.setSchema(null);
         groupProperty2Duplicate.setParentUniqueId(null);
+        groupProperty2Duplicate.setToscaGetFunction(null);
+        groupProperty2Duplicate.setToscaGetFunctionType(null);
         return StringUtils.equals(groupProperty1Duplicate.getValueUniqueUid(), groupProperty2Duplicate.getValueUniqueUid()) && groupProperty1Duplicate
             .equals(groupProperty2Duplicate);
     }
index 8fe4cff..d20d2af 100644 (file)
@@ -313,6 +313,8 @@ public class GroupsOperation extends BaseOperation {
                 Optional<PropertyDataDefinition> currentProp = properties.stream().filter(p -> p.getName().equals(np.getName())).findAny();
                 if (currentProp.isPresent()) {
                     currentProp.get().setValue(np.getValue());
+                    currentProp.get().setToscaGetFunction(np.getToscaGetFunction());
+                    currentProp.get().setToscaGetFunctionType(np.getToscaGetFunctionType());
                 }
             });
             updateVersion(promoteMinorVersion, group);