You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by lh...@apache.org on 2009/08/27 14:10:14 UTC

svn commit: r808389 - /servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/utils/MailUtils.java

Author: lhein
Date: Thu Aug 27 12:10:13 2009
New Revision: 808389

URL: http://svn.apache.org/viewvc?rev=808389&view=rev
Log:
improved class to be more rules compliant (see SMXCOMP-520)

Modified:
    servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/utils/MailUtils.java

Modified: servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/utils/MailUtils.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/utils/MailUtils.java?rev=808389&r1=808388&r2=808389&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/utils/MailUtils.java (original)
+++ servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/utils/MailUtils.java Thu Aug 27 12:10:13 2009
@@ -76,6 +76,12 @@
     public static final String PROTOCOL_IMAP = "imap";
     public static final String PROTOCOL_IMAPS = "imaps";
 
+    private static final String MAIL_PREFIX = "mail.";
+    private static final String DEFAULT_INBOX = "INBOX";
+    
+    private static final String URI_PASSWORD_PART = "password=";
+    private static final String URI_USER_PART = "user=";
+    
     public static final String CONNECTION_TIMEOUT = "10000";
 
     /**
@@ -142,7 +148,7 @@
             config.setProtocol(scheme);
         } else {
             // set smtp as default
-            config.setProtocol("smtp");
+            config.setProtocol(PROTOCOL_SMTP);
         }
 
         String userInfo = uri.getUserInfo();
@@ -164,12 +170,12 @@
                 config.setFolderName(uri.getPath());
             }
         } else {
-            config.setFolderName("INBOX");
+            config.setFolderName(DEFAULT_INBOX);
         }
 
-        if (uri.getQuery() != null && uri.getQuery().indexOf("password=") != -1) {
+        if (uri.getQuery() != null && uri.getQuery().indexOf(URI_PASSWORD_PART) != -1) {
             // extract the password from query
-            int beginIndex = uri.getQuery().indexOf("password=") + "password=".length();
+            int beginIndex = uri.getQuery().indexOf(URI_PASSWORD_PART) + URI_PASSWORD_PART.length();
             int endIndex = uri.getQuery().indexOf(';', beginIndex + 1) != -1 ? uri.getQuery()
                 .indexOf(';', beginIndex + 1) : uri.getQuery().length();
             config.setPassword(uri.getQuery().substring(beginIndex, endIndex));
@@ -180,9 +186,9 @@
 
         if (userInfo == null) { 
             // alternative way of specifying the user name
-            if (uri.getQuery() != null && uri.getQuery().indexOf("user=") != -1) {
+            if (uri.getQuery() != null && uri.getQuery().indexOf(URI_USER_PART) != -1) {
                 // extract the password from query
-                int beginIndex = uri.getQuery().indexOf("user=") + "user=".length();
+                int beginIndex = uri.getQuery().indexOf(URI_USER_PART) + URI_USER_PART.length();
                 int endIndex = uri.getQuery().indexOf(';', beginIndex + 1) != -1 ? uri.getQuery()
                     .indexOf(';', beginIndex + 1) : uri.getQuery().length();
                 config.setUsername(uri.getQuery().substring(beginIndex, endIndex));
@@ -207,26 +213,26 @@
         // Get system properties clone
         Properties mailConnectionProperties = (Properties)System.getProperties().clone();
 
-        mailConnectionProperties.put("mail." + config.getProtocol() + ".connectiontimeout",
+        mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".connectiontimeout",
                                      CONNECTION_TIMEOUT);
-        mailConnectionProperties.put("mail." + config.getProtocol() + ".timeout", CONNECTION_TIMEOUT);
-        mailConnectionProperties.put("mail." + config.getProtocol() + ".host", config.getHost());
-        mailConnectionProperties.put("mail." + config.getProtocol() + ".port", "" + config.getPort());
-        mailConnectionProperties.put("mail." + config.getProtocol() + ".user", config.getUsername());
-        mailConnectionProperties.put("mail." + config.getProtocol() + ".rsetbeforequit", "true");
-        mailConnectionProperties.put("mail." + config.getProtocol() + ".auth", "true");
-        mailConnectionProperties.put("mail.transport.protocol", config.getProtocol());
-        mailConnectionProperties.put("mail.store.protocol", config.getProtocol());
-        mailConnectionProperties.put("mail.host", config.getHost());
-        mailConnectionProperties.put("mail.user", config.getUsername());
+        mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".timeout", CONNECTION_TIMEOUT);
+        mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".host", config.getHost());
+        mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".port", "" + config.getPort());
+        mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".user", config.getUsername());
+        mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".rsetbeforequit", "true");
+        mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".auth", "true");
+        mailConnectionProperties.put(MAIL_PREFIX + "transport.protocol", config.getProtocol());
+        mailConnectionProperties.put(MAIL_PREFIX + "store.protocol", config.getProtocol());
+        mailConnectionProperties.put(MAIL_PREFIX + "host", config.getHost());
+        mailConnectionProperties.put(MAIL_PREFIX + "user", config.getUsername());
 
         if (customTrustManagers != null && customTrustManagers.trim().length() > 0
             && config.isSecureProtocol()) {
             // set java mail properties
             mailConnectionProperties
-                .put("mail." + config.getProtocol() + ".socketFactory.class", SSL_FACTORY);
-            mailConnectionProperties.put("mail." + config.getProtocol() + ".socketFactory.fallback", "false");
-            mailConnectionProperties.put("mail." + config.getProtocol() + ".socketFactory.port",
+                .put(MAIL_PREFIX + config.getProtocol() + ".socketFactory.class", SSL_FACTORY);
+            mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".socketFactory.fallback", "false");
+            mailConnectionProperties.put(MAIL_PREFIX + config.getProtocol() + ".socketFactory.port",
                                          "" + config.getPort());
 
             // set the properties for the custom ssl socket factory
@@ -258,6 +264,7 @@
      * @param mailMsg the mail message
      * @throws javax.mail.MessagingException on any errors
      */
+    @SuppressWarnings("unchecked")
     public static void extractHeadersFromMail(MessageExchange exchange, NormalizedMessage nmsg, MimeMessage mailMsg)
         throws javax.mail.MessagingException {
         // first convert the headers of the mail to properties of the message