You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2018/03/28 08:59:53 UTC
[camel] branch master updated: CAMEL-12410: Added BigInteger type
converter which camel-consul needs.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 8c40ce3 CAMEL-12410: Added BigInteger type converter which camel-consul needs.
8c40ce3 is described below
commit 8c40ce397bc747457894a99f498b2480c85562d7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Mar 28 10:59:15 2018 +0200
CAMEL-12410: Added BigInteger type converter which camel-consul needs.
---
.../apache/camel/converter/ObjectConverter.java | 22 ++++++++++++++++++++++
.../camel/converter/ObjectConverterTest.java | 12 ++++++++++++
2 files changed, 34 insertions(+)
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 c9616fa..dc1117c 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
@@ -16,6 +16,7 @@
*/
package org.apache.camel.converter;
+import java.math.BigInteger;
import java.util.Collection;
import java.util.Iterator;
@@ -198,6 +199,27 @@ public final class ObjectConverter {
* Returns the converted value, or null if the value is null
*/
@Converter
+ public static BigInteger toBigInteger(Object 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);
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Returns the converted value, or null if the value is null
+ */
+ @Converter
public static Float toFloat(Object value) {
if (value instanceof Float) {
return (Float) value;
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 9b911fb..94a7087 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
@@ -16,6 +16,7 @@
*/
package org.apache.camel.converter;
+import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
@@ -118,6 +119,17 @@ public class ObjectConverterTest extends TestCase {
assertEquals(Double.valueOf("4"), ObjectConverter.toDouble(Double.valueOf("4")));
}
+ public void testToBigInteger() {
+ assertEquals(BigInteger.valueOf(4), ObjectConverter.toBigInteger(Long.valueOf("4")));
+ assertEquals(BigInteger.valueOf(4), ObjectConverter.toBigInteger(Integer.valueOf("4")));
+ assertEquals(BigInteger.valueOf(4), ObjectConverter.toBigInteger("4"));
+ assertEquals(BigInteger.valueOf(123456789L), ObjectConverter.toBigInteger("123456789"));
+ assertEquals(null, ObjectConverter.toBigInteger(new Date()));
+ 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")));
+ }
+
public void testToString() {
assertEquals("ABC", ObjectConverter.toString(new StringBuffer("ABC")));
assertEquals("ABC", ObjectConverter.toString(new StringBuilder("ABC")));
--
To stop receiving notification emails like this one, please contact
davsclaus@apache.org.