Service Import - Node Template Node Filter 14/129614/3
authorJvD_Ericsson <jeff.van.dam@est.tech>
Mon, 13 Jun 2022 13:09:06 +0000 (14:09 +0100)
committerMichael Morris <michael.morris@est.tech>
Mon, 20 Jun 2022 22:02:54 +0000 (22:02 +0000)
Issue-ID: SDC-4049
Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech>
Change-Id: If0de045f88db44d14936e6fcc55ad623fb235174

catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ComponentNodeFilterBusinessLogic.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentNodeFilterBusinessLogicTest.java

index e60ced5..65b5794 100644 (file)
@@ -358,9 +358,17 @@ public class ComponentNodeFilterBusinessLogic extends BaseBusinessLogic {
             List<RequirementNodeFilterPropertyDataDefinition> properties = ciNodeFilterDataDefinition.getProperties()
                 .getListToscaDataDefinition();
             if (!properties.isEmpty()) {
+                final Component component;
+                try {
+                    component = getComponent(componentId);
+                } catch (BusinessLogicException e) {
+                    throw new ComponentException(e.getResponseFormat());
+                }
                 properties.forEach(property -> {
+                    String propertyType = getComponentInstancePropertyType(component, componentInstanceId, property.getName());
                     RequirementNodeFilterPropertyDataDefinition requirementNodeFilterPropertyDataDefinition =
                         getRequirementNodeFilterPropertyDataDefinition(property);
+                    requirementNodeFilterPropertyDataDefinition.setType(propertyType);
                     Either<CINodeFilterDataDefinition, StorageOperationStatus> nodeFilterProperty = nodeFilterOperation
                         .addNewProperty(componentId, componentInstanceId, nodeFilter.left().value(), requirementNodeFilterPropertyDataDefinition);
                     if (nodeFilterProperty.isRight()) {
@@ -396,8 +404,7 @@ public class ComponentNodeFilterBusinessLogic extends BaseBusinessLogic {
 
     private List<String> getNodeFilterConstraints(String name, List<String> value) {
         List<String> constraints = new ArrayList<>();
-        String values = value.get(0).split("\n")[0];
-        constraints.add(name + ": {" + values + "}");
+        constraints.add(name + ":\n " + value.get(0));
         return constraints;
     }
 
index 3b717fb..aae88ab 100644 (file)
@@ -570,6 +570,7 @@ public class ComponentNodeFilterBusinessLogicTest extends BaseBusinessLogicMock
         nodeFilterMap.put(componentInstanceId, filter);
 
         when(nodeFilterOperation.createNodeFilter(componentId, componentInstanceId)).thenReturn(Either.left(ciNodeFilterDataDefinition));
+        when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(resource));
         when(nodeFilterOperation.addNewProperty(anyString(), anyString(), any(CINodeFilterDataDefinition.class),
             any(RequirementNodeFilterPropertyDataDefinition.class))).thenReturn(Either.left(ciNodeFilterDataDefinition));
 
@@ -593,6 +594,7 @@ public class ComponentNodeFilterBusinessLogicTest extends BaseBusinessLogicMock
         nodeFilterMap.put(componentInstanceId, filter);
 
         when(nodeFilterOperation.createNodeFilter(componentId, componentInstanceId)).thenReturn(Either.left(ciNodeFilterDataDefinition));
+        when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(resource));
         when(nodeFilterOperation.addNewProperty(anyString(), anyString(), any(CINodeFilterDataDefinition.class),
             any(RequirementNodeFilterPropertyDataDefinition.class))).thenReturn(Either.right(StorageOperationStatus.GENERAL_ERROR));