Author: veithen
Date: Sat Sep 13 17:17:54 2008
New Revision: 695094

URL: http://svn.apache.org/viewvc?rev=695094&view=rev
Log:
SYNAPSE-446: Adding more logging to MailTransportSender.

Modified:
    
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportSender.java

Modified: 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportSender.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportSender.java?rev=695094&r1=695093&r2=695094&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportSender.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/mail/MailTransportSender.java
 Sat Sep 13 17:17:54 2008
@@ -204,22 +204,42 @@
         OMOutputFormat format = BaseUtils.getOMOutputFormat(msgContext);
         MessageFormatter messageFormatter = 
BaseUtils.getMessageFormatter(msgContext);
 
+        if (log.isDebugEnabled()) {
+            log.debug("Creating MIME message using message formatter " +
+                    messageFormatter.getClass().getSimpleName());
+        }
+
         WSMimeMessage message = new WSMimeMessage(session);
         Map trpHeaders = (Map) 
msgContext.getProperty(MessageContext.TRANSPORT_HEADERS);
+        if (log.isDebugEnabled() && trpHeaders != null) {
+            log.debug("Using transport headers: " + trpHeaders);
+        }
 
         // set From address - first check if this is a reply, then use from 
address from the
         // transport out, else if any custom transport headers set on this 
message, or default
         // to the transport senders default From address        
         if (outInfo.getTargetAddresses() != null && outInfo.getFromAddress() 
!= null) {
+            if (log.isDebugEnabled()) {
+                log.debug("Setting From header to " + 
outInfo.getFromAddress().getAddress() +
+                        " from OutTransportInfo");
+            }
             message.setFrom(outInfo.getFromAddress());
             message.setReplyTo((new Address []{outInfo.getFromAddress()}));
         } else if (trpHeaders != null && 
trpHeaders.containsKey(MailConstants.MAIL_HEADER_FROM)) {
-            message.setFrom(
-                new InternetAddress((String) 
trpHeaders.get(MailConstants.MAIL_HEADER_FROM)));
-            message.setReplyTo(InternetAddress.parse(
-                (String) trpHeaders.get(MailConstants.MAIL_HEADER_FROM)));
+            InternetAddress from =
+                new InternetAddress((String) 
trpHeaders.get(MailConstants.MAIL_HEADER_FROM));
+            if (log.isDebugEnabled()) {
+                log.debug("Setting From header to " + from.getAddress() +
+                        " from transport headers");
+            }
+            message.setFrom(from);
+            message.setReplyTo(new Address[] { from });
         } else {
             if (smtpFromAddress != null) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Setting From header to " + 
smtpFromAddress.getAddress() +
+                            " from transport configuration");
+                }
                 message.setFrom(smtpFromAddress);
                 message.setReplyTo(new Address[] {smtpFromAddress});
             } else {
@@ -230,9 +250,18 @@
         // set To address/es to any custom transport header set on the 
message, else use the reply
         // address from the out transport information
         if (trpHeaders != null && 
trpHeaders.containsKey(MailConstants.MAIL_HEADER_TO)) {
-            message.setRecipients(Message.RecipientType.TO,
-                InternetAddress.parse((String) 
trpHeaders.get(MailConstants.MAIL_HEADER_TO)));
+            Address[] to =
+                InternetAddress.parse((String) 
trpHeaders.get(MailConstants.MAIL_HEADER_TO)); 
+            if (log.isDebugEnabled()) {
+                log.debug("Setting To header to " + 
InternetAddress.toString(to) +
+                        " from transport headers");
+            }
+            message.setRecipients(Message.RecipientType.TO, to);
         } else if (outInfo.getTargetAddresses() != null) {
+            if (log.isDebugEnabled()) {
+                log.debug("Setting To header to " + InternetAddress.toString(
+                        outInfo.getTargetAddresses()) + " from 
OutTransportInfo");
+            }
             message.setRecipients(Message.RecipientType.TO, 
outInfo.getTargetAddresses());
         } else {
             handleException("To address for outgoing message cannot be 
determined");
@@ -241,9 +270,18 @@
         // set Cc address/es to any custom transport header set on the 
message, else use the
         // Cc list from original request message
         if (trpHeaders != null && 
trpHeaders.containsKey(MailConstants.MAIL_HEADER_CC)) {
-            message.setRecipients(Message.RecipientType.CC,
-                InternetAddress.parse((String) 
trpHeaders.get(MailConstants.MAIL_HEADER_CC)));
+            Address[] cc =
+                InternetAddress.parse((String) 
trpHeaders.get(MailConstants.MAIL_HEADER_CC)); 
+            if (log.isDebugEnabled()) {
+                log.debug("Setting Cc header to " + 
InternetAddress.toString(cc) +
+                        " from transport headers");
+            }
+            message.setRecipients(Message.RecipientType.CC, cc);
         } else if (outInfo.getCcAddresses() != null) {
+            if (log.isDebugEnabled()) {
+                log.debug("Setting Cc header to " + InternetAddress.toString(
+                        outInfo.getCcAddresses()) + " from OutTransportInfo");
+            }
             message.setRecipients(Message.RecipientType.CC, 
outInfo.getCcAddresses());
         }
 
@@ -252,6 +290,10 @@
         InternetAddress[] trpBccArr = null;
         if (trpHeaders != null && 
trpHeaders.containsKey(MailConstants.MAIL_HEADER_BCC)) {
             trpBccArr = InternetAddress.parse((String) 
trpHeaders.get(MailConstants.MAIL_HEADER_BCC));
+            if (log.isDebugEnabled()) {
+                log.debug("Adding Bcc header values " + 
InternetAddress.toString(trpBccArr) +
+                        " from transport headers");
+            }
         }
 
         InternetAddress[] mergedBcc = new InternetAddress[
@@ -261,6 +303,10 @@
             System.arraycopy(trpBccArr, 0, mergedBcc, 0, trpBccArr.length);
         }
         if (smtpBccAddresses != null) {
+            if (log.isDebugEnabled()) {
+                log.debug("Adding Bcc header values " + 
InternetAddress.toString(smtpBccAddresses) +
+                        " from transport configuration");
+            }
             System.arraycopy(smtpBccAddresses, 0, mergedBcc, mergedBcc.length, 
smtpBccAddresses.length);
         }
         if (mergedBcc != null) {
@@ -269,10 +315,21 @@
 
         // set subject
         if (trpHeaders != null && 
trpHeaders.containsKey(MailConstants.MAIL_HEADER_SUBJECT)) {
+            if (log.isDebugEnabled()) {
+                log.debug("Setting Subject header to '" + trpHeaders.get(
+                        MailConstants.MAIL_HEADER_SUBJECT) + "' from transport 
headers");
+            }
             message.setSubject((String) 
trpHeaders.get(MailConstants.MAIL_HEADER_SUBJECT));
         } else if (outInfo.getSubject() != null) {
+            if (log.isDebugEnabled()) {
+                log.debug("Setting Subject header to '" + outInfo.getSubject() 
+
+                        "' from transport headers");
+            }
             message.setSubject(outInfo.getSubject());
         } else {
+            if (log.isDebugEnabled()) {
+                log.debug("Generating default Subject header from SOAP 
action");
+            }
             message.setSubject(BaseConstants.SOAPACTION + ": " + 
msgContext.getSoapAction());
         }
 
@@ -322,6 +379,10 @@
             mFormat = defaultMailFormat;
         }
 
+        if (log.isDebugEnabled()) {
+            log.debug("Using mail format '" + mFormat + "'");
+        }
+
         if (MailConstants.TRANSPORT_FORMAT_MP.equals(mFormat)) {
             mimeMultiPart = new MimeMultipart();
             MimeBodyPart mimeBodyPart1 = new MimeBodyPart();
@@ -342,6 +403,7 @@
             } else {
                 message.setContent(mimeMultiPart);
             }
+            log.debug("Sending message");
             Transport.send(message);
 
             // update metrics


Reply via email to