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 f848519ca2230f096b074f193d99c39f02cfa9df Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Jan 14 09:05:37 2023 -0500 Add and use a package-private singleton for JaroWinklerSimilarity --- src/changes/changes.xml | 1 + .../org/apache/commons/text/similarity/JaroWinklerDistance.java | 7 +------ .../org/apache/commons/text/similarity/JaroWinklerSimilarity.java | 5 +++++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index c3b33d32..cb0067d8 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -53,6 +53,7 @@ The <action> type attribute can be add,update,fix,remove. <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> <!-- 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/JaroWinklerDistance.java b/src/main/java/org/apache/commons/text/similarity/JaroWinklerDistance.java index 1d13c280..924013b6 100644 --- a/src/main/java/org/apache/commons/text/similarity/JaroWinklerDistance.java +++ b/src/main/java/org/apache/commons/text/similarity/JaroWinklerDistance.java @@ -44,11 +44,6 @@ public class JaroWinklerDistance implements EditDistance<Double> { return JaroWinklerSimilarity.matches(first, second); } - /** - * Jaro Winkler similarity object used to calculate the distance (1 - similarity). - */ - private final JaroWinklerSimilarity similarity = new JaroWinklerSimilarity(); - /** * Computes the Jaro Winkler Distance between two character sequences. * @@ -88,6 +83,6 @@ public class JaroWinklerDistance implements EditDistance<Double> { throw new IllegalArgumentException("CharSequences must not be null"); } - return 1 - similarity.apply(left, right); + return 1 - JaroWinklerSimilarity.INSTANCE.apply(left, right); } } diff --git a/src/main/java/org/apache/commons/text/similarity/JaroWinklerSimilarity.java b/src/main/java/org/apache/commons/text/similarity/JaroWinklerSimilarity.java index 3659d4d9..b2e27315 100644 --- a/src/main/java/org/apache/commons/text/similarity/JaroWinklerSimilarity.java +++ b/src/main/java/org/apache/commons/text/similarity/JaroWinklerSimilarity.java @@ -43,6 +43,11 @@ import org.apache.commons.lang3.StringUtils; */ public class JaroWinklerSimilarity implements SimilarityScore<Double> { + /** + * Singleton instance. + */ + static final JaroWinklerSimilarity INSTANCE = new JaroWinklerSimilarity(); + /** * This method returns the Jaro-Winkler string matches, half transpositions, prefix array. *