This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-2.22.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.22.x by this push: new c6bb117 CAMEL-12410: Fixed BigInteger converter from String. Thanks to Viachaslau Tsikhanovich for reporting. c6bb117 is described below commit c6bb117357460df488c935e181d8947597dd009c Author: Claus Ibsen <claus.ib...@gmail.com> 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 5eeaa0f..ca8983a 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() {