commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Heger <oliver.he...@oliver-heger.de>
Subject Re: svn commit: r1533967 - in /commons/proper/beanutils/branches/java5/src: main/java/org/apache/commons/beanutils/converters/ test/java/org/apache/commons/beanutils/converters/
Date Tue, 22 Oct 2013 20:06:07 GMT
Am 22.10.2013 20:02, schrieb sebb:
> On 20 October 2013 21:28,  <oheger@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.

Maybe it is not a good idea at all to have a generics parameter for the
default type. In fact, the default value can be set as Object; it is
converted to the default type if necessary. So having the default type
more explicit does not help that much.

WDYT?
Oliver

> 
>>      }
>>
>>
>> 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-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message