Author: niallp
Date: Thu Jul 12 07:40:37 2007
New Revision: 555645
URL: http://svn.apache.org/viewvc?view=rev&rev=555645
Log:
BEANUTILS-288 Don't try parsing values that are already Dates/Numbers in
Date/Number locale Converters
Modified:
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DateLocaleConverter.java
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DecimalLocaleConverter.java
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/DateLocaleConverterTestCase.java
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/IntegerLocaleConverterTestCase.java
Modified:
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DateLocaleConverter.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DateLocaleConverter.java?view=diff&rev=555645&r1=555644&r2=555645
==============================================================================
---
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DateLocaleConverter.java
(original)
+++
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DateLocaleConverter.java
Thu Jul 12 07:40:37 2007
@@ -259,6 +259,16 @@
*/
protected Object parse(Object value, String pattern) throws ParseException
{
+ // Handle Date
+ if (value instanceof java.util.Date) {
+ return value;
+ }
+
+ // Handle Calendar
+ if (value instanceof java.util.Calendar) {
+ return ((java.util.Calendar)value).getTime();
+ }
+
if (locPattern) {
pattern = convertLocalizedPattern(pattern, locale);
}
Modified:
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DecimalLocaleConverter.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DecimalLocaleConverter.java?view=diff&rev=555645&r1=555644&r2=555645
==============================================================================
---
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DecimalLocaleConverter.java
(original)
+++
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/converters/DecimalLocaleConverter.java
Thu Jul 12 07:40:37 2007
@@ -225,6 +225,11 @@
* cannot be performed successfully
*/
protected Object parse(Object value, String pattern) throws ParseException
{
+
+ if (value instanceof Number) {
+ return value;
+ }
+
// Note that despite the ambiguous "getInstance" name, and despite the
// fact that objects returned from this method have the same toString
// representation, each call to getInstance actually returns a new
Modified:
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/DateLocaleConverterTestCase.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/DateLocaleConverterTestCase.java?view=diff&rev=555645&r1=555644&r2=555645
==============================================================================
---
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/DateLocaleConverterTestCase.java
(original)
+++
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/DateLocaleConverterTestCase.java
Thu Jul 12 07:40:37 2007
@@ -430,5 +430,23 @@
}
+ /**
+ * Test java.util.Date
+ */
+ public void testDateObject() {
+ converter = new DateLocaleConverter(defaultLocale);
+ assertEquals("java.util.Date", expectedValue,
converter.convert(expectedValue));
+ }
+
+ /**
+ * Test Calendar
+ */
+ public void testCalendarObject() {
+ converter = new DateLocaleConverter(defaultLocale);
+ java.util.Calendar calendar = java.util.Calendar.getInstance();
+ calendar.setTime((java.util.Date)expectedValue);
+ assertEquals("java.util.Calendar", expectedValue,
converter.convert(calendar));
+ }
+
}
Modified:
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/IntegerLocaleConverterTestCase.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/IntegerLocaleConverterTestCase.java?view=diff&rev=555645&r1=555644&r2=555645
==============================================================================
---
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/IntegerLocaleConverterTestCase.java
(original)
+++
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/converters/IntegerLocaleConverterTestCase.java
Thu Jul 12 07:40:37 2007
@@ -258,6 +258,19 @@
}
+ /**
+ * Test Converting a number
+ */
+ public void testNumber() {
+
+ // ------------- Construct using specified Locale --------
+ converter = new IntegerLocaleConverter(localizedLocale);
+
+ Integer value = new Integer(1234);
+ assertEquals("Convert Integer", value, converter.convert(value));
+ assertEquals("Convert Long", value, converter.convert(new
Long(value.intValue())));
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]