Repository: camel
Updated Branches:
  refs/heads/camel-2.12.x 11db66d85 -> 524c13d10
  refs/heads/camel-2.13.x d5e6e1dc6 -> 8d83cbe57
  refs/heads/master 6a635c0d3 -> 1ebfd0aa5


CAMEL-7311: camel-mail should not fetch attachments if mapMailMessage=false as 
part of message copy during UoW.


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

Branch: refs/heads/master
Commit: 1ebfd0aa5e28edb38af4fef13bdabe1e208d07eb
Parents: 6a635c0
Author: Claus Ibsen <[email protected]>
Authored: Wed Mar 19 10:51:02 2014 +0100
Committer: Claus Ibsen <[email protected]>
Committed: Wed Mar 19 10:51:02 2014 +0100

----------------------------------------------------------------------
 .../apache/camel/component/mail/MailEndpoint.java |  2 +-
 .../apache/camel/component/mail/MailMessage.java  | 18 ++++++++++++++----
 2 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/1ebfd0aa/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
index bed5b3f..b4bd387 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
@@ -119,7 +119,7 @@ public class MailEndpoint extends ScheduledPollEndpoint {
     private Exchange createExchange(ExchangePattern pattern, Message message) {
         Exchange exchange = new DefaultExchange(this, pattern);
         exchange.setProperty(Exchange.BINDING, getBinding());
-        exchange.setIn(new MailMessage(message));
+        exchange.setIn(new MailMessage(message, 
getConfiguration().isMapMailMessage()));
         return exchange;
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/1ebfd0aa/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java
index 365ca29..7416a46 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java
@@ -35,12 +35,18 @@ public class MailMessage extends DefaultMessage {
     // mail content, see more in MailBinding
     private Message originalMailMessage;
     private Message mailMessage;
+    private boolean mapMailMessage;
 
     public MailMessage() {
     }
 
     public MailMessage(Message message) {
+        this(message, true);
+    }
+
+    public MailMessage(Message message, boolean mapMailMessage) {
         this.originalMailMessage = this.mailMessage = message;
+        this.mapMailMessage = mapMailMessage;
     }
 
     @Override
@@ -56,10 +62,13 @@ public class MailMessage extends DefaultMessage {
         MailMessage answer = (MailMessage)super.copy();
         answer.originalMailMessage = originalMailMessage;
         answer.mailMessage = mailMessage;
-        // force attachments to be created (by getting attachments) to ensure 
they are always available due Camel error handler
-        // makes defensive copies, and we have optimized it to avoid 
populating initial attachments, when not needed,
-        // as all other Camel components do not use attachments
-        getAttachments();
+
+        if (mapMailMessage) {
+            // force attachments to be created (by getting attachments) to 
ensure they are always available due Camel error handler
+            // makes defensive copies, and we have optimized it to avoid 
populating initial attachments, when not needed,
+            // as all other Camel components do not use attachments
+            getAttachments();
+        }
         return answer;
     }
 
@@ -132,6 +141,7 @@ public class MailMessage extends DefaultMessage {
             MailMessage mailMessage = (MailMessage) that;
             this.originalMailMessage = mailMessage.originalMailMessage;
             this.mailMessage = mailMessage.mailMessage;
+            this.mapMailMessage = mailMessage.mapMailMessage;
         }
     }
 

Reply via email to