always use consumer in output method 29/110429/1
authorBenjamin, Max <max.benjamin@att.com>
Tue, 21 Jul 2020 20:31:22 +0000 (16:31 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Tue, 21 Jul 2020 20:31:22 +0000 (16:31 -0400)
always use consumer in output method

Issue-ID: SO-3084
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: I03a36b1b7db702dc95b381f25853efcc073d0900

graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/graphinventory/entities/DSLQueryBuilder.java
graph-inventory/aai-client/src/test/java/org/onap/aaiclient/client/aai/DSLQueryBuilderTest.java

index 59e3895..c56ce0b 100644 (file)
@@ -63,7 +63,7 @@ public class DSLQueryBuilder<S, E> {
 
         Object obj = steps.get(steps.size() - 1);
         if (obj instanceof DSLNodeBase) {
-            ((DSLNodeBase) steps.get(steps.size() - 1)).output();
+            consumer.accept((DSLNodeBase) steps.get(steps.size() - 1));
         } else if (obj.getClass().getName().contains("$$Lambda$")) {
             // process lambda expressions
             for (Field f : obj.getClass().getDeclaredFields()) {
index 9cae761..b0b0c6a 100644 (file)
@@ -26,6 +26,7 @@ import org.junit.Test;
 import org.onap.aaiclient.client.graphinventory.entities.DSLNodeKey;
 import org.onap.aaiclient.client.graphinventory.entities.DSLQueryBuilder;
 import org.onap.aaiclient.client.graphinventory.entities.DSLStartNode;
+import org.onap.aaiclient.client.graphinventory.entities.Node;
 import org.onap.aaiclient.client.graphinventory.entities.Output;
 import org.onap.aaiclient.client.graphinventory.entities.Start;
 import org.onap.aaiclient.client.graphinventory.entities.TraversalBuilder;
@@ -149,12 +150,20 @@ public class DSLQueryBuilderTest {
 
     @Test
     public void selectOutputFilterTest() {
-        DSLQueryBuilder<Output, Output> builder =
-                TraversalBuilder.traversal(new DSLStartNode(AAIObjectType.CLOUD_REGION, __.key("cloud-owner", "att-nc"))
+        DSLQueryBuilder<Output, Output> builder = TraversalBuilder
+                .traversal(new DSLStartNode(AAIObjectType.CLOUD_REGION, __.key("cloud-owner", "CloudOwner"))
                         .output("cloud-region-id", "a", "b"));
         builder.to(__.node(AAIObjectType.PSERVER)).output("x", "y", "z");
 
-        assertEquals("cloud-region{'cloud-region-id', 'a', 'b'}('cloud-owner', 'att-nc') > pserver{'x', 'y', 'z'}",
+        assertEquals("cloud-region{'cloud-region-id', 'a', 'b'}('cloud-owner', 'CloudOwner') > pserver{'x', 'y', 'z'}",
                 builder.build().toString());
     }
+
+    @Test
+    public void selectOutputFilterOnNodeTest() {
+        DSLStartNode node = new DSLStartNode(AAIObjectType.CLOUD_REGION, __.key("cloud-owner", "CloudOwner"));
+        DSLQueryBuilder<Start, Node> builder = TraversalBuilder.fragment(node).output("cloud-region-id");
+
+        assertEquals("cloud-region{'cloud-region-id'}('cloud-owner', 'CloudOwner')", builder.build().toString());
+    }
 }