Support additional operands for node filters
[sdc.git] / catalog-model / src / main / java / org / openecomp / sdc / be / model / dto / FilterConstraintDto.java
index b9ceb11..4800c02 100644 (file)
@@ -22,6 +22,8 @@
 package org.openecomp.sdc.be.model.dto;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Optional;
 import lombok.Data;
 import org.openecomp.sdc.be.datatypes.elements.ToscaGetFunctionDataDefinition;
@@ -38,6 +40,7 @@ public class FilterConstraintDto {
     private ConstraintType operator;
     private FilterValueType valueType;
     private Object value;
+    private String originalType;
 
     public boolean isCapabilityPropertyFilter() {
         return capabilityName != null;
@@ -53,6 +56,18 @@ public class FilterConstraintDto {
             return Optional.empty();
         }
     }
+    public Optional<List<ToscaGetFunctionDataDefinition>> getAsListToscaGetFunction() {
+        List<ToscaGetFunctionDataDefinition> toscaGetFunctionDataDefinitionList = new ArrayList<>();
+        if (value instanceof List) {
+            try {
+                ((List<?>) value).forEach(toscaValue -> toscaGetFunctionDataDefinitionList.add(new ObjectMapper().convertValue(toscaValue, ToscaGetFunctionDataDefinition.class)));
+                return Optional.of(toscaGetFunctionDataDefinitionList);
+            } catch (final Exception ignored) {
+                return Optional.empty();
+            }
+        }
+        return Optional.empty();
+    }
 
 }