diff --git a/src/main/java/org/apache/commons/lang3/text/WordUtils.java b/src/main/java/org/apache/commons/lang3/text/WordUtils.java index d8e48a3e1..ef594a252 100644 --- a/src/main/java/org/apache/commons/lang3/text/WordUtils.java +++ b/src/main/java/org/apache/commons/lang3/text/WordUtils.java @@ -510,67 +510,4 @@ private static boolean isDelimiter(char ch, char[] delimiters) { return false; } - //----------------------------------------------------------------------- - /** - * Abbreviates a string nicely. - * - * This method searches for the first space after the lower limit and abbreviates - * the String there. It will also append any String passed as a parameter - * to the end of the String. The upper limit can be specified to forcibly - * abbreviate a String. - * - * @param str the string to be abbreviated. If null is passed, null is returned. - * If the empty String is passed, the empty string is returned. - * @param lower the lower limit. - * @param upper the upper limit; specify -1 if no limit is desired. - * If the upper limit is lower than the lower limit, it will be - * adjusted to be the same as the lower limit. - * @param appendToEnd String to be appended to the end of the abbreviated string. - * This is appended ONLY if the string was indeed abbreviated. - * The append does not count towards the lower or upper limits. - * @return the abbreviated String. - * @since 2.4 - */ - public static String abbreviate(String str, int lower, int upper, String appendToEnd) { - // initial parameter checks - if (str == null) { - return null; - } - if (str.length() == 0) { - return StringUtils.EMPTY; - } - - // if the lower value is greater than the length of the string, - // set to the length of the string - if (lower > str.length()) { - lower = str.length(); - } - // if the upper value is -1 (i.e. no limit) or is greater - // than the length of the string, set to the length of the string - if (upper == -1 || upper > str.length()) { - upper = str.length(); - } - // if upper is less than lower, raise it to lower - if (upper < lower) { - upper = lower; - } - - StringBuilder result = new StringBuilder(); - int index = StringUtils.indexOf(str, " ", lower); - if (index == -1) { - result.append(str.substring(0, upper)); - // only if abbreviation has occured do we append the appendToEnd value - if (upper != str.length()) { - result.append(StringUtils.defaultString(appendToEnd)); - } - } else if (index > upper) { - result.append(str.substring(0, upper)); - result.append(StringUtils.defaultString(appendToEnd)); - } else { - result.append(str.substring(0, index)); - result.append(StringUtils.defaultString(appendToEnd)); - } - return result.toString(); - } - } diff --git a/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java b/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java index 8442b15fc..ccb95e59c 100644 --- a/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java @@ -356,42 +356,4 @@ public void testSwapCase_String() { assertEquals(expect, WordUtils.swapCase(test)); } - // ----------------------------------------------------------------------- - public void testAbbreviate() { - // check null and empty are returned respectively - assertNull(WordUtils.abbreviate(null, 1,-1,"")); - assertEquals(StringUtils.EMPTY, WordUtils.abbreviate("", 1,-1,"")); - - // test upper limit - assertEquals("01234", WordUtils.abbreviate("0123456789", 0,5,"")); - assertEquals("01234", WordUtils.abbreviate("0123456789", 5, 2,"")); - assertEquals("012", WordUtils.abbreviate("012 3456789", 2, 5,"")); - assertEquals("012 3", WordUtils.abbreviate("012 3456789", 5, 2,"")); - assertEquals("0123456789", WordUtils.abbreviate("0123456789", 0,-1,"")); - - // test upper limit + append string - assertEquals("01234-", WordUtils.abbreviate("0123456789", 0,5,"-")); - assertEquals("01234-", WordUtils.abbreviate("0123456789", 5, 2,"-")); - assertEquals("012", WordUtils.abbreviate("012 3456789", 2, 5, null)); - assertEquals("012 3", WordUtils.abbreviate("012 3456789", 5, 2,"")); - assertEquals("0123456789", WordUtils.abbreviate("0123456789", 0,-1,"")); - - // test lower value - assertEquals("012", WordUtils.abbreviate("012 3456789", 0,5, null)); - assertEquals("01234", WordUtils.abbreviate("01234 56789", 5, 10, null)); - assertEquals("01 23 45 67", WordUtils.abbreviate("01 23 45 67 89", 9, -1, null)); - assertEquals("01 23 45 6", WordUtils.abbreviate("01 23 45 67 89", 9, 10, null)); - assertEquals("0123456789", WordUtils.abbreviate("0123456789", 15, 20, null)); - - // test lower value + append - assertEquals("012", WordUtils.abbreviate("012 3456789", 0,5, null)); - assertEquals("01234-", WordUtils.abbreviate("01234 56789", 5, 10, "-")); - assertEquals("01 23 45 67abc", WordUtils.abbreviate("01 23 45 67 89", 9, -1, "abc")); - assertEquals("01 23 45 6", WordUtils.abbreviate("01 23 45 67 89", 9, 10, "")); - - // others - assertEquals("", WordUtils.abbreviate("0123456790", 0,0,"")); - assertEquals("", WordUtils.abbreviate(" 0123456790", 0,-1,"")); - } - }