Removing WordUtils.abbreviate as it's already found in StringUtils.abbreviate. This was identified in LANG-673
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1062328 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9c6d3ea78f
commit
ead7d965e7
|
@ -510,67 +510,4 @@ private static boolean isDelimiter(char ch, char[] delimiters) {
|
||||||
return false;
|
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -356,42 +356,4 @@ public void testSwapCase_String() {
|
||||||
assertEquals(expect, WordUtils.swapCase(test));
|
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,""));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue