diff --git a/utils/src/main/java/com/cloud/utils/StringUtils.java b/utils/src/main/java/com/cloud/utils/StringUtils.java index 6af3075ee78..e858bee74a0 100644 --- a/utils/src/main/java/com/cloud/utils/StringUtils.java +++ b/utils/src/main/java/com/cloud/utils/StringUtils.java @@ -124,7 +124,7 @@ public class StringUtils { /** * Converts a List of tags to a comma separated list - * @param tagsList + * @param tags * @return String containing a comma separated list of tags */ @@ -313,30 +313,4 @@ public class StringUtils { public static String toCSVList(final List csvList) { return join(csvList, ","); } - - /** - * Calculates minimum number of edits required to convert from one string to another string. - * @param str1 String that needs editing - * @param str2 Target string that is required/expected after editing - * @return minimum number of edits required to convert str1 to str2 - */ - public static int minimumEditDistance(String str1, String str2) { - int str1Length = str1.length(); - int str2Length = str2.length(); - int[][] auxiliaryArray = new int[str1Length + 1][str2Length + 1]; - - for (int i = 0; i <= str1Length; i++) { - for (int j = 0; j <= str2Length; j++) { - if (i == 0) - auxiliaryArray[i][j] = j; - else if (j == 0) - auxiliaryArray[i][j] = i; - else if (str1.charAt(i - 1) == str2.charAt(j - 1)) - auxiliaryArray[i][j] = auxiliaryArray[i - 1][j - 1]; - else - auxiliaryArray[i][j] = 1 + Integer.min(Integer.min(auxiliaryArray[i][j - 1], auxiliaryArray[i - 1][j]), auxiliaryArray[i - 1][j - 1]); - } - } - return auxiliaryArray[str1Length][str2Length]; - } } diff --git a/utils/src/test/java/com/cloud/utils/StringUtilsTest.java b/utils/src/test/java/com/cloud/utils/StringUtilsTest.java index 29f9be32f30..09a6c71bcf8 100644 --- a/utils/src/test/java/com/cloud/utils/StringUtilsTest.java +++ b/utils/src/test/java/com/cloud/utils/StringUtilsTest.java @@ -258,34 +258,4 @@ public class StringUtilsTest { String output = StringUtils.toCSVList(Arrays.asList(input.split(","))); assertTrue(input.equals(output)); } - - @Test - public void testZeroEditDistance() { - String str1 = "Other 32-bit"; - String str2 = "Other 32-bit"; - int minDistance = StringUtils.minimumEditDistance(str1, str2); - assertEquals(minDistance, 0); - } - - @Test - public void testBestMatchStringWithEditDistance() { - String str1 = "FreeBSD 11 (32bit)"; - String str2 = "FreeBSD 12 (64bit)"; - String targetString = "FreeBSD 64bit"; - int minDistanceStr1 = StringUtils.minimumEditDistance(str1, targetString); - int minDistanceStr2 = StringUtils.minimumEditDistance(str2, targetString); - // the best match will be str2, so expecting less edit distance - assertTrue(minDistanceStr2 < minDistanceStr1); - } - - @Test - public void testCompletelyDifferentStringsWithEditDistance() { - String str1 = "Other (32-bit)"; - String str2 = "SCO OpenServer 5"; - String targetString = "Other 32-bit"; - int minDistanceStr1 = StringUtils.minimumEditDistance(str1, targetString); - int minDistanceStr2 = StringUtils.minimumEditDistance(str2, targetString); - // the best match will be str1, so expecting less edit distance - assertTrue(minDistanceStr1 < minDistanceStr2); - } }