You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2017/01/11 09:25:59 UTC

[11/50] [abbrv] james-project git commit: MAILET-115 Remove abstract setSubjectPrefix implementation

MAILET-115 Remove abstract setSubjectPrefix implementation


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

Branch: refs/heads/master
Commit: bc3c5462cc27823243c5fbbc12fdb0353f907f25
Parents: 33deb2e
Author: Antoine Duprat <ad...@apache.org>
Authored: Wed Oct 5 12:07:05 2016 +0200
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Jan 11 10:03:28 2017 +0700

----------------------------------------------------------------------
 .../apache/james/transport/mailets/Bounce.java  |  6 ++++
 .../james/transport/mailets/DSNBounce.java      |  6 ++++
 .../apache/james/transport/mailets/Forward.java |  8 +++++
 .../transport/mailets/NotifyPostmaster.java     |  6 ++++
 .../james/transport/mailets/NotifySender.java   |  6 ++++
 .../james/transport/mailets/Redirect.java       |  8 +++++
 .../apache/james/transport/mailets/Resend.java  |  9 +++++
 .../mailets/redirect/AbstractRedirect.java      | 37 +++++++++++++++-----
 .../mailets/redirect/AbstractRedirectTest.java  |  4 +++
 9 files changed, 82 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java
index 91f3257..9bb8be3 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Bounce.java
@@ -30,6 +30,7 @@ import org.apache.james.transport.mailets.redirect.InitParameters;
 import org.apache.james.transport.mailets.redirect.NotifyMailetInitParameters;
 import org.apache.james.transport.mailets.redirect.NotifyMailetsMessage;
 import org.apache.james.transport.mailets.redirect.SpecialAddress;
+import org.apache.james.transport.mailets.utils.MimeMessageModifier;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 
@@ -162,6 +163,11 @@ public class Bounce extends AbstractRedirect {
     }
 
     @Override
+    protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
+        new MimeMessageModifier(originalMail.getMessage()).addSubjectPrefix(subjectPrefix);
+    }
+
+    @Override
     public void service(Mail originalMail) throws MessagingException {
         if (originalMail.getSender() == null) {
             passThrough(originalMail);

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java
index b69a905..08d5378 100755
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DSNBounce.java
@@ -40,6 +40,7 @@ import org.apache.james.transport.mailets.redirect.NotifyMailetInitParameters;
 import org.apache.james.transport.mailets.redirect.NotifyMailetsMessage;
 import org.apache.james.transport.mailets.redirect.SpecialAddress;
 import org.apache.james.transport.mailets.redirect.TypeCode;
+import org.apache.james.transport.mailets.utils.MimeMessageModifier;
 import org.apache.james.transport.util.Patterns;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
@@ -156,6 +157,11 @@ public class DSNBounce extends AbstractRedirect {
     }
 
     @Override
+    protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
+        new MimeMessageModifier(originalMail.getMessage()).addSubjectPrefix(subjectPrefix);
+    }
+
+    @Override
     public void service(Mail originalMail) throws MessagingException {
         if (originalMail.getSender() == null) {
             if (getInitParameters().isDebug()) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Forward.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Forward.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Forward.java
index ecbc9d4..d5e9d13 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Forward.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Forward.java
@@ -177,4 +177,12 @@ public class Forward extends AbstractRedirect {
     protected MailAddress getSender() throws MessagingException {
         return null;
     }
+
+    @Override
+    protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
+        Optional<String> newSubject = getNewSubject(subjectPrefix, originalMail);
+        if (newSubject.isPresent()) {
+            changeSubject(newMail.getMessage(), newSubject.get());
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java
index 153d433..56210a8 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifyPostmaster.java
@@ -31,6 +31,7 @@ import org.apache.james.transport.mailets.redirect.InitParameters;
 import org.apache.james.transport.mailets.redirect.NotifyMailetInitParameters;
 import org.apache.james.transport.mailets.redirect.NotifyMailetsMessage;
 import org.apache.james.transport.mailets.redirect.SpecialAddress;
+import org.apache.james.transport.mailets.utils.MimeMessageModifier;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.MailetConfig;
@@ -179,4 +180,9 @@ public class NotifyPostmaster extends AbstractRedirect {
         return getSender(originalMail);
     }
 
+    @Override
+    protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
+        new MimeMessageModifier(originalMail.getMessage()).addSubjectPrefix(subjectPrefix);
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java
index 0e37607..62a69a5 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/NotifySender.java
@@ -32,6 +32,7 @@ import org.apache.james.transport.mailets.redirect.InitParameters;
 import org.apache.james.transport.mailets.redirect.NotifyMailetInitParameters;
 import org.apache.james.transport.mailets.redirect.NotifyMailetsMessage;
 import org.apache.james.transport.mailets.redirect.SpecialAddress;
+import org.apache.james.transport.mailets.utils.MimeMessageModifier;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.MailetConfig;
@@ -179,4 +180,9 @@ public class NotifySender extends AbstractRedirect {
     protected MailAddress getReversePath(Mail originalMail) throws MessagingException {
         return getSender(originalMail);
     }
+
+    @Override
+    protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
+        new MimeMessageModifier(originalMail.getMessage()).addSubjectPrefix(subjectPrefix);
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
index dd692f3..125c876 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Redirect.java
@@ -415,4 +415,12 @@ public class Redirect extends AbstractRedirect {
         return reversePath;
     }
 
+    @Override
+    protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
+        Optional<String> newSubject = getNewSubject(subjectPrefix, originalMail);
+        if (newSubject.isPresent()) {
+            changeSubject(newMail.getMessage(), newSubject.get());
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
index 8d0cb0b..ab61b3e 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java
@@ -31,6 +31,7 @@ import org.apache.james.transport.mailets.redirect.RedirectMailetInitParameters;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 
+import com.google.common.base.Optional;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
 
@@ -351,4 +352,12 @@ public class Resend extends AbstractRedirect {
         return reversePath;
     }
 
+    @Override
+    protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
+        Optional<String> newSubject = getNewSubject(subjectPrefix, originalMail);
+        if (newSubject.isPresent()) {
+            changeSubject(newMail.getMessage(), newSubject.get());
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
index 6f30633..aa65857 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AbstractRedirect.java
@@ -42,7 +42,6 @@ import org.apache.james.core.MailImpl;
 import org.apache.james.core.MimeMessageUtil;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.transport.mailets.Redirect;
-import org.apache.james.transport.mailets.utils.MimeMessageModifier;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.base.DateFormats;
@@ -475,11 +474,33 @@ public abstract class AbstractRedirect extends GenericMailet {
      * <i>originalMail</i> to <i>subjectPrefix</i>. Is a "setX(Mail, Tx, Mail)"
      * method.
      */
-    protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
-        if (isNotifyMailet()) {
-            new MimeMessageModifier(originalMail.getMessage()).addSubjectPrefix(subjectPrefix);
-        }
-
+    protected abstract void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException;
+//        if (isNotifyMailet()) {
+//            new MimeMessageModifier(originalMail.getMessage()).addSubjectPrefix(subjectPrefix);
+//        }
+//
+//        String subject = getInitParameters().getSubject();
+//        if (!Strings.isNullOrEmpty(subjectPrefix) || subject != null) {
+//            String newSubject = Strings.nullToEmpty(subject);
+//            if (subject == null) {
+//                newSubject = Strings.nullToEmpty(originalMail.getMessage().getSubject());
+//            } else {
+//                if (getInitParameters().isDebug()) {
+//                    log("subject set to: " + subject);
+//                }
+//            }
+//
+//            if (subjectPrefix != null) {
+//                newSubject = subjectPrefix + newSubject;
+//                if (getInitParameters().isDebug()) {
+//                    log("subjectPrefix set to: " + subjectPrefix);
+//                }
+//            }
+//            changeSubject(newMail.getMessage(), newSubject);
+//        }
+//    }
+
+    protected Optional<String> getNewSubject(String subjectPrefix, Mail originalMail) throws MessagingException {
         String subject = getInitParameters().getSubject();
         if (!Strings.isNullOrEmpty(subjectPrefix) || subject != null) {
             String newSubject = Strings.nullToEmpty(subject);
@@ -497,10 +518,10 @@ public abstract class AbstractRedirect extends GenericMailet {
                     log("subjectPrefix set to: " + subjectPrefix);
                 }
             }
-            changeSubject(newMail.getMessage(), newSubject);
+            return Optional.of(newSubject);
         }
+        return Optional.absent();
     }
-
     /**
      * Sets the "In-Reply-To:" header of <i>newMail</i> to the "Message-Id:" of
      * <i>originalMail</i>, if <i>isReply</i> is true.

http://git-wip-us.apache.org/repos/asf/james-project/blob/bc3c5462/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/AbstractRedirectTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/AbstractRedirectTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/AbstractRedirectTest.java
index c8926fd..8847bfb 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/AbstractRedirectTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/AbstractRedirectTest.java
@@ -84,6 +84,10 @@ public class AbstractRedirectTest {
         protected MailAddress getReversePath(Mail originalMail) throws MessagingException {
             return null;
         }
+
+        @Override
+        protected void setSubjectPrefix(Mail newMail, String subjectPrefix, Mail originalMail) throws MessagingException {
+        }
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org