From 1cdf3696d20ce4eefcd720eb8bf2f7d73e0b69d5 Mon Sep 17 00:00:00 2001 From: "David J. M. Karlsen" Date: Fri, 2 Aug 2013 11:24:43 +0200 Subject: [PATCH] CAMEL-6603: extend DateTimeConverter for Long <-> Date conversion --- .../apache/camel/converter/DateTimeConverter.java | 11 +++++++++++ .../camel/converter/DateTimeConverterTest.java | 15 +++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java b/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java index d06cde72d491e..9153318fe15f9 100644 --- a/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java +++ b/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java @@ -16,6 +16,7 @@ */ package org.apache.camel.converter; +import java.util.Date; import java.util.TimeZone; import org.apache.camel.Converter; @@ -36,4 +37,14 @@ private DateTimeConverter() { public static TimeZone toTimeZone(String s) { return TimeZone.getTimeZone(s); } + + @Converter + public static Date toDate(Long l) { + return l != null ? new Date(l) : null; + } + + @Converter + public static Long toLong(Date date) { + return date != null ? date.getTime() : null; + } } diff --git a/camel-core/src/test/java/org/apache/camel/converter/DateTimeConverterTest.java b/camel-core/src/test/java/org/apache/camel/converter/DateTimeConverterTest.java index 62d043f02195e..8652f8ec61324 100644 --- a/camel-core/src/test/java/org/apache/camel/converter/DateTimeConverterTest.java +++ b/camel-core/src/test/java/org/apache/camel/converter/DateTimeConverterTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.converter; + +import java.util.Date; import java.util.TimeZone; import org.apache.camel.ContextTestSupport; @@ -32,4 +34,17 @@ public void testToTimeZone() throws Exception { assertNotNull(zone); assertEquals(id, zone.getID()); } + + public void testLongToDate() { + long value = 0; + Date date = context.getTypeConverter().convertTo(Date.class, value); + Date expected = new Date(value); + assertEquals(expected, date); + } + + public void testDateToLong() { + Date date = new Date(0); + long l = context.getTypeConverter().convertTo(Long.class, date); + assertEquals(date.getTime(), l); + } }