This is an automated email from the ASF dual-hosted git repository.
jonwei pushed a commit to branch 0.20.0
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/0.20.0 by this push:
new eb6b2e6 Allow using jsonpath predicates with AvroFlattener (#10330)
(#10475)
eb6b2e6 is described below
commit eb6b2e6d05788ce83d4a60094cc8ad528ee1137c
Author: Jonathan Wei <[email protected]>
AuthorDate: Sun Oct 4 15:56:07 2020 -0700
Allow using jsonpath predicates with AvroFlattener (#10330) (#10475)
Co-authored-by: Lasse Krogh Mammen <[email protected]>
---
.../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: [email protected]
For additional commands, e-mail: [email protected]