You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by dy...@apache.org on 2020/10/02 09:15:09 UTC

[druid] branch master updated: Allow using jsonpath predicates with AvroFlattener (#10330)

This is an automated email from the ASF dual-hosted git repository.

dylanwylie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 20ca9aa  Allow using jsonpath predicates with AvroFlattener (#10330)
20ca9aa is described below

commit 20ca9aaaf7b8faffea21179957ea14243dab683a
Author: Lasse Krogh Mammen <la...@gmail.com>
AuthorDate: Fri Oct 2 10:14:48 2020 +0100

    Allow using jsonpath predicates with AvroFlattener (#10330)
---
 .../druid/data/input/avro/GenericAvroJsonProvider.java |  2 +-
 .../druid/data/input/avro/AvroFlattenerMakerTest.java  | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java b/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
index 42195ca..ab6a53e 100644
--- a/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
+++ b/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
@@ -193,6 +193,6 @@ public class GenericAvroJsonProvider implements JsonProvider
   @Override
   public Object unwrap(final Object o)
   {
-    throw new UnsupportedOperationException("Unused");
+    return o;
   }
 }
diff --git a/extensions-core/avro-extensions/src/test/java/org/apache/druid/data/input/avro/AvroFlattenerMakerTest.java b/extensions-core/avro-extensions/src/test/java/org/apache/druid/data/input/avro/AvroFlattenerMakerTest.java
index d3faaf4..6becdf7 100644
--- a/extensions-core/avro-extensions/src/test/java/org/apache/druid/data/input/avro/AvroFlattenerMakerTest.java
+++ b/extensions-core/avro-extensions/src/test/java/org/apache/druid/data/input/avro/AvroFlattenerMakerTest.java
@@ -23,6 +23,8 @@ import org.apache.druid.data.input.AvroStreamInputRowParserTest;
 import org.apache.druid.data.input.SomeAvroDatum;
 import org.junit.Assert;
 import org.junit.Test;
+import java.util.Collections;
+import java.util.List;
 
 public class AvroFlattenerMakerTest
 {
@@ -195,6 +197,22 @@ public class AvroFlattenerMakerTest
         record.getSomeRecordArray(),
         flattener.makeJsonPathExtractor("$.someRecordArray").apply(record)
     );
+
+    Assert.assertEquals(
+        record.getSomeRecordArray().get(0).getNestedString(),
+        flattener.makeJsonPathExtractor("$.someRecordArray[0].nestedString").apply(record)
+    );
+
+    Assert.assertEquals(
+        record.getSomeRecordArray(),
+        flattener.makeJsonPathExtractor("$.someRecordArray[?(@.nestedString)]").apply(record)
+    );
+
+    List<String> nestedStringArray = Collections.singletonList(record.getSomeRecordArray().get(0).getNestedString().toString());
+    Assert.assertEquals(
+        nestedStringArray,
+        flattener.makeJsonPathExtractor("$.someRecordArray[?(@.nestedString=='string in record')].nestedString").apply(record)
+    );
   }
 
   @Test(expected = UnsupportedOperationException.class)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org