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 2010/02/18 07:55:47 UTC

svn commit: r911265 - in /camel/trunk/components/camel-mail/src: main/java/org/apache/camel/component/mail/ test/java/org/apache/camel/component/mail/

Author: davsclaus
Date: Thu Feb 18 06:55:46 2010
New Revision: 911265

URL: http://svn.apache.org/viewvc?rev=911265&view=rev
Log:
CAMEL-2467: Applied patch with thanks to Tracy Snell.

Modified:
    camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
    camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
    camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/FromFileSendMailTest.java
    camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java

Modified: camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java?rev=911265&r1=911264&r2=911265&view=diff
==============================================================================
--- camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java (original)
+++ camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java Thu Feb 18 06:55:46 2010
@@ -87,6 +87,13 @@
             throw new IllegalArgumentException("The mail message does not have any recipients set.");
         }
 
+        // set the subject if it was passed in as an option in the uri. Note: if it is in both the URI
+        // and headers the headers win.
+        String subject = endpoint.getConfiguration().getSubject();
+        if (subject != null) {
+            mimeMessage.setHeader("Subject", subject);
+        }
+
         // append the rest of the headers (no recipients) that could be subject, reply-to etc.
         appendHeadersFromCamelMessage(mimeMessage, endpoint.getConfiguration(), exchange);
 

Modified: camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java?rev=911265&r1=911264&r2=911265&view=diff
==============================================================================
--- camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java (original)
+++ camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java Thu Feb 18 06:55:46 2010
@@ -44,6 +44,7 @@
     private int port = -1;
     private String username;
     private String password;
+    private String subject;
     private Session session;
     private String defaultEncoding;
     private String from = MailConstants.MAIL_DEFAULT_FROM;
@@ -277,6 +278,14 @@
         this.password = password;
     }
 
+    public String getSubject() {
+        return subject;
+    }
+
+    public void setSubject(String subject) {
+        this.subject = subject;
+    }
+
     public int getPort() {
         return port;
     }

Modified: camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/FromFileSendMailTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/FromFileSendMailTest.java?rev=911265&r1=911264&r2=911265&view=diff
==============================================================================
--- camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/FromFileSendMailTest.java (original)
+++ camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/FromFileSendMailTest.java Thu Feb 18 06:55:46 2010
@@ -45,6 +45,8 @@
         assertEquals(1, mailbox.size());
         Object body = mailbox.get(0).getContent(); 
         assertEquals("Hi how are you", body);
+        Object subject = mailbox.get(0).getSubject();
+        assertEquals("Hello World", subject);
     }
 
     @Override

Modified: camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java?rev=911265&r1=911264&r2=911265&view=diff
==============================================================================
--- camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java (original)
+++ camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailComponentTest.java Thu Feb 18 06:55:46 2010
@@ -262,6 +262,17 @@
         assertEquals(false, config.isDebugMode());
     }
 
+    @Test
+    public void testSMTPEndpointWithSubjectOption() throws Exception {
+        MailEndpoint endpoint = resolveMandatoryEndpoint("smtp://myhost:25?subject=hello");
+        MailConfiguration config = endpoint.getConfiguration();
+        assertEquals("getProtocol()", "smtp", config.getProtocol());
+        assertEquals("getHost()", "myhost", config.getHost());
+        assertEquals("getPort()", 25, config.getPort());
+        assertEquals("getSubject()", "hello", config.getSubject());
+        assertEquals(false, config.isDebugMode());
+    }
+
     @Override
     protected MailEndpoint resolveMandatoryEndpoint(String uri) {
         Endpoint endpoint = super.resolveMandatoryEndpoint(uri);