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 0e6d86a576e8835765e8924f9f3f7f00f36b05e4
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Jan 14 09:08:20 2023 -0500

    Add and use a package-private singleton for JaccardSimilarity
---
 src/changes/changes.xml                                            | 3 ++-
 .../java/org/apache/commons/text/similarity/JaccardDistance.java   | 7 +------
 .../java/org/apache/commons/text/similarity/JaccardSimilarity.java | 5 +++++
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index cb0067d8..30a10e2c 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -47,13 +47,14 @@ The <action> type attribute can be add,update,fix,remove.
   <release version="1.10.1" date="20YY-MM-DD" description="Release 1.10.1. 
Requires Java 8.">
     <!-- FIX -->
     <action issue="TEXT-219" type="fix" dev="aherbert" due-to="Jaap 
Sperling">Fix StringTokenizer.getTokenList to return an independent modifiable 
list</action>
-    <action                  type="fix" dev="aherbert" due-to="James Nord">Fix 
javadoc for StringEscapeUtils.escapeHtml4 #382</action>
+    <action                  type="fix" dev="aherbert" due-to="James Nord">Fix 
Javadoc for StringEscapeUtils.escapeHtml4 #382</action>
     <action                  type="fix" dev="ggregory" due-to="Pavel Belousov, 
Gary Gregory">TextStringBuidler#hashCode() allocates a String on each call 
#387.</action>
     <action issue="TEXT-221" type="fix" dev="aherbert" due-to="Remco 
Riswick">Fix Bundle-SymbolicName to use the package name 
org.apache.commons.text</action>
     <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for RegexTokenizer.</action>
     <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for CosineSimilarity.</action>
     <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for 
LongestCommonSubsequence.</action>
     <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for 
JaroWinklerSimilarity.</action>
+    <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">Add and use a package-private singleton for JaccardSimilarity.</action>
     <!-- ADD -->
     <!-- UPDATE -->
     <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump actions/cache from 3.0.8 to 3.0.10 #361, #365.</action>
diff --git 
a/src/main/java/org/apache/commons/text/similarity/JaccardDistance.java 
b/src/main/java/org/apache/commons/text/similarity/JaccardDistance.java
index fe956b20..eba0895a 100644
--- a/src/main/java/org/apache/commons/text/similarity/JaccardDistance.java
+++ b/src/main/java/org/apache/commons/text/similarity/JaccardDistance.java
@@ -30,11 +30,6 @@ package org.apache.commons.text.similarity;
  */
 public class JaccardDistance implements EditDistance<Double> {
 
-    /**
-     * We normalize the jaccardSimilarity for the purpose of computing the 
distance.
-     */
-    private final JaccardSimilarity jaccardSimilarity = new 
JaccardSimilarity();
-
     /**
      * Calculates Jaccard distance of two set character sequence passed as
      * input. Calculates Jaccard similarity and returns the complement of it.
@@ -50,6 +45,6 @@ public class JaccardDistance implements EditDistance<Double> {
         if (left == null || right == null) {
             throw new IllegalArgumentException("Input cannot be null");
         }
-        return 1.0 - jaccardSimilarity.apply(left, right).doubleValue();
+        return 1.0 - JaccardSimilarity.INSTANCE.apply(left, 
right).doubleValue();
     }
 }
diff --git 
a/src/main/java/org/apache/commons/text/similarity/JaccardSimilarity.java 
b/src/main/java/org/apache/commons/text/similarity/JaccardSimilarity.java
index 4f291392..9b77d255 100644
--- a/src/main/java/org/apache/commons/text/similarity/JaccardSimilarity.java
+++ b/src/main/java/org/apache/commons/text/similarity/JaccardSimilarity.java
@@ -33,6 +33,11 @@ import java.util.Set;
  */
 public class JaccardSimilarity implements SimilarityScore<Double> {
 
+    /**
+     * Singleton instance.
+     */
+    static final JaccardSimilarity INSTANCE = new JaccardSimilarity();
+
     /**
      * Calculates Jaccard Similarity of two set character sequence passed as
      * input.

Reply via email to