This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-2.21.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.21.x by this push:
new 43eb9e2 CAMEL-12410: Fixed BigInteger converter from String. Thanks
to Viachaslau Tsikhanovich for reporting.
43eb9e2 is described below
commit 43eb9e2e8f658c790ba3668b35db5231639378f6
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Aug 14 10:51:05 2018 +0200
CAMEL-12410: Fixed BigInteger converter from String. Thanks to Viachaslau
Tsikhanovich for reporting.
---
.../src/main/java/org/apache/camel/converter/ObjectConverter.java | 6 ++++--
.../test/java/org/apache/camel/converter/ObjectConverterTest.java | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
a/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
b/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
index dc1117c..2935480 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
@@ -200,14 +200,16 @@ public final class ObjectConverter {
*/
@Converter
public static BigInteger toBigInteger(Object value) {
+ if (value instanceof String) {
+ return new BigInteger((String) value);
+ }
+
Long num = null;
if (value instanceof Long) {
num = (Long) value;
} else if (value instanceof Number) {
Number number = (Number) value;
num = number.longValue();
- } else if (value instanceof String) {
- num = Long.valueOf((String) value);
}
if (num != null) {
return BigInteger.valueOf(num);
diff --git
a/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
b/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
index 94a7087..7408213 100644
---
a/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
+++
b/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
@@ -128,6 +128,7 @@ public class ObjectConverterTest extends TestCase {
assertEquals(BigInteger.valueOf(0),
ObjectConverter.toBigInteger(Double.NaN));
assertEquals(BigInteger.valueOf(0),
ObjectConverter.toBigInteger(Float.NaN));
assertEquals(BigInteger.valueOf(4),
ObjectConverter.toBigInteger(Long.valueOf("4")));
+ assertEquals(new BigInteger("14350442579497085228"),
ObjectConverter.toBigInteger("14350442579497085228"));
}
public void testToString() {