Repository: camel Updated Branches: refs/heads/master 68d0f1419 -> 253af883b
CAMEL-7754: Add QuartzConstants.QUARTZ_TRIGGER_CRON_TIMEZONE to the QuartzEndpoint if it exists Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/253af883 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/253af883 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/253af883 Branch: refs/heads/master Commit: 253af883b461ddc6b50cbbb58509eeaaf8abdcb6 Parents: 68d0f14 Author: Charles Moulliard <ch0...@gmail.com> Authored: Wed Aug 27 11:54:10 2014 +0200 Committer: Charles Moulliard <ch0...@gmail.com> Committed: Wed Aug 27 11:54:10 2014 +0200 ---------------------------------------------------------------------- .../camel/component/quartz/QuartzComponent.java | 10 +++--- .../quartz/QuartzCronTriggerRouteTest.java | 34 ++++++++++++++++++++ 2 files changed, 39 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/253af883/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java index 63f9dad..559b9fd 100644 --- a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java +++ b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java @@ -20,11 +20,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.text.ParseException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Properties; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import org.apache.camel.CamelContext; @@ -169,6 +165,10 @@ public class QuartzComponent extends UriEndpointComponent implements StartupList if (cron != null) { answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_TYPE, "cron"); answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_CRON_EXPRESSION, cron); + String timeZone = EndpointHelper.resloveStringParameter(getCamelContext(), (String)triggerParameters.get("timeZone"), String.class); + if (timeZone != null) { + answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_CRON_TIMEZONE, timeZone); + } } else { answer.getJobDetail().getJobDataMap().put(QuartzConstants.QUARTZ_TRIGGER_TYPE, "simple"); Long interval = EndpointHelper.resloveStringParameter(getCamelContext(), (String)triggerParameters.get("repeatInterval"), Long.class); http://git-wip-us.apache.org/repos/asf/camel/blob/253af883/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzCronTriggerRouteTest.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzCronTriggerRouteTest.java b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzCronTriggerRouteTest.java new file mode 100644 index 0000000..2e62406 --- /dev/null +++ b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzCronTriggerRouteTest.java @@ -0,0 +1,34 @@ +package org.apache.camel.component.quartz; + +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit4.CamelTestSupport; +import org.junit.Test; +import org.quartz.JobDetail; + +public class QuartzCronTriggerRouteTest extends CamelTestSupport { + + @Test + public void testQuartzCronRoute() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:result"); + mock.expectedMinimumMessageCount(3); + + assertMockEndpointsSatisfied(); + + JobDetail job = mock.getReceivedExchanges().get(0).getIn().getHeader("jobDetail", JobDetail.class); + assertNotNull(job); + + assertEquals("cron", job.getJobDataMap().get(QuartzConstants.QUARTZ_TRIGGER_TYPE)); + assertEquals("UTC", job.getJobDataMap().get(QuartzConstants.QUARTZ_TRIGGER_CRON_TIMEZONE)); + assertEquals("0/2 * * * * ?", job.getJobDataMap().get(QuartzConstants.QUARTZ_TRIGGER_CRON_EXPRESSION)); + } + + @Override + protected RouteBuilder createRouteBuilder() { + return new RouteBuilder() { + public void configure() { + from("quartz://myGroup/myTimerName?cron=0/2+*+*+*+*+?&trigger.timeZone=UTC").to("mock:result"); + } + }; + } +} \ No newline at end of file