You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/06/17 08:51:36 UTC

incubator-kylin git commit: minor, fix null point exception in DictionaryGenerator

Repository: incubator-kylin
Updated Branches:
  refs/heads/0.7-staging 4a6e2d3d0 -> 96db2dee0


minor, fix null point exception in DictionaryGenerator


Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/96db2dee
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/96db2dee
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/96db2dee

Branch: refs/heads/0.7-staging
Commit: 96db2dee0d7842f7200d92a8269c786d609c47ef
Parents: 4a6e2d3
Author: Li, Yang <ya...@ebay.com>
Authored: Wed Jun 17 14:51:27 2015 +0800
Committer: Li, Yang <ya...@ebay.com>
Committed: Wed Jun 17 14:51:27 2015 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/dict/DictionaryGenerator.java     | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/96db2dee/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java b/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java
index 033ac4b..9a52235 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java
@@ -160,9 +160,9 @@ public class DictionaryGenerator {
     private static Dictionary buildStringDict(List<byte[]> values, int baseId, int nSamples, ArrayList samples) {
         TrieDictionaryBuilder builder = new TrieDictionaryBuilder(new StringBytesConverter());
         for (byte[] value : values) {
-            String v = Bytes.toString(value);
-            if (StringUtils.isBlank(v)) // empty string is null for numbers
+            if (value == null)
                 continue;
+            String v = Bytes.toString(value);
             builder.addValue(v);
             if (samples.size() < nSamples && samples.contains(v) == false)
                 samples.add(v);
@@ -173,7 +173,12 @@ public class DictionaryGenerator {
     private static Dictionary buildNumberDict(List<byte[]> values, int baseId, int nSamples, ArrayList samples) {
         NumberDictionaryBuilder builder = new NumberDictionaryBuilder(new StringBytesConverter());
         for (byte[] value : values) {
+            if (value == null)
+                continue;
             String v = Bytes.toString(value);
+            if (StringUtils.isBlank(v)) // empty string is null for numbers
+                continue;
+
             builder.addValue(v);
             if (samples.size() < nSamples && samples.contains(v) == false)
                 samples.add(v);