This is an automated email from the ASF dual-hosted git repository.
garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-beanutils.git
The following commit(s) were added to refs/heads/master by this push:
new aa68b17e Refactor code duplication
aa68b17e is described below
commit aa68b17eef5ac75e449c711a084437f98bd30c29
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Jul 6 15:40:57 2026 -0400
Refactor code duplication
---
.../commons/beanutils2/locale/converters/ByteLocaleConverter.java | 6 +-----
.../beanutils2/locale/converters/DecimalLocaleConverter.java | 8 ++++++++
.../beanutils2/locale/converters/IntegerLocaleConverter.java | 6 +-----
.../commons/beanutils2/locale/converters/LongLocaleConverter.java | 5 +----
.../beanutils2/locale/converters/ShortLocaleConverter.java | 6 +-----
5 files changed, 12 insertions(+), 19 deletions(-)
diff --git
a/src/main/java/org/apache/commons/beanutils2/locale/converters/ByteLocaleConverter.java
b/src/main/java/org/apache/commons/beanutils2/locale/converters/ByteLocaleConverter.java
index a3286dda..e2e41e93 100644
---
a/src/main/java/org/apache/commons/beanutils2/locale/converters/ByteLocaleConverter.java
+++
b/src/main/java/org/apache/commons/beanutils2/locale/converters/ByteLocaleConverter.java
@@ -74,11 +74,7 @@ public class ByteLocaleConverter extends
DecimalLocaleConverter<Byte> {
if (parsed.longValue() != parsed.byteValue()) {
throw new ConversionException("Supplied number is not of type
Byte: " + parsed.longValue());
}
- final double doubleValue = parsed.doubleValue();
- if (doubleValue != Math.rint(doubleValue)) {
- throw new ConversionException("Supplied number is not an integer:
" + parsed);
- }
// now returns property Byte
- return Byte.valueOf(parsed.byteValue());
+ return Byte.valueOf(checkInteger(parsed).byteValue());
}
}
diff --git
a/src/main/java/org/apache/commons/beanutils2/locale/converters/DecimalLocaleConverter.java
b/src/main/java/org/apache/commons/beanutils2/locale/converters/DecimalLocaleConverter.java
index bdce9a89..353eca74 100644
---
a/src/main/java/org/apache/commons/beanutils2/locale/converters/DecimalLocaleConverter.java
+++
b/src/main/java/org/apache/commons/beanutils2/locale/converters/DecimalLocaleConverter.java
@@ -96,6 +96,14 @@ public class DecimalLocaleConverter<T extends Number>
extends BaseLocaleConverte
super(defaultValue, locale, pattern, useDefault, locPattern);
}
+ Number checkInteger(final Number number) {
+ final double doubleValue = number.doubleValue();
+ if (doubleValue != Math.rint(doubleValue)) {
+ throw new ConversionException("Supplied number is not an integer:
" + number);
+ }
+ return number;
+ }
+
/**
* Tests whether the underlying {@link DecimalFormat} should parse into a
{@link java.math.BigDecimal} so that magnitude and precision are preserved.
* Subclasses that build {@link java.math.BigInteger} or {@link
java.math.BigDecimal} values override this to return {@code true}; the
narrowing converters
diff --git
a/src/main/java/org/apache/commons/beanutils2/locale/converters/IntegerLocaleConverter.java
b/src/main/java/org/apache/commons/beanutils2/locale/converters/IntegerLocaleConverter.java
index 0cfe6957..5e4fe962 100644
---
a/src/main/java/org/apache/commons/beanutils2/locale/converters/IntegerLocaleConverter.java
+++
b/src/main/java/org/apache/commons/beanutils2/locale/converters/IntegerLocaleConverter.java
@@ -74,10 +74,6 @@ public class IntegerLocaleConverter extends
DecimalLocaleConverter<Integer> {
if (parsed.longValue() != parsed.intValue()) {
throw new ConversionException("Supplied number is not of type
Integer: " + parsed.longValue());
}
- final double doubleValue = parsed.doubleValue();
- if (doubleValue != Math.rint(doubleValue)) {
- throw new ConversionException("Supplied number is not an integer:
" + parsed);
- }
- return Integer.valueOf(parsed.intValue()); // unlike superclass it
will return proper Integer
+ return Integer.valueOf(checkInteger(parsed).intValue()); // unlike
superclass it will return proper Integer
}
}
diff --git
a/src/main/java/org/apache/commons/beanutils2/locale/converters/LongLocaleConverter.java
b/src/main/java/org/apache/commons/beanutils2/locale/converters/LongLocaleConverter.java
index 7f9ae377..289f4ba1 100644
---
a/src/main/java/org/apache/commons/beanutils2/locale/converters/LongLocaleConverter.java
+++
b/src/main/java/org/apache/commons/beanutils2/locale/converters/LongLocaleConverter.java
@@ -79,9 +79,6 @@ public class LongLocaleConverter extends
DecimalLocaleConverter<Long> {
if (doubleValue < Long.MIN_VALUE || doubleValue > Long.MAX_VALUE) {
throw new ConversionException("Supplied number is not of type
Long: " + result);
}
- if (doubleValue != Math.rint(doubleValue)) {
- throw new ConversionException("Supplied number is not an integer:
" + result);
- }
- return Long.valueOf(result.longValue());
+ return Long.valueOf(checkInteger(result).longValue());
}
}
diff --git
a/src/main/java/org/apache/commons/beanutils2/locale/converters/ShortLocaleConverter.java
b/src/main/java/org/apache/commons/beanutils2/locale/converters/ShortLocaleConverter.java
index e2d2fad4..9befbc54 100644
---
a/src/main/java/org/apache/commons/beanutils2/locale/converters/ShortLocaleConverter.java
+++
b/src/main/java/org/apache/commons/beanutils2/locale/converters/ShortLocaleConverter.java
@@ -84,11 +84,7 @@ public class ShortLocaleConverter extends
DecimalLocaleConverter<Short> {
if (parsed.longValue() != parsed.shortValue()) {
throw new ConversionException("Supplied number is not of type
Short: " + parsed.longValue());
}
- final double doubleValue = parsed.doubleValue();
- if (doubleValue != Math.rint(doubleValue)) {
- throw new ConversionException("Supplied number is not an integer:
" + parsed);
- }
// now returns property Short
- return Short.valueOf(parsed.shortValue());
+ return Short.valueOf(checkInteger(parsed).shortValue());
}
}