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);