You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2014/08/27 11:54:26 UTC
git commit: CAMEL-7754: Add
QuartzConstants.QUARTZ_TRIGGER_CRON_TIMEZONE to the QuartzEndpoint if it
exists
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 <ch...@gmail.com>
Authored: Wed Aug 27 11:54:10 2014 +0200
Committer: Charles Moulliard <ch...@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