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 er...@apache.org on 2012/02/21 09:30:43 UTC

svn commit: r1291652 - /james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java

Author: eric
Date: Tue Feb 21 08:30:43 2012
New Revision: 1291652

URL: http://svn.apache.org/viewvc?rev=1291652&view=rev
Log:
LocalDelivery Mailet should not use deprecated UsersRepositoryAliasingForwarding mailet + code format (JAMES-1378)

Modified:
    james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java

Modified: james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java?rev=1291652&r1=1291651&r2=1291652&view=diff
==============================================================================
--- james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java (original)
+++ james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java Tue Feb 21 08:30:43 2012
@@ -27,6 +27,7 @@ import javax.annotation.Resource;
 import javax.mail.MessagingException;
 
 import org.apache.commons.collections.iterators.IteratorChain;
+import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.user.api.UsersRepository;
@@ -36,29 +37,20 @@ import org.apache.mailet.MailetContext;
 import org.apache.mailet.base.GenericMailet;
 
 /**
- * Receives a Mail from JamesSpoolManager and takes care of delivery of the
+ * Receives a Mail from the Queue and takes care of delivery of the
  * message to local inboxes.
  * 
- * Since James 2.3.0 this mailet is a composition of
- * UserRepositoryAliasingForwarding and ToMultiRepository configurated to mimic
- * the old "LocalDelivery" behaviour.
+ * This mailet is a composition of RecipientRewriteTable, SieveMailet 
+ * and MailboxManager configured to mimic the old "LocalDelivery"
+ * James 2.3 behavior.
  */
 public class LocalDelivery extends GenericMailet {
-
-    /**
-     * Mailet that apply aliasing and forwarding
-     */
-    private UsersRepositoryAliasingForwarding aliasingMailet;
-
-    /**
-     * Mailet that actually store the message
-     */
-    private SieveMailet sieveMailet;
-
+    private RecipientRewriteTable recipientRewriteTable;  // Mailet that applies RecipientRewriteTable
+    private SieveMailet sieveMailet;  // Mailet that actually stores the message
     private UsersRepository usersRepository;
-
+    private org.apache.james.rrt.api.RecipientRewriteTable rrt;
     private MailboxManager mailboxManager;
-    
+    private DomainList domainList;
     private FileSystem fileSystem;
 
     @Resource(name = "usersrepository")
@@ -66,6 +58,11 @@ public class LocalDelivery extends Gener
         this.usersRepository = usersRepository;
     }
 
+    @Resource(name = "domainlist")
+    public void setDomainList(DomainList domainList) {
+        this.domainList = domainList;
+    }
+    
     @Resource(name = "mailboxmanager")
     public void setMailboxManager(MailboxManager mailboxManager) {
         this.mailboxManager = mailboxManager;
@@ -76,17 +73,20 @@ public class LocalDelivery extends Gener
         this.fileSystem = fileSystem;
     }
 
+    @Resource(name = "recipientrewritetable")
+    public final void setRecipientRewriteTable(org.apache.james.rrt.api.RecipientRewriteTable rrt) {
+        this.rrt = rrt;
+    }
+
     /**
      * Delivers a mail to a local mailbox.
      * 
-     * @param mail
-     *            the mail being processed
+     * @param mail the mail being processed
      * 
-     * @throws MessagingException
-     *             if an error occurs while storing the mail
+     * @throws MessagingException if an error occurs while storing the mail
      */
     public void service(Mail mail) throws MessagingException {
-        aliasingMailet.service(mail);
+        recipientRewriteTable.service(mail);
         if (mail.getState() != Mail.GHOST) {
             sieveMailet.service(mail);
         }
@@ -105,15 +105,20 @@ public class LocalDelivery extends Gener
      * @see org.apache.mailet.base.GenericMailet#init()
      */
     public void init() throws MessagingException {
+        
         super.init();
 
-        aliasingMailet = new UsersRepositoryAliasingForwarding();
-        aliasingMailet.setUsersRepository(usersRepository);
-        aliasingMailet.init(getMailetConfig());
+        recipientRewriteTable = new RecipientRewriteTable();
+        recipientRewriteTable.setDomainList(domainList);
+        recipientRewriteTable.setRecipientRewriteTable(rrt);
+        recipientRewriteTable.init(getMailetConfig());
+ 
         sieveMailet = new SieveMailet();
-        MailetConfig m = new MailetConfig() {
-
-            /**
+        sieveMailet.setUsersRepository(usersRepository);
+        sieveMailet.setMailboxManager(mailboxManager);
+        sieveMailet.setFileSystem(fileSystem);
+        sieveMailet.init(new MailetConfig() {
+            /*
              * @see org.apache.mailet.MailetConfig#getInitParameter(java.lang.String)
              */
             public String getInitParameter(String name) {
@@ -125,11 +130,10 @@ public class LocalDelivery extends Gener
                     return getMailetConfig().getInitParameter(name);
                 }
             }
-
-            /**
+            /*
              * @see org.apache.mailet.MailetConfig#getInitParameterNames()
              */
-            public Iterator getInitParameterNames() {
+            public Iterator<String> getInitParameterNames() {
                 IteratorChain c = new IteratorChain();
                 Collection<String> h = new ArrayList<String>();
                 h.add("addDeliveryHeader");
@@ -138,28 +142,23 @@ public class LocalDelivery extends Gener
                 c.addIterator(h.iterator());
                 return c;
             }
-
-            /**
+            /*
              * @see org.apache.mailet.MailetConfig#getMailetContext()
              */
             public MailetContext getMailetContext() {
                 return getMailetConfig().getMailetContext();
             }
-
-            /**
+            /*
              * @see org.apache.mailet.MailetConfig#getMailetName()
              */
             public String getMailetName() {
                 return getMailetConfig().getMailetName();
             }
 
-        };
-        sieveMailet.setUsersRepository(usersRepository);
-        sieveMailet.setMailboxManager(mailboxManager);
-        sieveMailet.setFileSystem(fileSystem);
-        sieveMailet.init(m);
+        });
         // Override the default value of "quiet"
         sieveMailet.setQuiet(getInitParameter("quiet", true));
+        
     }
 
 }



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