Repository: camel
Updated Branches:
  refs/heads/master 65534ed75 -> ff51cff8f


CAMEL-10104: Mail consumer does not work with quartz scheduler. Thanks to Ivo 
Kulms for the patch.

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ff51cff8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ff51cff8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ff51cff8

Branch: refs/heads/master
Commit: ff51cff8f62f6a20bfa555f8b60b23c3fd678a22
Parents: 65534ed
Author: Stephan Siano <[email protected]>
Authored: Wed Jun 29 15:48:52 2016 +0200
Committer: Stephan Siano <[email protected]>
Committed: Thu Jun 30 08:17:43 2016 +0200

----------------------------------------------------------------------
 components/camel-mail/pom.xml                   | 11 ++++++++++
 .../camel/component/mail/MailComponent.java     |  1 +
 .../camel/component/mail/MailComponentTest.java | 22 ++++++++++++++++++++
 3 files changed, 34 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/ff51cff8/components/camel-mail/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-mail/pom.xml b/components/camel-mail/pom.xml
index 2405c1d..5cb509f 100644
--- a/components/camel-mail/pom.xml
+++ b/components/camel-mail/pom.xml
@@ -102,6 +102,17 @@
           <artifactId>commons-io</artifactId>
           <scope>test</scope>
         </dependency>
+        <dependency>
+          <groupId>org.quartz-scheduler</groupId>
+          <artifactId>quartz</artifactId>
+          <version>${quartz2-version}</version>
+          <scope>test</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.camel</groupId>
+          <artifactId>camel-quartz2</artifactId>
+          <scope>test</scope>
+        </dependency>
     </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/camel/blob/ff51cff8/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
index 693d686..081d364 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
@@ -65,6 +65,7 @@ public class MailComponent extends UriEndpointComponent {
         MailEndpoint endpoint = new MailEndpoint(uri, this, config);
         endpoint.setContentTypeResolver(contentTypeResolver);
         setProperties(endpoint.getConfiguration(), parameters);
+        setProperties(endpoint, parameters);
 
         Map<String, Object> sstParams = 
IntrospectionSupport.extractProperties(parameters, "searchTerm.");
         if (!sstParams.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/camel/blob/ff51cff8/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
 
b/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
index 8b7f21e..fa5c8b2 100644
--- 
a/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
+++ 
b/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.mail;
 import javax.mail.Message;
 
 import org.apache.camel.Endpoint;
+import 
org.apache.camel.pollconsumer.quartz2.QuartzScheduledPollConsumerScheduler;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
@@ -318,5 +319,26 @@ public class MailComponentTest extends CamelTestSupport {
         assertEquals("secret", endpoint.getConfiguration().getPassword());
         assertEquals("myhost", endpoint.getConfiguration().getHost());
     }
+
+    @Test
+    public void testMailComponentWithQuartzScheduler() throws Exception {
+        MailConfiguration config = new MailConfiguration();
+        config.setUsername("james");
+        config.setPassword("secret");
+
+        MailComponent comp = new MailComponent(config);
+        comp.setCamelContext(context);
+
+        assertSame(config, comp.getConfiguration());
+        assertNull(comp.getContentTypeResolver());
+
+        MailEndpoint endpoint = 
(MailEndpoint)comp.createEndpoint("imap://myhost?scheduler=quartz2&scheduler.cron=0%2F5+*+0-23+%3F+*+*+*&scheduler.timeZone=Europe%2FBerlin");
+        assertEquals("james", endpoint.getConfiguration().getUsername());
+        assertEquals("secret", endpoint.getConfiguration().getPassword());
+        assertEquals("myhost", endpoint.getConfiguration().getHost());
+
+        assertNotNull("Scheduler not set", endpoint.getScheduler());
+        assertTrue("Wrong scheduler class", endpoint.getScheduler() instanceof 
QuartzScheduledPollConsumerScheduler);
+    }
 }
 

Reply via email to