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 fe8b612a7c25d23707fb91e3cacc0bf467bc1a26 Author: Gary Gregory <[email protected]> AuthorDate: Sat Sep 24 10:22:15 2022 -0400 Fix PMD CPD error by delegating deprecated method to new method --- .../text/similarity/JaroWinklerDistance.java | 54 +--------------------- 1 file changed, 1 insertion(+), 53 deletions(-) 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 932a63f7..85d0b3f7 100644 --- a/src/main/java/org/apache/commons/text/similarity/JaroWinklerDistance.java +++ b/src/main/java/org/apache/commons/text/similarity/JaroWinklerDistance.java @@ -43,59 +43,7 @@ public class JaroWinklerDistance implements EditDistance<Double> { */ @Deprecated protected static int[] matches(final CharSequence first, final CharSequence second) { - final CharSequence max; - final CharSequence min; - if (first.length() > second.length()) { - max = first; - min = second; - } else { - max = second; - min = first; - } - final int range = Math.max(max.length() / 2 - 1, 0); - final int[] matchIndexes = new int[min.length()]; - Arrays.fill(matchIndexes, -1); - final boolean[] matchFlags = new boolean[max.length()]; - int matches = 0; - for (int mi = 0; mi < min.length(); mi++) { - final char c1 = min.charAt(mi); - for (int xi = Math.max(mi - range, 0), xn = Math.min(mi + range + 1, max.length()); xi < xn; xi++) { - if (!matchFlags[xi] && c1 == max.charAt(xi)) { - matchIndexes[mi] = xi; - matchFlags[xi] = true; - matches++; - break; - } - } - } - final char[] ms1 = new char[matches]; - final char[] ms2 = new char[matches]; - for (int i = 0, si = 0; i < min.length(); i++) { - if (matchIndexes[i] != -1) { - ms1[si] = min.charAt(i); - si++; - } - } - for (int i = 0, si = 0; i < max.length(); i++) { - if (matchFlags[i]) { - ms2[si] = max.charAt(i); - si++; - } - } - int halfTranspositions = 0; - for (int mi = 0; mi < ms1.length; mi++) { - if (ms1[mi] != ms2[mi]) { - halfTranspositions++; - } - } - int prefix = 0; - for (int mi = 0; mi < Math.min(4, min.length()); mi++) { - if (first.charAt(mi) != second.charAt(mi)) { - break; - } - prefix++; - } - return new int[] {matches, halfTranspositions, prefix}; + return JaroWinklerSimilarity.matches(first, second); } /**
