Author: oheger
Date: Sun Oct 20 20:28:19 2013
New Revision: 1533967

URL: http://svn.apache.org/r1533967
Log:
Generified all number converters.

Modified:
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigDecimalConverter.java
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigIntegerConverter.java
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ByteConverter.java
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/DoubleConverter.java
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/FloatConverter.java
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/IntegerConverter.java
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/LongConverter.java
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/NumberConverter.java
    
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ShortConverter.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigDecimalConverterTestCase.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigIntegerConverterTestCase.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ByteConverterTestCase.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/DoubleConverterTestCase.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/FloatConverterTestCase.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/IntegerConverterTestCase.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/LongConverterTestCase.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/NumberConverterTestBase.java
    
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ShortConverterTestCase.java

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigDecimalConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigDecimalConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigDecimalConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigDecimalConverter.java
 Sun Oct 20 20:28:19 2013
@@ -33,7 +33,7 @@ import java.math.BigDecimal;
  * @version $Id$
  * @since 1.3
  */
-public final class BigDecimalConverter extends NumberConverter {
+public final class BigDecimalConverter extends NumberConverter<BigDecimal> {
 
     /**
      * Construct a <b>java.math.BigDecimal</b> <i>Converter</i> that throws
@@ -62,7 +62,7 @@ public final class BigDecimalConverter e
      * @since 1.8.0
      */
     @Override
-    protected Class getDefaultType() {
+    protected Class<BigDecimal> getDefaultType() {
         return BigDecimal.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigIntegerConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigIntegerConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigIntegerConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/BigIntegerConverter.java
 Sun Oct 20 20:28:19 2013
@@ -33,7 +33,7 @@ import java.math.BigInteger;
  * @version $Id$
  * @since 1.3
  */
-public final class BigIntegerConverter extends NumberConverter {
+public final class BigIntegerConverter extends NumberConverter<BigInteger> {
 
     /**
      * Construct a <b>java.math.BigInteger</b> <i>Converter</i> that throws
@@ -62,7 +62,7 @@ public final class BigIntegerConverter e
      * @since 1.8.0
      */
     @Override
-    protected Class getDefaultType() {
+    protected Class<BigInteger> getDefaultType() {
         return BigInteger.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ByteConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ByteConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ByteConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ByteConverter.java
 Sun Oct 20 20:28:19 2013
@@ -31,7 +31,7 @@ package org.apache.commons.beanutils.con
  * @version $Id$
  * @since 1.3
  */
-public final class ByteConverter extends NumberConverter {
+public final class ByteConverter extends NumberConverter<Byte> {
 
     /**
      * Construct a <b>java.lang.Byte</b> <i>Converter</i> that throws
@@ -60,7 +60,7 @@ public final class ByteConverter extends
      * @since 1.8.0
      */
     @Override
-    protected Class getDefaultType() {
+    protected Class<Byte> getDefaultType() {
         return Byte.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/DoubleConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/DoubleConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/DoubleConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/DoubleConverter.java
 Sun Oct 20 20:28:19 2013
@@ -31,7 +31,7 @@ package org.apache.commons.beanutils.con
  * @version $Id$
  * @since 1.3
  */
-public final class DoubleConverter extends NumberConverter {
+public final class DoubleConverter extends NumberConverter<Double> {
 
     /**
      * Construct a <b>java.lang.Double</b> <i>Converter</i> that throws
@@ -60,7 +60,7 @@ public final class DoubleConverter exten
      * @since 1.8.0
      */
     @Override
-    protected Class getDefaultType() {
+    protected Class<Double> getDefaultType() {
         return Double.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/FloatConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/FloatConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/FloatConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/FloatConverter.java
 Sun Oct 20 20:28:19 2013
@@ -31,7 +31,7 @@ package org.apache.commons.beanutils.con
  * @version $Id$
  * @since 1.3
  */
-public final class FloatConverter extends NumberConverter {
+public final class FloatConverter extends NumberConverter<Float> {
 
     /**
      * Construct a <b>java.lang.Float</b> <i>Converter</i> that throws
@@ -60,7 +60,7 @@ public final class FloatConverter extend
      * @since 1.8.0
      */
     @Override
-    protected Class getDefaultType() {
+    protected Class<Float> getDefaultType() {
         return Float.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/IntegerConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/IntegerConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/IntegerConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/IntegerConverter.java
 Sun Oct 20 20:28:19 2013
@@ -31,7 +31,7 @@ package org.apache.commons.beanutils.con
  * @version $Id$
  * @since 1.3
  */
-public final class IntegerConverter extends NumberConverter {
+public final class IntegerConverter extends NumberConverter<Integer> {
 
     /**
      * Construct a <b>java.lang.Integer</b> <i>Converter</i> that throws
@@ -60,7 +60,7 @@ public final class IntegerConverter exte
      * @since 1.8.0
      */
     @Override
-    protected Class getDefaultType() {
+    protected Class<Integer> getDefaultType() {
         return Integer.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/LongConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/LongConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/LongConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/LongConverter.java
 Sun Oct 20 20:28:19 2013
@@ -31,7 +31,7 @@ package org.apache.commons.beanutils.con
  * @version $Id$
  * @since 1.3
  */
-public final class LongConverter extends NumberConverter {
+public final class LongConverter extends NumberConverter<Long> {
 
     /**
      * Construct a <b>java.lang.Long</b> <i>Converter</i> that throws
@@ -60,7 +60,7 @@ public final class LongConverter extends
      * @since 1.8.0
      */
     @Override
-    protected Class getDefaultType() {
+    protected Class<Long> getDefaultType() {
         return Long.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/NumberConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/NumberConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/NumberConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/NumberConverter.java
 Sun Oct 20 20:28:19 2013
@@ -16,15 +16,15 @@
  */
 package org.apache.commons.beanutils.converters;
 
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Locale;
 import java.math.BigDecimal;
 import java.math.BigInteger;
-import java.text.NumberFormat;
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;
+import java.text.NumberFormat;
 import java.text.ParsePosition;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
 
 import org.apache.commons.beanutils.ConversionException;
 
@@ -79,10 +79,11 @@ import org.apache.commons.beanutils.Conv
  * For example to cater for number styles used in Germany such as 
<code>0.000,00</code> the pattern
  * is specified in the normal form <code>0,000.00</code> and the locale set to 
<code>Locale.GERMANY</code>.
  *
+ * @param <D> the default type of this converter
  * @version $Id$
  * @since 1.8.0
  */
-public abstract class NumberConverter extends AbstractConverter {
+public abstract class NumberConverter<D> extends AbstractConverter<D> {
 
     private static final Integer ZERO = new Integer(0);
     private static final Integer ONE  = new Integer(1);
@@ -229,9 +230,9 @@ public abstract class NumberConverter ex
      * @throws Throwable if an error occurs converting to the specified type
      */
     @Override
-    protected Object convertToType(Class targetType, Object value) throws 
Throwable {
+    protected <T> T convertToType(Class<T> targetType, Object value) throws 
Throwable {
 
-        Class sourceType = value.getClass();
+        Class<?> sourceType = value.getClass();
         // Handle Number
         if (value instanceof Number) {
             return toNumber(sourceType, targetType, (Number)value);
@@ -244,12 +245,12 @@ public abstract class NumberConverter ex
 
         // Handle Date --> Long
         if (value instanceof Date && Long.class.equals(targetType)) {
-            return new Long(((Date)value).getTime());
+            return targetType.cast(new Long(((Date)value).getTime()));
         }
 
         // Handle Calendar --> Long
         if (value instanceof Calendar  && Long.class.equals(targetType)) {
-            return new Long(((Calendar)value).getTime().getTime());
+            return targetType.cast(new 
Long(((Calendar)value).getTime().getTime()));
         }
 
         // Convert all other types to String & handle
@@ -296,11 +297,11 @@ public abstract class NumberConverter ex
      *
      * @return The converted value.
      */
-    private Number toNumber(Class sourceType, Class targetType, Number value) {
+    private <T> T toNumber(Class<?> sourceType, Class<T> targetType, Number 
value) {
 
         // Correct Number type already
         if (targetType.equals(value.getClass())) {
-            return value;
+            return targetType.cast(value);
         }
 
         // Byte
@@ -314,7 +315,7 @@ public abstract class NumberConverter ex
                 throw new ConversionException(toString(sourceType) + " value 
'" + value
                         + "' is too small " + toString(targetType));
             }
-            return new Byte(value.byteValue());
+            return targetType.cast(new Byte(value.byteValue()));
         }
 
         // Short
@@ -328,7 +329,7 @@ public abstract class NumberConverter ex
                 throw new ConversionException(toString(sourceType) + " value 
'" + value
                         + "' is too small " + toString(targetType));
             }
-            return new Short(value.shortValue());
+            return targetType.cast(new Short(value.shortValue()));
         }
 
         // Integer
@@ -342,12 +343,12 @@ public abstract class NumberConverter ex
                 throw new ConversionException(toString(sourceType) + " value 
'" + value
                         + "' is too small " + toString(targetType));
             }
-            return new Integer(value.intValue());
+            return targetType.cast(new Integer(value.intValue()));
         }
 
         // Long
         if (targetType.equals(Long.class)) {
-            return new Long(value.longValue());
+            return targetType.cast(new Long(value.longValue()));
         }
 
         // Float
@@ -356,31 +357,31 @@ public abstract class NumberConverter ex
                 throw new ConversionException(toString(sourceType) + " value 
'" + value
                         + "' is too large for " + toString(targetType));
             }
-            return new Float(value.floatValue());
+            return targetType.cast(new Float(value.floatValue()));
         }
 
         // Double
         if (targetType.equals(Double.class)) {
-            return new Double(value.doubleValue());
+            return targetType.cast(new Double(value.doubleValue()));
         }
 
         // BigDecimal
         if (targetType.equals(BigDecimal.class)) {
             if (value instanceof Float || value instanceof Double) {
-                return new BigDecimal(value.toString());
+                return targetType.cast(new BigDecimal(value.toString()));
             } else if (value instanceof BigInteger) {
-                return new BigDecimal((BigInteger)value);
+                return targetType.cast(new BigDecimal((BigInteger)value));
             } else {
-                return BigDecimal.valueOf(value.longValue());
+                return targetType.cast(BigDecimal.valueOf(value.longValue()));
             }
         }
 
         // BigInteger
         if (targetType.equals(BigInteger.class)) {
             if (value instanceof BigDecimal) {
-                return ((BigDecimal)value).toBigInteger();
+                return targetType.cast(((BigDecimal)value).toBigInteger());
             } else {
-                return BigInteger.valueOf(value.longValue());
+                return targetType.cast(BigInteger.valueOf(value.longValue()));
             }
         }
 
@@ -413,7 +414,7 @@ public abstract class NumberConverter ex
      *
      * @return The converted Number value.
      */
-    private Number toNumber(Class sourceType, Class targetType, String value) {
+    private Number toNumber(Class<?> sourceType, Class<?> targetType, String 
value) {
 
         // Byte
         if (targetType.equals(Byte.class)) {
@@ -530,7 +531,7 @@ public abstract class NumberConverter ex
 
     /**
      * Convert a String into a <code>Number</code> object.
-     * @param sourceType TODO
+     * @param sourceType the source type of the conversion
      * @param targetType The type to convert the value to
      * @param value The String date value.
      * @param format The NumberFormat to parse the String value.
@@ -538,7 +539,7 @@ public abstract class NumberConverter ex
      * @return The converted Number object.
      * @throws ConversionException if the String cannot be converted.
      */
-    private Number parse(Class sourceType, Class targetType, String value, 
NumberFormat format) {
+    private Number parse(Class<?> sourceType, Class<?> targetType, String 
value, NumberFormat format) {
         ParsePosition pos = new ParsePosition(0);
         Number parsedNumber = format.parse(value, pos);
         if (pos.getErrorIndex() >= 0 || pos.getIndex() != value.length() || 
parsedNumber == null) {

Modified: 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ShortConverter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ShortConverter.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ShortConverter.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/converters/ShortConverter.java
 Sun Oct 20 20:28:19 2013
@@ -31,7 +31,7 @@ package org.apache.commons.beanutils.con
  * @version $Id$
  * @since 1.3
  */
-public final class ShortConverter extends NumberConverter {
+public final class ShortConverter extends NumberConverter<Short> {
 
     /**
      * Construct a <b>java.lang.Short</b> <i>Converter</i> that throws
@@ -60,7 +60,7 @@ public final class ShortConverter extend
      * @since 1.8.0
      */
     @Override
-    protected Class getDefaultType() {
+    protected Class<Short> getDefaultType() {
         return Short.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigDecimalConverterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigDecimalConverterTestCase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigDecimalConverterTestCase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigDecimalConverterTestCase.java
 Sun Oct 20 20:28:19 2013
@@ -63,17 +63,17 @@ public class BigDecimalConverterTestCase
     // ------------------------------------------------------------------------
 
     @Override
-    protected NumberConverter makeConverter() {
+    protected NumberConverter<?> makeConverter() {
         return new BigDecimalConverter();
     }
 
     @Override
-    protected NumberConverter makeConverter(Object defaultValue) {
+    protected NumberConverter<?> makeConverter(Object defaultValue) {
         return new BigDecimalConverter(defaultValue);
     }
 
     @Override
-    protected Class getExpectedType() {
+    protected Class<?> getExpectedType() {
         return BigDecimal.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigIntegerConverterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigIntegerConverterTestCase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigIntegerConverterTestCase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/BigIntegerConverterTestCase.java
 Sun Oct 20 20:28:19 2013
@@ -62,17 +62,17 @@ public class BigIntegerConverterTestCase
     // ------------------------------------------------------------------------
 
     @Override
-    protected NumberConverter makeConverter() {
+    protected NumberConverter<?> makeConverter() {
         return new BigIntegerConverter();
     }
 
     @Override
-    protected NumberConverter makeConverter(Object defaultValue) {
+    protected NumberConverter<?> makeConverter(Object defaultValue) {
         return new BigIntegerConverter(defaultValue);
     }
 
     @Override
-    protected Class getExpectedType() {
+    protected Class<?> getExpectedType() {
         return BigInteger.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ByteConverterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ByteConverterTestCase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ByteConverterTestCase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ByteConverterTestCase.java
 Sun Oct 20 20:28:19 2013
@@ -61,16 +61,16 @@ public class ByteConverterTestCase exten
     // ------------------------------------------------------------------------
 
     @Override
-    protected NumberConverter makeConverter() {
+    protected NumberConverter<?> makeConverter() {
         return new ByteConverter();
     }
 
     @Override
-    protected NumberConverter makeConverter(Object defaultValue) {
+    protected NumberConverter<?> makeConverter(Object defaultValue) {
         return new ByteConverter(defaultValue);
     }
     @Override
-    protected Class getExpectedType() {
+    protected Class<?> getExpectedType() {
         return Byte.class;
     }
 
@@ -137,7 +137,7 @@ public class ByteConverterTestCase exten
      */
     public void testInvalidAmount() {
         Converter converter = makeConverter();
-        Class clazz = Byte.class;
+        Class<?> clazz = Byte.class;
 
         Long min         = new Long(Byte.MIN_VALUE);
         Long max         = new Long(Byte.MAX_VALUE);

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/DoubleConverterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/DoubleConverterTestCase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/DoubleConverterTestCase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/DoubleConverterTestCase.java
 Sun Oct 20 20:28:19 2013
@@ -61,17 +61,17 @@ public class DoubleConverterTestCase ext
     // ------------------------------------------------------------------------
 
     @Override
-    protected NumberConverter makeConverter() {
+    protected NumberConverter<?> makeConverter() {
         return new DoubleConverter();
     }
 
     @Override
-    protected NumberConverter makeConverter(Object defaultValue) {
+    protected NumberConverter<?> makeConverter(Object defaultValue) {
         return new DoubleConverter(defaultValue);
     }
 
     @Override
-    protected Class getExpectedType() {
+    protected Class<?> getExpectedType() {
         return Double.class;
     }
 
@@ -130,12 +130,12 @@ public class DoubleConverterTestCase ext
             assertEquals(
                 message[i] + " to Double",
                 expected[i].doubleValue(),
-                
((Double)(converter.convert(Double.class,input[i]))).doubleValue(),
+                (converter.convert(Double.class,input[i])).doubleValue(),
                 0.00001D);
             assertEquals(
                 message[i] + " to double",
                 expected[i].doubleValue(),
-                
((Double)(converter.convert(Double.TYPE,input[i]))).doubleValue(),
+                (converter.convert(Double.TYPE,input[i])).doubleValue(),
                 0.00001D);
             assertEquals(
                 message[i] + " to null type",

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/FloatConverterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/FloatConverterTestCase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/FloatConverterTestCase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/FloatConverterTestCase.java
 Sun Oct 20 20:28:19 2013
@@ -61,17 +61,17 @@ public class FloatConverterTestCase exte
     // ------------------------------------------------------------------------
 
     @Override
-    protected NumberConverter makeConverter() {
+    protected NumberConverter<?> makeConverter() {
         return new FloatConverter();
     }
 
     @Override
-    protected NumberConverter makeConverter(Object defaultValue) {
+    protected NumberConverter<?> makeConverter(Object defaultValue) {
         return new FloatConverter(defaultValue);
     }
 
     @Override
-    protected Class getExpectedType() {
+    protected Class<?> getExpectedType() {
         return Float.class;
     }
 
@@ -130,12 +130,12 @@ public class FloatConverterTestCase exte
             assertEquals(
                 message[i] + " to Float",
                 expected[i].floatValue(),
-                
((Float)(converter.convert(Float.class,input[i]))).floatValue(),
+                (converter.convert(Float.class,input[i])).floatValue(),
                 0.00001);
             assertEquals(
                 message[i] + " to float",
                 expected[i].floatValue(),
-                ((Float)(converter.convert(Float.TYPE,input[i]))).floatValue(),
+                (converter.convert(Float.TYPE,input[i])).floatValue(),
                 0.00001);
             assertEquals(
                 message[i] + " to null type",
@@ -151,7 +151,7 @@ public class FloatConverterTestCase exte
      */
     public void testInvalidAmount() {
         Converter converter = makeConverter();
-        Class clazz = Float.class;
+        Class<?> clazz = Float.class;
 
         Double max     = new Double(Float.MAX_VALUE);
         Double tooBig  = new Double(Double.MAX_VALUE);

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/IntegerConverterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/IntegerConverterTestCase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/IntegerConverterTestCase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/IntegerConverterTestCase.java
 Sun Oct 20 20:28:19 2013
@@ -19,6 +19,7 @@ package org.apache.commons.beanutils.con
 
 import junit.framework.TestSuite;
 
+import org.apache.commons.beanutils.ConversionException;
 import org.apache.commons.beanutils.Converter;
 
 
@@ -61,17 +62,17 @@ public class IntegerConverterTestCase ex
     // ------------------------------------------------------------------------
 
     @Override
-    protected NumberConverter makeConverter() {
+    protected NumberConverter<?> makeConverter() {
         return new IntegerConverter();
     }
 
     @Override
-    protected NumberConverter makeConverter(Object defaultValue) {
+    protected NumberConverter<?> makeConverter(Object defaultValue) {
         return new IntegerConverter(defaultValue);
     }
 
     @Override
-    protected Class getExpectedType() {
+    protected Class<?> getExpectedType() {
         return Integer.class;
     }
 
@@ -138,7 +139,7 @@ public class IntegerConverterTestCase ex
      */
     public void testInvalidAmount() {
         Converter converter = makeConverter();
-        Class clazz = Integer.class;
+        Class<?> clazz = Integer.class;
 
         Long min         = new Long(Integer.MIN_VALUE);
         Long max         = new Long(Integer.MAX_VALUE);
@@ -167,5 +168,18 @@ public class IntegerConverterTestCase ex
             // expected result
         }
     }
+
+    /**
+     * Tests whether an invalid default object causes an exception.
+     */
+    public void testInvalidDefaultObject() {
+        NumberConverter<?> converter = makeConverter();
+        try {
+            converter.setDefaultValue("notANumber");
+            fail("Invalid default value not detected!");
+        } catch (ConversionException cex) {
+            // expected result
+        }
+    }
 }
 

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/LongConverterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/LongConverterTestCase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/LongConverterTestCase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/LongConverterTestCase.java
 Sun Oct 20 20:28:19 2013
@@ -61,17 +61,17 @@ public class LongConverterTestCase exten
     // ------------------------------------------------------------------------
 
     @Override
-    protected NumberConverter makeConverter() {
+    protected NumberConverter<?> makeConverter() {
         return new LongConverter();
     }
 
     @Override
-    protected NumberConverter makeConverter(Object defaultValue) {
+    protected NumberConverter<?> makeConverter(Object defaultValue) {
         return new LongConverter(defaultValue);
     }
 
     @Override
-    protected Class getExpectedType() {
+    protected Class<?> getExpectedType() {
         return Long.class;
     }
 

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/NumberConverterTestBase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/NumberConverterTestBase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/NumberConverterTestBase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/NumberConverterTestBase.java
 Sun Oct 20 20:28:19 2013
@@ -47,9 +47,9 @@ public abstract class NumberConverterTes
 
     // ------------------------------------------------------------------------
 
-    protected abstract NumberConverter makeConverter();
-    protected abstract NumberConverter makeConverter(Object defaultValue);
-    protected abstract Class getExpectedType();
+    protected abstract NumberConverter<?> makeConverter();
+    protected abstract NumberConverter<?> makeConverter(Object defaultValue);
+    protected abstract Class<?> getExpectedType();
 
     // ------------------------------------------------------------------------
 
@@ -111,7 +111,7 @@ public abstract class NumberConverterTes
         Locale defaultLocale = Locale.getDefault();
         Locale.setDefault(Locale.US);
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
         converter.setPattern("[0,0.0];(0,0.0)");
 
         // Default Locale
@@ -136,7 +136,7 @@ public abstract class NumberConverterTes
         Locale defaultLocale = Locale.getDefault();
         Locale.setDefault(Locale.US);
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
         converter.setUseLocaleFormat(true);
 
         // Default Locale
@@ -158,7 +158,7 @@ public abstract class NumberConverterTes
     public void testStringArrayToInteger() {
 
         Integer defaultValue = new Integer(-1);
-        NumberConverter converter = makeConverter(defaultValue);
+        NumberConverter<?> converter = makeConverter(defaultValue);
 
         // Default Locale
         assertEquals("Valid First",   new Integer(5), 
converter.convert(Integer.class, new String[] {"5", "4", "3"}));
@@ -172,7 +172,7 @@ public abstract class NumberConverterTes
      */
     public void testNumberToStringDefault() {
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
 
         // Default Number --> String conversion
         assertEquals("Default Convert " + numbers[0], numbers[0].toString(), 
converter.convert(String.class, numbers[0]));
@@ -189,7 +189,7 @@ public abstract class NumberConverterTes
         Locale defaultLocale = Locale.getDefault();
         Locale.setDefault(Locale.US);
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
         converter.setPattern("[0,0];(0,0)");
 
         // Default Locale
@@ -236,7 +236,7 @@ public abstract class NumberConverterTes
         Locale defaultLocale = Locale.getDefault();
         Locale.setDefault(Locale.US);
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
         converter.setUseLocaleFormat(true);
 
         // Default Locale
@@ -273,7 +273,7 @@ public abstract class NumberConverterTes
      */
     public void testStringToNumberDefault() {
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
         converter.setUseLocaleFormat(false);
 
         // Default String --> Number conversion
@@ -289,11 +289,22 @@ public abstract class NumberConverterTes
     }
 
     /**
+     * Convert String --> Number if the target type is not defined. Then the
+     * default type should be used.
+     */
+    public void testStringToNumberDefaultType() {
+        NumberConverter<?> converter = makeConverter();
+        converter.setUseLocaleFormat(false);
+
+        assertEquals("Default Convert " + numbers[0], numbers[0], 
converter.convert(null, numbers[0].toString()));
+    }
+
+    /**
      * Convert Boolean --> Number (default conversion)
      */
     public void testBooleanToNumberDefault() {
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
 
         // Other type --> String conversion
         assertEquals("Boolean.FALSE to Number ", 0, 
((Number)converter.convert(getExpectedType(), Boolean.FALSE)).intValue());
@@ -306,7 +317,7 @@ public abstract class NumberConverterTes
      */
     public void testDateToNumber() {
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
 
         Date dateValue = new Date();
         long longValue = dateValue.getTime();
@@ -329,7 +340,7 @@ public abstract class NumberConverterTes
      */
     public void testCalendarToNumber() {
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
 
         Calendar calendarValue = Calendar.getInstance();
         long longValue = calendarValue.getTime().getTime();
@@ -352,7 +363,7 @@ public abstract class NumberConverterTes
      */
     public void testOtherToStringDefault() {
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
 
         // Other type --> String conversion
         assertEquals("Default Convert ", "ABC", 
converter.convert(String.class, new StringBuffer("ABC")));
@@ -365,7 +376,7 @@ public abstract class NumberConverterTes
     public void testInvalidDefault() {
 
         Object defaultvalue = numbers[0];
-        NumberConverter converter = makeConverter(defaultvalue);
+        NumberConverter<?> converter = makeConverter(defaultvalue);
 
         // Default String --> Number conversion
         assertEquals("Invalid null ", defaultvalue, 
converter.convert(getExpectedType(), null));
@@ -377,7 +388,7 @@ public abstract class NumberConverterTes
      */
     public void testInvalidException() {
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
 
         try {
             converter.convert(getExpectedType(), null);
@@ -398,7 +409,7 @@ public abstract class NumberConverterTes
      */
     public void testInvalidType() {
 
-        NumberConverter converter = makeConverter();
+        NumberConverter<?> converter = makeConverter();
 
         try {
             converter.convert(Object.class, numbers[0]);
@@ -407,5 +418,21 @@ public abstract class NumberConverterTes
             // expected result
         }
     }
+
+    /**
+     * Tests a conversion to an unsupported type if a default value is set.
+     */
+    public void testInvalidTypeWithDefault() {
+
+        NumberConverter<?> converter = makeConverter(42);
+
+        try {
+            converter.convert(Object.class, numbers[0]);
+            fail("Invalid type with default test, expected 
ConversionException");
+        } catch(ConversionException e) {
+            // expected result
+        }
+    }
+
 }
 

Modified: 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ShortConverterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ShortConverterTestCase.java?rev=1533967&r1=1533966&r2=1533967&view=diff
==============================================================================
--- 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ShortConverterTestCase.java
 (original)
+++ 
commons/proper/beanutils/branches/java5/src/test/java/org/apache/commons/beanutils/converters/ShortConverterTestCase.java
 Sun Oct 20 20:28:19 2013
@@ -61,17 +61,17 @@ public class ShortConverterTestCase exte
     // ------------------------------------------------------------------------
 
     @Override
-    protected NumberConverter makeConverter() {
+    protected NumberConverter<?> makeConverter() {
         return new ShortConverter();
     }
 
     @Override
-    protected NumberConverter makeConverter(Object defaultValue) {
+    protected NumberConverter<?> makeConverter(Object defaultValue) {
         return new ShortConverter(defaultValue);
     }
 
     @Override
-    protected Class getExpectedType() {
+    protected Class<?> getExpectedType() {
         return Short.class;
     }
 
@@ -138,7 +138,7 @@ public class ShortConverterTestCase exte
      */
     public void testInvalidAmount() {
         Converter converter = makeConverter();
-        Class clazz = Short.class;
+        Class<?> clazz = Short.class;
 
         Long min         = new Long(Short.MIN_VALUE);
         Long max         = new Long(Short.MAX_VALUE);


Reply via email to