On 20 October 2013 21:28, <ohe...@apache.org> wrote: > 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;
Won't that change the method signature? AIUI, the erasure will now be BigDecimal rather than Object. This needs checking. > } > > > 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); > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org