Repository: incubator-gobblin
Updated Branches:
  refs/heads/master 47951b21d -> 647319ca6


Fix NPE while reading empty config strings

Closes #2197 from pcadabam/master


Project: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/commit/647319ca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/tree/647319ca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/diff/647319ca

Branch: refs/heads/master
Commit: 647319ca6e4ecc5991dcefd1794e1e64a16dd458
Parents: 47951b2
Author: Pradhan Cadabam <[email protected]>
Authored: Tue Dec 12 01:25:06 2017 -0800
Committer: Abhishek Tiwari <[email protected]>
Committed: Tue Dec 12 01:25:06 2017 -0800

----------------------------------------------------------------------
 .../src/main/java/org/apache/gobblin/util/ConfigUtils.java      | 4 +++-
 .../src/test/java/org/apache/gobblin/util/ConfigUtilsTest.java  | 5 +++++
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/647319ca/gobblin-utility/src/main/java/org/apache/gobblin/util/ConfigUtils.java
----------------------------------------------------------------------
diff --git 
a/gobblin-utility/src/main/java/org/apache/gobblin/util/ConfigUtils.java 
b/gobblin-utility/src/main/java/org/apache/gobblin/util/ConfigUtils.java
index 96b219d..4ca747c 100644
--- a/gobblin-utility/src/main/java/org/apache/gobblin/util/ConfigUtils.java
+++ b/gobblin-utility/src/main/java/org/apache/gobblin/util/ConfigUtils.java
@@ -419,7 +419,9 @@ public class ConfigUtils {
     try {
       valueList = config.getStringList(path);
     } catch (ConfigException.WrongType e) {
-
+      if (StringUtils.isEmpty(config.getString(path))) {
+        return Collections.emptyList();
+      }
       /*
        * Using CSV Reader as values could be quoted.
        * E.g The string "a","false","b","10,12" will be split to a list of 4 
elements and not 5.

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/647319ca/gobblin-utility/src/test/java/org/apache/gobblin/util/ConfigUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/gobblin-utility/src/test/java/org/apache/gobblin/util/ConfigUtilsTest.java 
b/gobblin-utility/src/test/java/org/apache/gobblin/util/ConfigUtilsTest.java
index 0339eaa..4ac527d 100644
--- a/gobblin-utility/src/test/java/org/apache/gobblin/util/ConfigUtilsTest.java
+++ b/gobblin-utility/src/test/java/org/apache/gobblin/util/ConfigUtilsTest.java
@@ -129,6 +129,11 @@ public class ConfigUtilsTest {
     Map<String,String> configMap = Maps.newHashMap();
     configMap.put("key1", null);
     
Assert.assertEquals(ConfigUtils.getStringList(ConfigFactory.parseMap(configMap),
 "key1"), ImmutableList.of());
+
+    // Empty list if value is empty string
+    configMap = Maps.newHashMap();
+    configMap.put("key2", "");
+    
Assert.assertEquals(ConfigUtils.getStringList(ConfigFactory.parseMap(configMap),
 "key2"), ImmutableList.of());
   }
 
   @Test

Reply via email to