From bd9bbf396c164f095d724d60c915b771c2e8cfa0 Mon Sep 17 00:00:00 2001 From: Maarten Rijke Date: Mon, 8 Dec 2014 20:11:58 +0100 Subject: [PATCH 1/2] Fix NullPointerException in PartialDimExtractionFn by explicity checking for dimValue == null --- .../java/io/druid/query/extraction/PartialDimExtractionFn.java | 1 + .../query/extraction/extraction/PartialDimExtractionFnTest.java | 1 + 2 files changed, 2 insertions(+) diff --git a/processing/src/main/java/io/druid/query/extraction/PartialDimExtractionFn.java b/processing/src/main/java/io/druid/query/extraction/PartialDimExtractionFn.java index 323c7989387..7e2bd294378 100644 --- a/processing/src/main/java/io/druid/query/extraction/PartialDimExtractionFn.java +++ b/processing/src/main/java/io/druid/query/extraction/PartialDimExtractionFn.java @@ -58,6 +58,7 @@ public class PartialDimExtractionFn implements DimExtractionFn @Override public String apply(String dimValue) { + if (dimValue == null) return null; Matcher matcher = pattern.matcher(dimValue); return matcher.find() ? dimValue : null; } diff --git a/processing/src/test/java/io/druid/query/extraction/extraction/PartialDimExtractionFnTest.java b/processing/src/test/java/io/druid/query/extraction/extraction/PartialDimExtractionFnTest.java index 8c9cb6b093a..deeb7ac05ce 100644 --- a/processing/src/test/java/io/druid/query/extraction/extraction/PartialDimExtractionFnTest.java +++ b/processing/src/test/java/io/druid/query/extraction/extraction/PartialDimExtractionFnTest.java @@ -41,6 +41,7 @@ public class PartialDimExtractionFnTest "Vancouver", "Pretoria", "Wellington", + null, "Ontario" }; From 90670a9c7e32b0aa83f829d7064c7efdf0dbd09d Mon Sep 17 00:00:00 2001 From: Maarten Rijke Date: Mon, 8 Dec 2014 20:11:58 +0100 Subject: [PATCH 2/2] Fix NullPointerException in PartialDimExtractionFn by explicity checking for dimValue == null, attempt 2 --- .../java/io/druid/query/extraction/PartialDimExtractionFn.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/src/main/java/io/druid/query/extraction/PartialDimExtractionFn.java b/processing/src/main/java/io/druid/query/extraction/PartialDimExtractionFn.java index 7e2bd294378..34c026f3db3 100644 --- a/processing/src/main/java/io/druid/query/extraction/PartialDimExtractionFn.java +++ b/processing/src/main/java/io/druid/query/extraction/PartialDimExtractionFn.java @@ -58,7 +58,7 @@ public class PartialDimExtractionFn implements DimExtractionFn @Override public String apply(String dimValue) { - if (dimValue == null) return null; + dimValue = (dimValue == null) ? "" : dimValue; Matcher matcher = pattern.matcher(dimValue); return matcher.find() ? dimValue : null; }