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

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-text.git

commit 3c4d37d68a18aa5c93b95f27645c7589c58e54e8
Author: Gary Gregory <gardgreg...@gmail.com>
AuthorDate: Fri Aug 14 01:44:06 2020 -0400

    [TEXT-186] StringSubstitutor map constructor throws NPE on 1.9 with null
    map.
---
 src/changes/changes.xml                                             | 3 ++-
 .../java/org/apache/commons/text/lookup/FunctionStringLookup.java   | 3 ++-
 src/test/java/org/apache/commons/text/StringSubstitutorTest.java    | 6 ++++++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index e07244a..8c410c7 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -45,7 +45,8 @@ The <action> type attribute can be add,update,fix,remove.
   </properties>
   <body>
   <release version="1.9.1" date="202Y-MM-DD" description="Release 1.9.1. 
Requires Java 8.">
-    <action issue="TEXT-158" type="fix" dev="kinow">Incorrect values for 
Jaccard similarity with empty strings</action>
+    <action issue="TEXT-158" type="fix" dev="kinow">Incorrect values for 
Jaccard similarity with empty strings.</action>
+    <action issue="TEXT-186" type="fix" dev="ggregory" due-to="Gautam Korlam, 
Gary Gregory">StringSubstitutor map constructor throws NPE on 1.9 with null 
map.</action>
     <action issue="TEXT-185" type="add" dev="ggregory" due-to="Larry West, 
Gary Gregory">Release Notes page hasn't been updated for 1.9 release 
yet.</action>    
     <action                  type="add" dev="ggregory" due-to="Gary Gregory, 
Dependabot">Update spotbugs.plugin.version 4.0.0 to 4.1.1, #144.</action>
     <action                  type="add" dev="ggregory" 
due-to="Dependabot">Update mockito-inline from 3.4.4 to 3.4.6 #143.</action>
diff --git 
a/src/main/java/org/apache/commons/text/lookup/FunctionStringLookup.java 
b/src/main/java/org/apache/commons/text/lookup/FunctionStringLookup.java
index ba158fc..50dd18d 100644
--- a/src/main/java/org/apache/commons/text/lookup/FunctionStringLookup.java
+++ b/src/main/java/org/apache/commons/text/lookup/FunctionStringLookup.java
@@ -16,6 +16,7 @@
  */
 package org.apache.commons.text.lookup;
 
+import java.util.Collections;
 import java.util.Map;
 import java.util.Objects;
 import java.util.function.Function;
@@ -48,7 +49,7 @@ final class FunctionStringLookup<V> extends 
AbstractStringLookup {
      * @return a new instance backed by the given map.
      */
     static <V> FunctionStringLookup<V> on(final Map<String, V> map) {
-        return on(map::get);
+        return on((map == null ? Collections.<String, V>emptyMap() : 
map)::get);
     }
 
     /**
diff --git a/src/test/java/org/apache/commons/text/StringSubstitutorTest.java 
b/src/test/java/org/apache/commons/text/StringSubstitutorTest.java
index f7301b5..368440c 100644
--- a/src/test/java/org/apache/commons/text/StringSubstitutorTest.java
+++ b/src/test/java/org/apache/commons/text/StringSubstitutorTest.java
@@ -202,6 +202,12 @@ public class StringSubstitutorTest {
     }
 
     @Test
+    public void testConstructorNullMap() {
+        Map<String, Object> parameters = null;
+        final StringSubstitutor s = new StringSubstitutor(parameters, 
"prefix", "suffix");
+    }
+
+    @Test
     public void testConstructorStringSubstitutor() {
         final StringSubstitutor source = new StringSubstitutor();
         source.setDisableSubstitutionInValues(true);

Reply via email to