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);