scolebourne 2003/08/01 16:20:06
Modified: lang/src/test/org/apache/commons/lang StringUtilsTest.java
lang/src/java/org/apache/commons/lang StringUtils.java
Log:
Relax exceptions in leftPad(), rightPad() and center()
Revision Changes Path
1.44 +7 -27
jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTest.java
Index: StringUtilsTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTest.java,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- StringUtilsTest.java 1 Aug 2003 23:01:52 -0000 1.43
+++ StringUtilsTest.java 1 Aug 2003 23:20:06 -0000 1.44
@@ -703,14 +703,8 @@
assertEquals("abc-+", StringUtils.rightPad("abc", 5, "-+~"));
assertEquals("abc", StringUtils.rightPad("abc", 2, " "));
assertEquals("abc", StringUtils.rightPad("abc", -1, " "));
- try {
- StringUtils.rightPad("abc56", 6, null);
- fail();
- } catch (IllegalArgumentException ex) {}
- try {
- StringUtils.rightPad("abc56", 6, "");
- fail();
- } catch (IllegalArgumentException ex) {}
+ assertEquals("abc ", StringUtils.rightPad("abc", 5, null));
+ assertEquals("abc ", StringUtils.rightPad("abc", 5, ""));
}
//-----------------------------------------------------------------------
@@ -741,14 +735,8 @@
assertEquals("-+abc", StringUtils.leftPad("abc", 5, "-+~"));
assertEquals("abc", StringUtils.leftPad("abc", 2, " "));
assertEquals("abc", StringUtils.leftPad("abc", -1, " "));
- try {
- StringUtils.leftPad("abc56", 6, null);
- fail();
- } catch (IllegalArgumentException ex) {}
- try {
- StringUtils.leftPad("abc56", 6, "");
- fail();
- } catch (IllegalArgumentException ex) {}
+ assertEquals(" abc", StringUtils.leftPad("abc", 5, null));
+ assertEquals(" abc", StringUtils.leftPad("abc", 5, ""));
}
//-----------------------------------------------------------------------
@@ -795,16 +783,8 @@
assertEquals(" a ", StringUtils.center("a", 4, " "));
assertEquals("yayz", StringUtils.center("a", 4, "yz"));
assertEquals("yzyayzy", StringUtils.center("a", 7, "yz"));
- try {
- StringUtils.center("abc", 4, null);
- fail();
- } catch (IllegalArgumentException ex) {
- }
- try {
- StringUtils.center("abc", 4, "");
- fail();
- } catch (IllegalArgumentException ex) {
- }
+ assertEquals(" abc ", StringUtils.center("abc", 7, null));
+ assertEquals(" abc ", StringUtils.center("abc", 7, ""));
}
//-----------------------------------------------------------------------
1.89 +16 -21
jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java
Index: StringUtils.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -r1.88 -r1.89
--- StringUtils.java 1 Aug 2003 23:11:55 -0000 1.88
+++ StringUtils.java 1 Aug 2003 23:20:06 -0000 1.89
@@ -3022,26 +3022,24 @@
* StringUtils.rightPad("bat", 8, "yz") = "batyzyzy"
* StringUtils.rightPad("bat", 1, "yz") = "bat"
* StringUtils.rightPad("bat", -1, "yz") = "bat"
- * StringUtils.rightPad("bat", 1, null) = IllegalArgumentException
- * StringUtils.rightPad("bat", 1, "") = IllegalArgumentException
- * StringUtils.rightPad(null, 1, "") = null
+ * StringUtils.rightPad("bat", 5, null) = "bat "
+ * StringUtils.rightPad("bat", 5, "") = "bat "
* </pre>
*
* @param str the String to pad out, may be null
* @param size the size to pad to
- * @param padStr the String to pad with, must not be null
+ * @param padStr the String to pad with, null or empty treated as single space
* @return right padded String or original String if no padding is necessary,
* <code>null</code> if null String input
- * @throws IllegalArgumentException if padStr is the empty String or null
*/
public static String rightPad(String str, int size, String padStr) {
if (str == null) {
return null;
}
- int padLen;
- if (padStr == null || (padLen = padStr.length()) == 0) {
- throw new IllegalArgumentException("Pad String must not be null or
empty");
+ if (padStr == null || padStr.length() == 0) {
+ padStr = " ";
}
+ int padLen = padStr.length();
int strLen = str.length();
int pads = size - strLen;
if (pads <= 0) {
@@ -3135,26 +3133,24 @@
* StringUtils.leftPad("bat", 8, "yz") = "yzyzybat"
* StringUtils.leftPad("bat", 1, "yz") = "bat"
* StringUtils.leftPad("bat", -1, "yz") = "bat"
- * StringUtils.leftPad("bat", 1, null) = IllegalArgumentException
- * StringUtils.leftPad("bat", 1, "") = IllegalArgumentException
- * StringUtils.leftPad(null, 1, "") = null
+ * StringUtils.leftPad("bat", 5, null) = " bat"
+ * StringUtils.leftPad("bat", 5, "") = " bat"
* </pre>
*
* @param str the String to pad out, may be null
* @param size the size to pad to
- * @param padStr the String to pad with, must not be null
+ * @param padStr the String to pad with, null or empty treated as single space
* @return left padded String or original String if no padding is necessary,
* <code>null</code> if null String input
- * @throws IllegalArgumentException if padStr is the empty String or null
*/
public static String leftPad(String str, int size, String padStr) {
if (str == null) {
return null;
}
- int padLen;
- if (padStr == null || (padLen = padStr.length()) == 0) {
- throw new IllegalArgumentException("Pad String must not be null or
empty");
+ if (padStr == null || padStr.length() == 0) {
+ padStr = " ";
}
+ int padLen = padStr.length();
int strLen = str.length();
int pads = size - strLen;
if (pads <= 0) {
@@ -3260,9 +3256,8 @@
* StringUtils.center("abcd", 2, " ") = "abcd"
* StringUtils.center("a", 4, " ") = " a "
* StringUtils.center("a", 4, "yz") = "yayz"
- * StringUtils.center("abc", 4, null) = IllegalArgumentException
- * StringUtils.center("abc", 4, "") = IllegalArgumentException
- * StringUtils.center(null, 4, "") = null
+ * StringUtils.center("abc", 7, null) = " abc "
+ * StringUtils.center("abc", 7, "") = " abc "
* </pre>
*
* @param str the String to center, may be null
@@ -3276,7 +3271,7 @@
return str;
}
if (padStr == null || padStr.length() == 0) {
- throw new IllegalArgumentException("Pad String must not be null or
empty");
+ padStr = " ";
}
int strLen = str.length();
int pads = size - strLen;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]