JAMES-1852 Move mailets to the right package

It allows it to be addressed in mailetcontainer by name and not by FQDN


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

Branch: refs/heads/master
Commit: e9cba9cfb7b81ec9ba811359895f7bdd7d8b024c
Parents: 989d60e
Author: Benoit Tellier <[email protected]>
Authored: Fri Oct 28 15:57:38 2016 +0200
Committer: Benoit Tellier <[email protected]>
Committed: Fri Nov 18 18:46:46 2016 +0700

----------------------------------------------------------------------
 .../james/transport/mailets/LocalDelivery.java  | 110 +++++++++++++++++
 .../transport/mailets/SieveLocalDelivery.java   | 122 +++++++++++++++++++
 .../mailets/SieveToRecipientFolder.java         | 114 +++++++++++++++++
 .../transport/mailets/ToRecipientFolder.java    | 103 ++++++++++++++++
 .../mailets/delivery/LocalDelivery.java         | 107 ----------------
 .../mailets/delivery/SieveLocalDelivery.java    | 118 ------------------
 .../delivery/SieveToRecipientFolder.java        | 111 -----------------
 .../mailets/delivery/ToRecipientFolder.java     | 100 ---------------
 .../delivery/SieveLocalDeliveryTest.java        |   1 +
 .../delivery/SieveToRecipientFolderTest.java    |   2 +
 10 files changed, 452 insertions(+), 436 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
new file mode 100644
index 0000000..28b9a51
--- /dev/null
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
@@ -0,0 +1,110 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.transport.mailets;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.mail.MessagingException;
+
+import org.apache.commons.logging.Log;
+import org.apache.james.domainlist.api.DomainList;
+import org.apache.james.mailbox.MailboxManager;
+
+import org.apache.james.transport.mailets.delivery.MailDispatcher;
+import org.apache.james.transport.mailets.delivery.MailboxAppender;
+import org.apache.james.transport.mailets.delivery.SimpleMailStorer;
+import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
+import org.apache.james.user.api.UsersRepository;
+import org.apache.mailet.Mail;
+import org.apache.mailet.base.GenericMailet;
+
+/**
+ * Receives a Mail from the Queue and takes care of delivery of the
+ * message to local inboxes.
+ * 
+ * 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 {
+    
+    private org.apache.james.rrt.api.RecipientRewriteTable rrt;
+    private UsersRepository usersRepository;
+    private MailboxManager mailboxManager;
+    private DomainList domainList;
+
+    @Inject
+    public void setRrt(org.apache.james.rrt.api.RecipientRewriteTable rrt) {
+        this.rrt = rrt;
+    }
+
+    @Inject
+    public void setUsersRepository(UsersRepository usersRepository) {
+        this.usersRepository = usersRepository;
+    }
+    
+    @Inject
+    public void setMailboxManager(@Named("mailboxmanager") MailboxManager 
mailboxManager) {
+        this.mailboxManager = mailboxManager;
+    }
+    
+    @Inject
+    public void setDomainList(DomainList domainList) {
+        this.domainList = domainList;
+    }
+
+    private MailDispatcher mailDispatcher;  // Mailet that actually stores the 
message
+    private RecipientRewriteTable recipientRewriteTable;  // Mailet that 
applies RecipientRewriteTable
+
+    public void service(Mail mail) throws MessagingException {
+        recipientRewriteTable.service(mail);
+        if (!mail.getState().equals(Mail.GHOST)) {
+            mailDispatcher.dispatch(mail);
+        }
+    }
+
+    public String getMailetInfo() {
+        return "Local Delivery Mailet";
+    }
+
+    public void init() throws MessagingException {
+        recipientRewriteTable = new RecipientRewriteTable();
+        recipientRewriteTable.setDomainList(domainList);
+        recipientRewriteTable.setRecipientRewriteTable(rrt);
+        recipientRewriteTable.init(getMailetConfig());
+        Log log = CommonsLoggingAdapter.builder()
+            .mailet(this)
+            .quiet(getInitParameter("quiet", false))
+            .verbose(getInitParameter("verbose", false))
+            .build();
+        mailDispatcher = MailDispatcher.builder()
+            .mailStorer(SimpleMailStorer.builder()
+                .mailboxAppender(new MailboxAppender(mailboxManager, 
getMailetContext()))
+                .usersRepository(usersRepository)
+                .folder("INBOX")
+                .log(log)
+                .build())
+            .consume(getInitParameter("consume", true))
+            .mailetContext(getMailetContext())
+            .log(log)
+            .build();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
new file mode 100644
index 0000000..9dfa5f2
--- /dev/null
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveLocalDelivery.java
@@ -0,0 +1,122 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.transport.mailets;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.mail.MessagingException;
+
+import org.apache.commons.logging.Log;
+import org.apache.james.domainlist.api.DomainList;
+import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.sieverepository.api.SieveRepository;
+import org.apache.james.transport.mailets.RecipientRewriteTable;
+import org.apache.james.transport.mailets.ResourceLocatorImpl;
+import org.apache.james.transport.mailets.delivery.MailDispatcher;
+import org.apache.james.transport.mailets.delivery.MailboxAppender;
+import org.apache.james.transport.mailets.delivery.SieveMailStorer;
+import org.apache.james.transport.mailets.delivery.SievePoster;
+import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
+import org.apache.james.user.api.UsersRepository;
+import org.apache.mailet.Mail;
+import org.apache.mailet.base.GenericMailet;
+
+/**
+ * Receives a Mail from the Queue and takes care of delivery of the
+ * message to local inboxes applying SIEVE rules.
+ * 
+ * This mailet is a composition of RecipientRewriteTable, SieveMailet 
+ * and MailboxManager configured to mimic the old "LocalDelivery"
+ * James 2.3 behavior.
+ */
+public class SieveLocalDelivery extends GenericMailet {
+    
+    private org.apache.james.rrt.api.RecipientRewriteTable rrt;
+    private UsersRepository usersRepository;
+    private MailboxManager mailboxManager;
+    private DomainList domainList;
+    private SieveRepository sieveRepository;
+
+    @Inject
+    public void setSieveRepository(SieveRepository sieveRepository) {
+        this.sieveRepository = sieveRepository;
+    }
+
+    @Inject
+    public void setRrt(org.apache.james.rrt.api.RecipientRewriteTable rrt) {
+        this.rrt = rrt;
+    }
+
+    @Inject
+    public void setUsersRepository(UsersRepository usersRepository) {
+        this.usersRepository = usersRepository;
+    }
+    
+    @Inject
+    public void setMailboxManager(@Named("mailboxmanager") MailboxManager 
mailboxManager) {
+        this.mailboxManager = mailboxManager;
+    }
+    
+    @Inject
+    public void setDomainList(DomainList domainList) {
+        this.domainList = domainList;
+    }
+
+    private MailDispatcher mailDispatcher;  // Mailet that actually stores the 
message
+    private RecipientRewriteTable recipientRewriteTable;  // Mailet that 
applies RecipientRewriteTable
+
+    public void service(Mail mail) throws MessagingException {
+        recipientRewriteTable.service(mail);
+        if (!mail.getState().equals(Mail.GHOST)) {
+            mailDispatcher.dispatch(mail);
+        }
+    }
+
+    public String getMailetInfo() {
+        return "Local Delivery Mailet";
+    }
+
+    public void init() throws MessagingException {
+        recipientRewriteTable = new RecipientRewriteTable();
+        recipientRewriteTable.setDomainList(domainList);
+        recipientRewriteTable.setRecipientRewriteTable(rrt);
+        recipientRewriteTable.init(getMailetConfig());
+        Log log = CommonsLoggingAdapter.builder()
+            .mailet(this)
+            .quiet(getInitParameter("quiet", false))
+            .verbose(getInitParameter("verbose", false))
+            .build();
+        String folder = "INBOX";
+        mailDispatcher = MailDispatcher.builder()
+            .mailStorer(SieveMailStorer.builder()
+                .sievePoster(new SievePoster(new 
MailboxAppender(mailboxManager, getMailetContext()), folder, usersRepository, 
getMailetContext()))
+                .usersRepository(usersRepository)
+                
.resourceLocator(ResourceLocatorImpl.instanciate(usersRepository, 
sieveRepository))
+                .mailetContext(getMailetContext())
+                .folder(folder)
+                .log(log)
+                .build())
+            .consume(getInitParameter("consume", true))
+            .mailetContext(getMailetContext())
+            .log(log)
+            .build();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
new file mode 100644
index 0000000..a574a15
--- /dev/null
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SieveToRecipientFolder.java
@@ -0,0 +1,114 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.transport.mailets;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.mail.MessagingException;
+
+import org.apache.commons.logging.Log;
+import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.sieverepository.api.SieveRepository;
+import org.apache.james.transport.mailets.delivery.MailDispatcher;
+import org.apache.james.transport.mailets.delivery.MailboxAppender;
+import org.apache.james.transport.mailets.delivery.SieveMailStorer;
+import org.apache.james.transport.mailets.delivery.SievePoster;
+import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
+import org.apache.james.user.api.UsersRepository;
+import org.apache.mailet.Mail;
+import org.apache.mailet.base.GenericMailet;
+
+/**
+ * Receives a Mail from the Queue and takes care to deliver the message
+ * to a defined folder of the recipient(s) applying SIEVE rules.
+ * 
+ * You have to define the folder name of the recipient(s).
+ * The flag 'consume' will tell is the mail will be further
+ * processed by the upcoming processor mailets, or not.
+ * 
+ * <pre>
+ * &lt;mailet match="RecipientIsLocal" class="ToRecipientFolder"&gt;
+ *    &lt;folder&gt; <i>Junk</i> &lt;/folder&gt;
+ *    &lt;consume&gt; <i>false</i> &lt;/consume&gt;
+ * &lt;/mailet&gt;
+ * </pre>
+ * 
+ */
+public class SieveToRecipientFolder extends GenericMailet {
+
+    public static final String FOLDER_PARAMETER = "folder";
+    public static final String CONSUME_PARAMETER = "consume";
+
+    private MailboxManager mailboxManager;
+    private SieveRepository sieveRepository;
+    private UsersRepository usersRepository;
+
+    @Inject
+    public void setMailboxManager(@Named("mailboxmanager")MailboxManager 
mailboxManager) {
+        this.mailboxManager = mailboxManager;
+    }
+
+    @Inject
+    public void setSieveRepository(SieveRepository sieveRepository) {
+        this.sieveRepository = sieveRepository;
+    }
+
+    @Inject
+    public void setUsersRepository(UsersRepository usersRepository) {
+        this.usersRepository = usersRepository;
+    }
+
+    private MailDispatcher mailDispatcher;
+
+    @Override
+    public void service(Mail mail) throws MessagingException {
+        if (!mail.getState().equals(Mail.GHOST)) {
+            mailDispatcher.dispatch(mail);
+        }
+    }
+
+    @Override
+    public void init() throws MessagingException {
+        Log log = CommonsLoggingAdapter.builder()
+            .mailet(this)
+            .quiet(getInitParameter("quiet", true))
+            .verbose(getInitParameter("verbose", false))
+            .build();
+        String folder = getInitParameter(FOLDER_PARAMETER, "INBOX");
+        mailDispatcher = MailDispatcher.builder()
+            .mailStorer(SieveMailStorer.builder()
+                .sievePoster(new SievePoster(new 
MailboxAppender(mailboxManager, getMailetContext()), folder, usersRepository, 
getMailetContext()))
+                .usersRepository(usersRepository)
+                
.resourceLocator(ResourceLocatorImpl.instanciate(usersRepository, 
sieveRepository))
+                .mailetContext(getMailetContext())
+                .folder(folder)
+                .log(log)
+                .build())
+            .consume(getInitParameter(CONSUME_PARAMETER, false))
+            .mailetContext(getMailetContext())
+            .log(log)
+            .build();
+    }
+
+    @Override
+    public String getMailetInfo() {
+        return SieveToRecipientFolder.class.getName() + " Mailet";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
new file mode 100644
index 0000000..9270dcb
--- /dev/null
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java
@@ -0,0 +1,103 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.transport.mailets;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.mail.MessagingException;
+
+import org.apache.commons.logging.Log;
+import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.transport.mailets.delivery.MailDispatcher;
+import org.apache.james.transport.mailets.delivery.MailboxAppender;
+import org.apache.james.transport.mailets.delivery.SimpleMailStorer;
+import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
+import org.apache.james.user.api.UsersRepository;
+import org.apache.mailet.Mail;
+import org.apache.mailet.base.GenericMailet;
+
+/**
+ * Receives a Mail from the Queue and takes care to deliver the message
+ * to a defined folder of the recipient(s).
+ * 
+ * You have to define the folder name of the recipient(s).
+ * The flag 'consume' will tell is the mail will be further
+ * processed by the upcoming processor mailets, or not.
+ * 
+ * <pre>
+ * &lt;mailet match="RecipientIsLocal" class="ToRecipientFolder"&gt;
+ *    &lt;folder&gt; <i>Junk</i> &lt;/folder&gt;
+ *    &lt;consume&gt; <i>false</i> &lt;/consume&gt;
+ * &lt;/mailet&gt;
+ * </pre>
+ * 
+ */
+public class ToRecipientFolder extends GenericMailet {
+
+    public static final String FOLDER_PARAMETER = "folder";
+    public static final String CONSUME_PARAMETER = "consume";
+
+    private MailboxManager mailboxManager;
+    private UsersRepository usersRepository;
+
+    @Inject
+    public void setMailboxManager(@Named("mailboxmanager")MailboxManager 
mailboxManager) {
+        this.mailboxManager = mailboxManager;
+    }
+
+    @Inject
+    public void setUsersRepository(UsersRepository usersRepository) {
+        this.usersRepository = usersRepository;
+    }
+
+    private MailDispatcher mailDispatcher;
+
+    @Override
+    public void service(Mail mail) throws MessagingException {
+        if (!mail.getState().equals(Mail.GHOST)) {
+            mailDispatcher.dispatch(mail);
+        }
+    }
+
+    @Override
+    public void init() throws MessagingException {
+        Log log = CommonsLoggingAdapter.builder()
+            .mailet(this)
+            .quiet(getInitParameter("quiet", true))
+            .verbose(getInitParameter("verbose", false))
+            .build();
+        mailDispatcher = MailDispatcher.builder()
+            .mailStorer(SimpleMailStorer.builder()
+                .mailboxAppender(new MailboxAppender(mailboxManager, 
getMailetContext()))
+                .usersRepository(usersRepository)
+                .folder(getInitParameter(FOLDER_PARAMETER, "INBOX"))
+                .log(log)
+                .build())
+            .consume(getInitParameter(CONSUME_PARAMETER, false))
+            .mailetContext(getMailetContext())
+            .log(log)
+            .build();
+    }
+
+    @Override
+    public String getMailetInfo() {
+        return ToRecipientFolder.class.getName() + " Mailet";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/LocalDelivery.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/LocalDelivery.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/LocalDelivery.java
deleted file mode 100644
index b90a8ed..0000000
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/LocalDelivery.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.transport.mailets.delivery;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.mail.MessagingException;
-
-import org.apache.commons.logging.Log;
-import org.apache.james.domainlist.api.DomainList;
-import org.apache.james.mailbox.MailboxManager;
-import org.apache.james.transport.mailets.RecipientRewriteTable;
-import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
-import org.apache.james.user.api.UsersRepository;
-import org.apache.mailet.Mail;
-import org.apache.mailet.base.GenericMailet;
-
-/**
- * Receives a Mail from the Queue and takes care of delivery of the
- * message to local inboxes.
- * 
- * 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 {
-    
-    private org.apache.james.rrt.api.RecipientRewriteTable rrt;
-    private UsersRepository usersRepository;
-    private MailboxManager mailboxManager;
-    private DomainList domainList;
-
-    @Inject
-    public void setRrt(org.apache.james.rrt.api.RecipientRewriteTable rrt) {
-        this.rrt = rrt;
-    }
-
-    @Inject
-    public void setUsersRepository(UsersRepository usersRepository) {
-        this.usersRepository = usersRepository;
-    }
-    
-    @Inject
-    public void setMailboxManager(@Named("mailboxmanager") MailboxManager 
mailboxManager) {
-        this.mailboxManager = mailboxManager;
-    }
-    
-    @Inject
-    public void setDomainList(DomainList domainList) {
-        this.domainList = domainList;
-    }
-
-    private MailDispatcher mailDispatcher;  // Mailet that actually stores the 
message
-    private RecipientRewriteTable recipientRewriteTable;  // Mailet that 
applies RecipientRewriteTable
-
-    public void service(Mail mail) throws MessagingException {
-        recipientRewriteTable.service(mail);
-        if (!mail.getState().equals(Mail.GHOST)) {
-            mailDispatcher.dispatch(mail);
-        }
-    }
-
-    public String getMailetInfo() {
-        return "Local Delivery Mailet";
-    }
-
-    public void init() throws MessagingException {
-        recipientRewriteTable = new RecipientRewriteTable();
-        recipientRewriteTable.setDomainList(domainList);
-        recipientRewriteTable.setRecipientRewriteTable(rrt);
-        recipientRewriteTable.init(getMailetConfig());
-        Log log = CommonsLoggingAdapter.builder()
-            .mailet(this)
-            .quiet(getInitParameter("quiet", false))
-            .verbose(getInitParameter("verbose", false))
-            .build();
-        mailDispatcher = MailDispatcher.builder()
-            .mailStorer(SimpleMailStorer.builder()
-                .mailboxAppender(new MailboxAppender(mailboxManager, 
getMailetContext()))
-                .usersRepository(usersRepository)
-                .folder("INBOX")
-                .log(log)
-                .build())
-            .consume(getInitParameter("consume", true))
-            .mailetContext(getMailetContext())
-            .log(log)
-            .build();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SieveLocalDelivery.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SieveLocalDelivery.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SieveLocalDelivery.java
deleted file mode 100644
index eeba376..0000000
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SieveLocalDelivery.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.transport.mailets.delivery;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.mail.MessagingException;
-
-import org.apache.commons.logging.Log;
-import org.apache.james.domainlist.api.DomainList;
-import org.apache.james.mailbox.MailboxManager;
-import org.apache.james.sieverepository.api.SieveRepository;
-import org.apache.james.transport.mailets.RecipientRewriteTable;
-import org.apache.james.transport.mailets.ResourceLocatorImpl;
-import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
-import org.apache.james.user.api.UsersRepository;
-import org.apache.mailet.Mail;
-import org.apache.mailet.base.GenericMailet;
-
-/**
- * Receives a Mail from the Queue and takes care of delivery of the
- * message to local inboxes applying SIEVE rules.
- * 
- * This mailet is a composition of RecipientRewriteTable, SieveMailet 
- * and MailboxManager configured to mimic the old "LocalDelivery"
- * James 2.3 behavior.
- */
-public class SieveLocalDelivery extends GenericMailet {
-    
-    private org.apache.james.rrt.api.RecipientRewriteTable rrt;
-    private UsersRepository usersRepository;
-    private MailboxManager mailboxManager;
-    private DomainList domainList;
-    private SieveRepository sieveRepository;
-
-    @Inject
-    public void setSieveRepository(SieveRepository sieveRepository) {
-        this.sieveRepository = sieveRepository;
-    }
-
-    @Inject
-    public void setRrt(org.apache.james.rrt.api.RecipientRewriteTable rrt) {
-        this.rrt = rrt;
-    }
-
-    @Inject
-    public void setUsersRepository(UsersRepository usersRepository) {
-        this.usersRepository = usersRepository;
-    }
-    
-    @Inject
-    public void setMailboxManager(@Named("mailboxmanager") MailboxManager 
mailboxManager) {
-        this.mailboxManager = mailboxManager;
-    }
-    
-    @Inject
-    public void setDomainList(DomainList domainList) {
-        this.domainList = domainList;
-    }
-
-    private MailDispatcher mailDispatcher;  // Mailet that actually stores the 
message
-    private RecipientRewriteTable recipientRewriteTable;  // Mailet that 
applies RecipientRewriteTable
-
-    public void service(Mail mail) throws MessagingException {
-        recipientRewriteTable.service(mail);
-        if (!mail.getState().equals(Mail.GHOST)) {
-            mailDispatcher.dispatch(mail);
-        }
-    }
-
-    public String getMailetInfo() {
-        return "Local Delivery Mailet";
-    }
-
-    public void init() throws MessagingException {
-        recipientRewriteTable = new RecipientRewriteTable();
-        recipientRewriteTable.setDomainList(domainList);
-        recipientRewriteTable.setRecipientRewriteTable(rrt);
-        recipientRewriteTable.init(getMailetConfig());
-        Log log = CommonsLoggingAdapter.builder()
-            .mailet(this)
-            .quiet(getInitParameter("quiet", false))
-            .verbose(getInitParameter("verbose", false))
-            .build();
-        String folder = "INBOX";
-        mailDispatcher = MailDispatcher.builder()
-            .mailStorer(SieveMailStorer.builder()
-                .sievePoster(new SievePoster(new 
MailboxAppender(mailboxManager, getMailetContext()), folder, usersRepository, 
getMailetContext()))
-                .usersRepository(usersRepository)
-                
.resourceLocator(ResourceLocatorImpl.instanciate(usersRepository, 
sieveRepository))
-                .mailetContext(getMailetContext())
-                .folder(folder)
-                .log(log)
-                .build())
-            .consume(getInitParameter("consume", true))
-            .mailetContext(getMailetContext())
-            .log(log)
-            .build();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolder.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolder.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolder.java
deleted file mode 100644
index 634f653..0000000
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolder.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-package org.apache.james.transport.mailets.delivery;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.mail.MessagingException;
-
-import org.apache.commons.logging.Log;
-import org.apache.james.mailbox.MailboxManager;
-import org.apache.james.sieverepository.api.SieveRepository;
-import org.apache.james.transport.mailets.ResourceLocatorImpl;
-import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
-import org.apache.james.user.api.UsersRepository;
-import org.apache.mailet.Mail;
-import org.apache.mailet.base.GenericMailet;
-
-/**
- * Receives a Mail from the Queue and takes care to deliver the message
- * to a defined folder of the recipient(s) applying SIEVE rules.
- * 
- * You have to define the folder name of the recipient(s).
- * The flag 'consume' will tell is the mail will be further
- * processed by the upcoming processor mailets, or not.
- * 
- * <pre>
- * &lt;mailet match="RecipientIsLocal" class="ToRecipientFolder"&gt;
- *    &lt;folder&gt; <i>Junk</i> &lt;/folder&gt;
- *    &lt;consume&gt; <i>false</i> &lt;/consume&gt;
- * &lt;/mailet&gt;
- * </pre>
- * 
- */
-public class SieveToRecipientFolder extends GenericMailet {
-
-    public static final String FOLDER_PARAMETER = "folder";
-    public static final String CONSUME_PARAMETER = "consume";
-
-    private MailboxManager mailboxManager;
-    private SieveRepository sieveRepository;
-    private UsersRepository usersRepository;
-
-    @Inject
-    public void setMailboxManager(@Named("mailboxmanager")MailboxManager 
mailboxManager) {
-        this.mailboxManager = mailboxManager;
-    }
-
-    @Inject
-    public void setSieveRepository(SieveRepository sieveRepository) {
-        this.sieveRepository = sieveRepository;
-    }
-
-    @Inject
-    public void setUsersRepository(UsersRepository usersRepository) {
-        this.usersRepository = usersRepository;
-    }
-
-    private MailDispatcher mailDispatcher;
-
-    @Override
-    public void service(Mail mail) throws MessagingException {
-        if (!mail.getState().equals(Mail.GHOST)) {
-            mailDispatcher.dispatch(mail);
-        }
-    }
-
-    @Override
-    public void init() throws MessagingException {
-        Log log = CommonsLoggingAdapter.builder()
-            .mailet(this)
-            .quiet(getInitParameter("quiet", true))
-            .verbose(getInitParameter("verbose", false))
-            .build();
-        String folder = getInitParameter(FOLDER_PARAMETER, "INBOX");
-        mailDispatcher = MailDispatcher.builder()
-            .mailStorer(SieveMailStorer.builder()
-                .sievePoster(new SievePoster(new 
MailboxAppender(mailboxManager, getMailetContext()), folder, usersRepository, 
getMailetContext()))
-                .usersRepository(usersRepository)
-                
.resourceLocator(ResourceLocatorImpl.instanciate(usersRepository, 
sieveRepository))
-                .mailetContext(getMailetContext())
-                .folder(folder)
-                .log(log)
-                .build())
-            .consume(getInitParameter(CONSUME_PARAMETER, false))
-            .mailetContext(getMailetContext())
-            .log(log)
-            .build();
-    }
-
-    @Override
-    public String getMailetInfo() {
-        return SieveToRecipientFolder.class.getName() + " Mailet";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/ToRecipientFolder.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/ToRecipientFolder.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/ToRecipientFolder.java
deleted file mode 100644
index 1167c28..0000000
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/ToRecipientFolder.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-package org.apache.james.transport.mailets.delivery;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.mail.MessagingException;
-
-import org.apache.commons.logging.Log;
-import org.apache.james.mailbox.MailboxManager;
-import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
-import org.apache.james.user.api.UsersRepository;
-import org.apache.mailet.Mail;
-import org.apache.mailet.base.GenericMailet;
-
-/**
- * Receives a Mail from the Queue and takes care to deliver the message
- * to a defined folder of the recipient(s).
- * 
- * You have to define the folder name of the recipient(s).
- * The flag 'consume' will tell is the mail will be further
- * processed by the upcoming processor mailets, or not.
- * 
- * <pre>
- * &lt;mailet match="RecipientIsLocal" class="ToRecipientFolder"&gt;
- *    &lt;folder&gt; <i>Junk</i> &lt;/folder&gt;
- *    &lt;consume&gt; <i>false</i> &lt;/consume&gt;
- * &lt;/mailet&gt;
- * </pre>
- * 
- */
-public class ToRecipientFolder extends GenericMailet {
-
-    public static final String FOLDER_PARAMETER = "folder";
-    public static final String CONSUME_PARAMETER = "consume";
-
-    private MailboxManager mailboxManager;
-    private UsersRepository usersRepository;
-
-    @Inject
-    public void setMailboxManager(@Named("mailboxmanager")MailboxManager 
mailboxManager) {
-        this.mailboxManager = mailboxManager;
-    }
-
-    @Inject
-    public void setUsersRepository(UsersRepository usersRepository) {
-        this.usersRepository = usersRepository;
-    }
-
-    private MailDispatcher mailDispatcher;
-
-    @Override
-    public void service(Mail mail) throws MessagingException {
-        if (!mail.getState().equals(Mail.GHOST)) {
-            mailDispatcher.dispatch(mail);
-        }
-    }
-
-    @Override
-    public void init() throws MessagingException {
-        Log log = CommonsLoggingAdapter.builder()
-            .mailet(this)
-            .quiet(getInitParameter("quiet", true))
-            .verbose(getInitParameter("verbose", false))
-            .build();
-        mailDispatcher = MailDispatcher.builder()
-            .mailStorer(SimpleMailStorer.builder()
-                .mailboxAppender(new MailboxAppender(mailboxManager, 
getMailetContext()))
-                .usersRepository(usersRepository)
-                .folder(getInitParameter(FOLDER_PARAMETER, "INBOX"))
-                .log(log)
-                .build())
-            .consume(getInitParameter(CONSUME_PARAMETER, false))
-            .mailetContext(getMailetContext())
-            .log(log)
-            .build();
-    }
-
-    @Override
-    public String getMailetInfo() {
-        return ToRecipientFolder.class.getName() + " Mailet";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveLocalDeliveryTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveLocalDeliveryTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveLocalDeliveryTest.java
index 6cb9781..3b081ab 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveLocalDeliveryTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveLocalDeliveryTest.java
@@ -48,6 +48,7 @@ import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.rrt.api.RecipientRewriteTable;
 import org.apache.james.sieverepository.api.SieveRepository;
 import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
+import org.apache.james.transport.mailets.SieveLocalDelivery;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cba9cf/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolderTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolderTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolderTest.java
index 5de9ab0..dbc7537 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolderTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveToRecipientFolderTest.java
@@ -46,6 +46,8 @@ import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageManager;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.sieverepository.api.SieveRepository;
+import org.apache.james.transport.mailets.SieveToRecipientFolder;
+import org.apache.james.transport.mailets.ToRecipientFolder;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to