JAMES-1854 Rename MailStorer into MailStore

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

Branch: refs/heads/master
Commit: 42800ae531d7060b8834c5d918acc080cf19d314
Parents: b4a31c7
Author: Benoit Tellier <[email protected]>
Authored: Thu Nov 10 15:55:08 2016 +0700
Committer: Benoit Tellier <[email protected]>
Committed: Fri Nov 18 18:46:46 2016 +0700

----------------------------------------------------------------------
 .../james/transport/mailets/LocalDelivery.java  |   4 +-
 .../transport/mailets/SieveLocalDelivery.java   |   4 +-
 .../mailets/SieveToRecipientFolder.java         |   4 +-
 .../transport/mailets/ToRecipientFolder.java    |   4 +-
 .../mailets/delivery/MailDispatcher.java        |  18 +-
 .../transport/mailets/delivery/MailStore.java   |  29 +++
 .../transport/mailets/delivery/MailStorer.java  |  29 ---
 .../mailets/delivery/SimpleMailStore.java       | 103 ++++++++++
 .../mailets/delivery/SimpleMailStorer.java      | 103 ----------
 .../mailets/jsieve/delivery/SieveMailStore.java | 198 +++++++++++++++++++
 .../jsieve/delivery/SieveMailStorer.java        | 198 -------------------
 .../mailets/delivery/MailDispatcherTest.java    |  32 +--
 .../mailets/delivery/SieveIntegrationTest.java  |   6 +-
 .../mailets/delivery/SimpleMailStoreTest.java   | 118 +++++++++++
 .../mailets/delivery/SimpleMailStorerTest.java  | 118 -----------
 15 files changed, 484 insertions(+), 484 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/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
index 08e4f02..2a9cc76 100644
--- 
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
@@ -29,7 +29,7 @@ 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.delivery.SimpleMailStore;
 import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.mailet.Mail;
@@ -94,7 +94,7 @@ public class LocalDelivery extends GenericMailet {
             .verbose(getInitParameter("verbose", false))
             .build();
         mailDispatcher = MailDispatcher.builder()
-            .mailStorer(SimpleMailStorer.builder()
+            .mailStorer(SimpleMailStore.builder()
                 .mailboxAppender(new MailboxAppender(mailboxManager, 
getMailetContext().getLogger()))
                 .usersRepository(usersRepository)
                 .folder("INBOX")

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/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
index bdd3eb5..69af0bf 100644
--- 
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
@@ -29,7 +29,7 @@ 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.jsieve.delivery.SieveMailStorer;
+import org.apache.james.transport.mailets.jsieve.delivery.SieveMailStore;
 import org.apache.james.transport.mailets.jsieve.delivery.SievePoster;
 import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
 import org.apache.james.user.api.UsersRepository;
@@ -102,7 +102,7 @@ public class SieveLocalDelivery extends GenericMailet {
             .build();
         String folder = "INBOX";
         mailDispatcher = MailDispatcher.builder()
-            .mailStorer(SieveMailStorer.builder()
+            .mailStorer(SieveMailStore.builder()
                 .sievePoster(new SievePoster(new 
MailboxAppender(mailboxManager, getMailetContext().getLogger()), folder, 
usersRepository))
                 .usersRepository(usersRepository)
                 
.resourceLocator(ResourceLocatorImpl.instanciate(usersRepository, 
sieveRepository))

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/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
index 17f75f3..67039a7 100644
--- 
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
@@ -27,7 +27,7 @@ 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.jsieve.delivery.SieveMailStorer;
+import org.apache.james.transport.mailets.jsieve.delivery.SieveMailStore;
 import org.apache.james.transport.mailets.jsieve.delivery.SievePoster;
 import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
 import org.apache.james.user.api.UsersRepository;
@@ -92,7 +92,7 @@ public class SieveToRecipientFolder extends GenericMailet {
             .build();
         String folder = getInitParameter(FOLDER_PARAMETER, "INBOX");
         mailDispatcher = MailDispatcher.builder()
-            .mailStorer(SieveMailStorer.builder()
+            .mailStorer(SieveMailStore.builder()
                 .sievePoster(new SievePoster(new 
MailboxAppender(mailboxManager, getMailetContext().getLogger()), folder, 
usersRepository))
                 .usersRepository(usersRepository)
                 
.resourceLocator(ResourceLocatorImpl.instanciate(usersRepository, 
sieveRepository))

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/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
index e63a843..a59e9e2 100644
--- 
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
@@ -26,7 +26,7 @@ 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.delivery.SimpleMailStore;
 import org.apache.james.transport.mailets.jsieve.CommonsLoggingAdapter;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.mailet.Mail;
@@ -83,7 +83,7 @@ public class ToRecipientFolder extends GenericMailet {
             .verbose(getInitParameter("verbose", false))
             .build();
         mailDispatcher = MailDispatcher.builder()
-            .mailStorer(SimpleMailStorer.builder()
+            .mailStorer(SimpleMailStore.builder()
                 .mailboxAppender(new MailboxAppender(mailboxManager, 
getMailetContext().getLogger()))
                 .usersRepository(usersRepository)
                 .folder(getInitParameter(FOLDER_PARAMETER, "INBOX"))

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
index afc00bc..3bcd662 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
@@ -45,7 +45,7 @@ public class MailDispatcher {
     }
 
     public static class Builder {
-        private MailStorer mailStorer;
+        private MailStore mailStore;
         private boolean consume;
         private MailetContext mailetContext;
         private Log log;
@@ -55,8 +55,8 @@ public class MailDispatcher {
             return this;
         }
 
-        public Builder mailStorer(MailStorer mailStorer) {
-            this.mailStorer = mailStorer;
+        public Builder mailStorer(MailStore mailStore) {
+            this.mailStore = mailStore;
             return this;
         }
 
@@ -71,21 +71,21 @@ public class MailDispatcher {
         }
 
         public MailDispatcher build() throws MessagingException {
-            Preconditions.checkNotNull(mailStorer);
+            Preconditions.checkNotNull(mailStore);
             Preconditions.checkNotNull(log);
             Preconditions.checkNotNull(mailetContext);
-            return new MailDispatcher(mailStorer, consume, log, mailetContext);
+            return new MailDispatcher(mailStore, consume, log, mailetContext);
         }
 
     }
 
-    private final MailStorer mailStorer;
+    private final MailStore mailStore;
     private final boolean consume;
     private final MailetContext mailetContext;
     private final Log log;
 
-    private MailDispatcher(MailStorer mailStorer, boolean consume, Log log, 
MailetContext mailetContext) {
-        this.mailStorer = mailStorer;
+    private MailDispatcher(MailStore mailStore, boolean consume, Log log, 
MailetContext mailetContext) {
+        this.mailStore = mailStore;
         this.consume = consume;
         this.log = log;
         this.mailetContext = mailetContext;
@@ -128,7 +128,7 @@ public class MailDispatcher {
             try {
                 // Add qmail's de facto standard Delivered-To header
                 message.addHeader(DELIVERED_TO, recipient.toString());
-                mailStorer.storeMail(mail.getSender(), recipient, mail);
+                mailStore.storeMail(mail.getSender(), recipient, mail);
                 message.removeHeader(DELIVERED_TO);
             } catch (Exception ex) {
                 log.error("Error while storing mail.", ex);

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailStore.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailStore.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailStore.java
new file mode 100644
index 0000000..069d696
--- /dev/null
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailStore.java
@@ -0,0 +1,29 @@
+/****************************************************************
+ * 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.mail.MessagingException;
+
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+
+public interface MailStore {
+    void storeMail(MailAddress sender, MailAddress recipient, Mail mail) 
throws MessagingException;
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailStorer.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailStorer.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailStorer.java
deleted file mode 100644
index d95ee62..0000000
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailStorer.java
+++ /dev/null
@@ -1,29 +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.mail.MessagingException;
-
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
-
-public interface MailStorer {
-    void storeMail(MailAddress sender, MailAddress recipient, Mail mail) 
throws MessagingException;
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java
new file mode 100644
index 0000000..3324491
--- /dev/null
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.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.delivery;
+
+import javax.mail.MessagingException;
+
+import org.apache.commons.logging.Log;
+import org.apache.james.user.api.UsersRepository;
+import org.apache.james.user.api.UsersRepositoryException;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+
+import com.google.common.base.Preconditions;
+
+public class SimpleMailStore implements MailStore {
+
+    public static Builder builder() {
+        return new Builder();
+    }
+
+    public static class Builder {
+        private UsersRepository usersRepos;
+        private MailboxAppender mailboxAppender;
+        private String folder;
+        private Log log;
+
+        public Builder folder(String folder) {
+            this.folder = folder;
+            return this;
+        }
+
+        public Builder usersRepository(UsersRepository usersRepository) {
+            this.usersRepos = usersRepository;
+            return this;
+        }
+
+        public Builder mailboxAppender(MailboxAppender mailboxAppender) {
+            this.mailboxAppender = mailboxAppender;
+            return this;
+        }
+
+        public Builder log(Log log) {
+            this.log = log;
+            return this;
+        }
+
+        public SimpleMailStore build() throws MessagingException {
+            Preconditions.checkNotNull(usersRepos);
+            Preconditions.checkNotNull(folder);
+            Preconditions.checkNotNull(log);
+            Preconditions.checkNotNull(mailboxAppender);
+            return new SimpleMailStore(mailboxAppender, usersRepos, log, 
folder);
+        }
+    }
+
+    private final MailboxAppender mailboxAppender;
+    private final UsersRepository usersRepository;
+    private final Log log;
+    private final String folder;
+
+    private SimpleMailStore(MailboxAppender mailboxAppender, UsersRepository 
usersRepository, Log log, String folder) {
+        this.mailboxAppender = mailboxAppender;
+        this.usersRepository = usersRepository;
+        this.log = log;
+        this.folder = folder;
+    }
+
+    @Override
+    public void storeMail(MailAddress sender, MailAddress recipient, Mail 
mail) throws MessagingException {
+        String username = computeUsername(recipient);
+
+        mailboxAppender.append(mail.getMessage(), username, folder);
+
+        log.info("Local delivered mail " + mail.getName() + " successfully 
from " + DeliveryUtils.prettyPrint(sender)
+            + " to " + DeliveryUtils.prettyPrint(recipient) + " in folder " + 
this.folder);
+    }
+
+    private String computeUsername(MailAddress recipient) throws 
MessagingException {
+        try {
+            return usersRepository.getUser(recipient);
+        } catch (UsersRepositoryException e) {
+            log.error("Unable to access UsersRepository", e);
+            return recipient.toString();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStorer.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStorer.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStorer.java
deleted file mode 100644
index 902edfd..0000000
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStorer.java
+++ /dev/null
@@ -1,103 +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.mail.MessagingException;
-
-import org.apache.commons.logging.Log;
-import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersRepositoryException;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
-
-import com.google.common.base.Preconditions;
-
-public class SimpleMailStorer implements MailStorer {
-
-    public static Builder builder() {
-        return new Builder();
-    }
-
-    public static class Builder {
-        private UsersRepository usersRepos;
-        private MailboxAppender mailboxAppender;
-        private String folder;
-        private Log log;
-
-        public Builder folder(String folder) {
-            this.folder = folder;
-            return this;
-        }
-
-        public Builder usersRepository(UsersRepository usersRepository) {
-            this.usersRepos = usersRepository;
-            return this;
-        }
-
-        public Builder mailboxAppender(MailboxAppender mailboxAppender) {
-            this.mailboxAppender = mailboxAppender;
-            return this;
-        }
-
-        public Builder log(Log log) {
-            this.log = log;
-            return this;
-        }
-
-        public SimpleMailStorer build() throws MessagingException {
-            Preconditions.checkNotNull(usersRepos);
-            Preconditions.checkNotNull(folder);
-            Preconditions.checkNotNull(log);
-            Preconditions.checkNotNull(mailboxAppender);
-            return new SimpleMailStorer(mailboxAppender, usersRepos, log, 
folder);
-        }
-    }
-
-    private final MailboxAppender mailboxAppender;
-    private final UsersRepository usersRepository;
-    private final Log log;
-    private final String folder;
-
-    private SimpleMailStorer(MailboxAppender mailboxAppender, UsersRepository 
usersRepository, Log log, String folder) {
-        this.mailboxAppender = mailboxAppender;
-        this.usersRepository = usersRepository;
-        this.log = log;
-        this.folder = folder;
-    }
-
-    @Override
-    public void storeMail(MailAddress sender, MailAddress recipient, Mail 
mail) throws MessagingException {
-        String username = computeUsername(recipient);
-
-        mailboxAppender.append(mail.getMessage(), username, folder);
-
-        log.info("Local delivered mail " + mail.getName() + " successfully 
from " + DeliveryUtils.prettyPrint(sender)
-            + " to " + DeliveryUtils.prettyPrint(recipient) + " in folder " + 
this.folder);
-    }
-
-    private String computeUsername(MailAddress recipient) throws 
MessagingException {
-        try {
-            return usersRepository.getUser(recipient);
-        } catch (UsersRepositoryException e) {
-            log.error("Unable to access UsersRepository", e);
-            return recipient.toString();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveMailStore.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveMailStore.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveMailStore.java
new file mode 100644
index 0000000..fcdf8a3
--- /dev/null
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveMailStore.java
@@ -0,0 +1,198 @@
+/****************************************************************
+ * 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.jsieve.delivery;
+
+import java.io.IOException;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.commons.logging.Log;
+import org.apache.james.transport.mailets.delivery.DeliveryUtils;
+import org.apache.james.transport.mailets.delivery.MailStore;
+import org.apache.james.transport.mailets.jsieve.ActionDispatcher;
+import org.apache.james.transport.mailets.jsieve.ResourceLocator;
+import org.apache.james.transport.mailets.jsieve.SieveMailAdapter;
+import org.apache.james.user.api.UsersRepository;
+import org.apache.james.user.api.UsersRepositoryException;
+import org.apache.jsieve.ConfigurationManager;
+import org.apache.jsieve.SieveConfigurationException;
+import org.apache.jsieve.SieveFactory;
+import org.apache.jsieve.exception.SieveException;
+import org.apache.jsieve.parser.generated.ParseException;
+import org.apache.jsieve.parser.generated.TokenMgrError;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.MailetContext;
+
+import com.google.common.base.Preconditions;
+
+public class SieveMailStore implements MailStore {
+
+    public static Builder builder() {
+        return new Builder();
+    }
+
+    public static class Builder {
+        private MailetContext mailetContext;
+        private UsersRepository usersRepos;
+        private SievePoster sievePoster;
+        private String folder;
+        private ResourceLocator resourceLocator;
+        private Log log;
+
+        public Builder folder(String folder) {
+            this.folder = folder;
+            return this;
+        }
+
+        public Builder usersRepository(UsersRepository usersRepository) {
+            this.usersRepos = usersRepository;
+            return this;
+        }
+
+        public Builder sievePoster(SievePoster sievePoster) {
+            this.sievePoster = sievePoster;
+            return this;
+        }
+
+        public Builder mailetContext(MailetContext mailetContext) {
+            this.mailetContext = mailetContext;
+            return this;
+        }
+
+        public Builder resourceLocator(ResourceLocator resourceLocator) {
+            this.resourceLocator = resourceLocator;
+            return this;
+        }
+
+        public Builder log(Log log) {
+            this.log = log;
+            return this;
+        }
+
+        public SieveMailStore build() throws MessagingException {
+            Preconditions.checkNotNull(mailetContext);
+            Preconditions.checkNotNull(usersRepos);
+            Preconditions.checkNotNull(folder);
+            Preconditions.checkNotNull(resourceLocator);
+            Preconditions.checkNotNull(log);
+            Preconditions.checkNotNull(sievePoster);
+            return new SieveMailStore(mailetContext, usersRepos, sievePoster, 
folder, resourceLocator, log);
+        }
+    }
+
+    private final MailetContext mailetContext;
+    private final UsersRepository usersRepos;
+    private final SievePoster sievePoster;
+    private final String folder;
+    private final ResourceLocator resourceLocator;
+    private final SieveFactory factory;
+    private final ActionDispatcher actionDispatcher;
+    private final Log log;
+
+    public SieveMailStore(MailetContext mailetContext, UsersRepository 
usersRepos, SievePoster sievePoster, String folder,
+                          ResourceLocator resourceLocator, Log log) throws 
MessagingException {
+        this.mailetContext = mailetContext;
+        this.usersRepos = usersRepos;
+        this.sievePoster = sievePoster;
+        this.folder = folder;
+        this.resourceLocator = resourceLocator;
+        try {
+            final ConfigurationManager configurationManager = new 
ConfigurationManager();
+            configurationManager.setLog(log);
+            factory = configurationManager.build();
+        } catch (SieveConfigurationException e) {
+            throw new MessagingException("Failed to load standard Sieve 
configuration.", e);
+        }
+        this.actionDispatcher = new ActionDispatcher();
+        this.log = log;
+    }
+
+    public void storeMail(MailAddress sender, MailAddress recipient, Mail 
mail) throws MessagingException {
+        Preconditions.checkNotNull(recipient, "Recipient for mail to be 
spooled cannot be null.");
+        Preconditions.checkNotNull(mail.getMessage(), "Mail message to be 
spooled cannot be null.");
+
+        sieveMessage(recipient, mail, log);
+        // If no exception was thrown the message was successfully stored in 
the mailbox
+        log.info("Local delivered mail " + mail.getName() + " sucessfully from 
" + DeliveryUtils.prettyPrint(sender) + " to " + 
DeliveryUtils.prettyPrint(recipient)
+            + " in folder " + this.folder);
+    }
+
+    protected void sieveMessage(MailAddress recipient, Mail aMail, Log log) 
throws MessagingException {
+        try {
+            ResourceLocator.UserSieveInformation userSieveInformation = 
resourceLocator.get(getScriptUri(recipient));
+            sieveMessageEvaluate(recipient, aMail, userSieveInformation, log);
+        } catch (Exception ex) {
+            // SIEVE is a mail filtering protocol.
+            // Rejecting the mail because it cannot be filtered
+            // seems very unfriendly.
+            // So just log and store in INBOX
+            log.error("Cannot evaluate Sieve script. Storing mail in user 
INBOX.", ex);
+            storeMessageInbox(recipient, aMail.getMessage());
+        }
+    }
+
+    private void sieveMessageEvaluate(MailAddress recipient, Mail aMail, 
ResourceLocator.UserSieveInformation userSieveInformation, Log log) throws 
MessagingException, IOException {
+        try {
+            SieveMailAdapter aMailAdapter = new SieveMailAdapter(aMail,
+                mailetContext, actionDispatcher, sievePoster, 
userSieveInformation.getScriptActivationDate(),
+                userSieveInformation.getScriptInterpretationDate(), recipient);
+            aMailAdapter.setLog(log);
+            // This logging operation is potentially costly
+            log.debug("Evaluating " + aMailAdapter.toString() + "against \"" + 
getScriptUri(recipient) + "\"");
+            factory.evaluate(aMailAdapter, 
factory.parse(userSieveInformation.getScriptContent()));
+        } catch (SieveException ex) {
+            handleFailure(recipient, aMail, ex);
+        }
+        catch (ParseException ex) {
+            handleFailure(recipient, aMail, ex);
+        }
+        catch (TokenMgrError ex) {
+            handleFailure(recipient, aMail, new SieveException(ex));
+        }
+    }
+
+    protected String getScriptUri(MailAddress m) {
+        return "//" + retrieveUserNameUsedForScriptStorage(m) + "/sieve";
+    }
+
+    protected void handleFailure(MailAddress recipient, Mail aMail, Exception 
ex) throws MessagingException, IOException {
+        storeMessageInbox(recipient, 
SieveFailureMessageComposer.composeMessage(aMail, ex, recipient.toString()));
+    }
+
+    protected void storeMessageInbox(MailAddress mailAddress, MimeMessage 
message) throws MessagingException {
+        sievePoster.post("mailbox://" + 
retrieveUserNameUsedForScriptStorage(mailAddress) + "/", message);
+    }
+
+    public String retrieveUserNameUsedForScriptStorage(MailAddress 
mailAddress) {
+        try {
+            if (usersRepos.supportVirtualHosting()) {
+                return mailAddress.print();
+            } else {
+                return mailAddress.getLocalPart() + "@localhost";
+            }
+        } catch (UsersRepositoryException e) {
+            log.error("Unable to access UsersRepository", e);
+            return mailAddress.getLocalPart() + "@localhost";
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveMailStorer.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveMailStorer.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveMailStorer.java
deleted file mode 100644
index 1ec3489..0000000
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveMailStorer.java
+++ /dev/null
@@ -1,198 +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.jsieve.delivery;
-
-import java.io.IOException;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-
-import org.apache.commons.logging.Log;
-import org.apache.james.transport.mailets.delivery.DeliveryUtils;
-import org.apache.james.transport.mailets.delivery.MailStorer;
-import org.apache.james.transport.mailets.jsieve.ActionDispatcher;
-import org.apache.james.transport.mailets.jsieve.ResourceLocator;
-import org.apache.james.transport.mailets.jsieve.SieveMailAdapter;
-import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersRepositoryException;
-import org.apache.jsieve.ConfigurationManager;
-import org.apache.jsieve.SieveConfigurationException;
-import org.apache.jsieve.SieveFactory;
-import org.apache.jsieve.exception.SieveException;
-import org.apache.jsieve.parser.generated.ParseException;
-import org.apache.jsieve.parser.generated.TokenMgrError;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
-import org.apache.mailet.MailetContext;
-
-import com.google.common.base.Preconditions;
-
-public class SieveMailStorer implements MailStorer {
-
-    public static Builder builder() {
-        return new Builder();
-    }
-
-    public static class Builder {
-        private MailetContext mailetContext;
-        private UsersRepository usersRepos;
-        private SievePoster sievePoster;
-        private String folder;
-        private ResourceLocator resourceLocator;
-        private Log log;
-
-        public Builder folder(String folder) {
-            this.folder = folder;
-            return this;
-        }
-
-        public Builder usersRepository(UsersRepository usersRepository) {
-            this.usersRepos = usersRepository;
-            return this;
-        }
-
-        public Builder sievePoster(SievePoster sievePoster) {
-            this.sievePoster = sievePoster;
-            return this;
-        }
-
-        public Builder mailetContext(MailetContext mailetContext) {
-            this.mailetContext = mailetContext;
-            return this;
-        }
-
-        public Builder resourceLocator(ResourceLocator resourceLocator) {
-            this.resourceLocator = resourceLocator;
-            return this;
-        }
-
-        public Builder log(Log log) {
-            this.log = log;
-            return this;
-        }
-
-        public SieveMailStorer build() throws MessagingException {
-            Preconditions.checkNotNull(mailetContext);
-            Preconditions.checkNotNull(usersRepos);
-            Preconditions.checkNotNull(folder);
-            Preconditions.checkNotNull(resourceLocator);
-            Preconditions.checkNotNull(log);
-            Preconditions.checkNotNull(sievePoster);
-            return new SieveMailStorer(mailetContext, usersRepos, sievePoster, 
folder, resourceLocator, log);
-        }
-    }
-
-    private final MailetContext mailetContext;
-    private final UsersRepository usersRepos;
-    private final SievePoster sievePoster;
-    private final String folder;
-    private final ResourceLocator resourceLocator;
-    private final SieveFactory factory;
-    private final ActionDispatcher actionDispatcher;
-    private final Log log;
-
-    public SieveMailStorer(MailetContext mailetContext, UsersRepository 
usersRepos, SievePoster sievePoster, String folder,
-                           ResourceLocator resourceLocator, Log log) throws 
MessagingException {
-        this.mailetContext = mailetContext;
-        this.usersRepos = usersRepos;
-        this.sievePoster = sievePoster;
-        this.folder = folder;
-        this.resourceLocator = resourceLocator;
-        try {
-            final ConfigurationManager configurationManager = new 
ConfigurationManager();
-            configurationManager.setLog(log);
-            factory = configurationManager.build();
-        } catch (SieveConfigurationException e) {
-            throw new MessagingException("Failed to load standard Sieve 
configuration.", e);
-        }
-        this.actionDispatcher = new ActionDispatcher();
-        this.log = log;
-    }
-
-    public void storeMail(MailAddress sender, MailAddress recipient, Mail 
mail) throws MessagingException {
-        Preconditions.checkNotNull(recipient, "Recipient for mail to be 
spooled cannot be null.");
-        Preconditions.checkNotNull(mail.getMessage(), "Mail message to be 
spooled cannot be null.");
-
-        sieveMessage(recipient, mail, log);
-        // If no exception was thrown the message was successfully stored in 
the mailbox
-        log.info("Local delivered mail " + mail.getName() + " sucessfully from 
" + DeliveryUtils.prettyPrint(sender) + " to " + 
DeliveryUtils.prettyPrint(recipient)
-            + " in folder " + this.folder);
-    }
-
-    protected void sieveMessage(MailAddress recipient, Mail aMail, Log log) 
throws MessagingException {
-        try {
-            ResourceLocator.UserSieveInformation userSieveInformation = 
resourceLocator.get(getScriptUri(recipient));
-            sieveMessageEvaluate(recipient, aMail, userSieveInformation, log);
-        } catch (Exception ex) {
-            // SIEVE is a mail filtering protocol.
-            // Rejecting the mail because it cannot be filtered
-            // seems very unfriendly.
-            // So just log and store in INBOX
-            log.error("Cannot evaluate Sieve script. Storing mail in user 
INBOX.", ex);
-            storeMessageInbox(recipient, aMail.getMessage());
-        }
-    }
-
-    private void sieveMessageEvaluate(MailAddress recipient, Mail aMail, 
ResourceLocator.UserSieveInformation userSieveInformation, Log log) throws 
MessagingException, IOException {
-        try {
-            SieveMailAdapter aMailAdapter = new SieveMailAdapter(aMail,
-                mailetContext, actionDispatcher, sievePoster, 
userSieveInformation.getScriptActivationDate(),
-                userSieveInformation.getScriptInterpretationDate(), recipient);
-            aMailAdapter.setLog(log);
-            // This logging operation is potentially costly
-            log.debug("Evaluating " + aMailAdapter.toString() + "against \"" + 
getScriptUri(recipient) + "\"");
-            factory.evaluate(aMailAdapter, 
factory.parse(userSieveInformation.getScriptContent()));
-        } catch (SieveException ex) {
-            handleFailure(recipient, aMail, ex);
-        }
-        catch (ParseException ex) {
-            handleFailure(recipient, aMail, ex);
-        }
-        catch (TokenMgrError ex) {
-            handleFailure(recipient, aMail, new SieveException(ex));
-        }
-    }
-
-    protected String getScriptUri(MailAddress m) {
-        return "//" + retrieveUserNameUsedForScriptStorage(m) + "/sieve";
-    }
-
-    protected void handleFailure(MailAddress recipient, Mail aMail, Exception 
ex) throws MessagingException, IOException {
-        storeMessageInbox(recipient, 
SieveFailureMessageComposer.composeMessage(aMail, ex, recipient.toString()));
-    }
-
-    protected void storeMessageInbox(MailAddress mailAddress, MimeMessage 
message) throws MessagingException {
-        sievePoster.post("mailbox://" + 
retrieveUserNameUsedForScriptStorage(mailAddress) + "/", message);
-    }
-
-    public String retrieveUserNameUsedForScriptStorage(MailAddress 
mailAddress) {
-        try {
-            if (usersRepos.supportVirtualHosting()) {
-                return mailAddress.print();
-            } else {
-                return mailAddress.getLocalPart() + "@localhost";
-            }
-        } catch (UsersRepositoryException e) {
-            log.error("Unable to access UsersRepository", e);
-            return mailAddress.getLocalPart() + "@localhost";
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
index db77940..3c8de2b 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailDispatcherTest.java
@@ -56,12 +56,12 @@ import com.google.common.collect.ImmutableList;
 
 public class MailDispatcherTest {
     private FakeMailContext fakeMailContext;
-    private MailStorer mailStorer;
+    private MailStore mailStore;
 
     @Before
     public void setUp() throws Exception {
         fakeMailContext = FakeMailContext.defaultContext();
-        mailStorer = mock(MailStorer.class);
+        mailStore = mock(MailStore.class);
     }
 
     @Test
@@ -69,7 +69,7 @@ public class MailDispatcherTest {
         MailDispatcher testee = MailDispatcher.builder()
             .log(mock(Log.class))
             .mailetContext(fakeMailContext)
-            .mailStorer(mailStorer)
+            .mailStorer(mailStore)
             .consume(true)
             .build();
 
@@ -81,9 +81,9 @@ public class MailDispatcherTest {
             .build();
         testee.dispatch(mail);
 
-        verify(mailStorer).storeMail(MailAddressFixture.OTHER_AT_JAMES, 
MailAddressFixture.ANY_AT_JAMES, mail);
-        verify(mailStorer).storeMail(MailAddressFixture.OTHER_AT_JAMES, 
MailAddressFixture.ANY_AT_JAMES2, mail);
-        verifyNoMoreInteractions(mailStorer);
+        verify(mailStore).storeMail(MailAddressFixture.OTHER_AT_JAMES, 
MailAddressFixture.ANY_AT_JAMES, mail);
+        verify(mailStore).storeMail(MailAddressFixture.OTHER_AT_JAMES, 
MailAddressFixture.ANY_AT_JAMES2, mail);
+        verifyNoMoreInteractions(mailStore);
     }
 
     @Test
@@ -91,7 +91,7 @@ public class MailDispatcherTest {
         MailDispatcher testee = MailDispatcher.builder()
             .log(mock(Log.class))
             .mailetContext(fakeMailContext)
-            .mailStorer(mailStorer)
+            .mailStorer(mailStore)
             .consume(true)
             .build();
 
@@ -110,7 +110,7 @@ public class MailDispatcherTest {
         MailDispatcher testee = MailDispatcher.builder()
             .log(mock(Log.class))
             .mailetContext(fakeMailContext)
-            .mailStorer(mailStorer)
+            .mailStorer(mailStore)
             .consume(false)
             .build();
 
@@ -130,11 +130,11 @@ public class MailDispatcherTest {
         MailDispatcher testee = MailDispatcher.builder()
             .log(mock(Log.class))
             .mailetContext(fakeMailContext)
-            .mailStorer(mailStorer)
+            .mailStorer(mailStore)
             .consume(true)
             .build();
         doThrow(new MessagingException())
-            .when(mailStorer)
+            .when(mailStore)
             .storeMail(any(MailAddress.class), any(MailAddress.class), 
any(Mail.class));
 
         MimeMessage mimeMessage = new 
MimeMessage(Session.getDefaultInstance(new Properties()));
@@ -173,7 +173,7 @@ public class MailDispatcherTest {
         MailDispatcher testee = MailDispatcher.builder()
             .log(mock(Log.class))
             .mailetContext(fakeMailContext)
-            .mailStorer(mailStorer)
+            .mailStorer(mailStore)
             .consume(false)
             .build();
 
@@ -186,7 +186,7 @@ public class MailDispatcherTest {
         testee.dispatch(mail);
 
         ArgumentCaptor<Mail> mailCaptor = ArgumentCaptor.forClass(Mail.class);
-        verify(mailStorer).storeMail(any(MailAddress.class), 
any(MailAddress.class), mailCaptor.capture());
+        verify(mailStore).storeMail(any(MailAddress.class), 
any(MailAddress.class), mailCaptor.capture());
 
         
assertThat(mailCaptor.getValue().getMessage().getHeader(RFC2822Headers.RETURN_PATH))
             .containsExactly("<" + MailAddressFixture.OTHER_AT_JAMES +">");
@@ -197,7 +197,7 @@ public class MailDispatcherTest {
         MailDispatcher testee = MailDispatcher.builder()
             .log(mock(Log.class))
             .mailetContext(fakeMailContext)
-            .mailStorer(mailStorer)
+            .mailStorer(mailStore)
             .consume(false)
             .build();
 
@@ -219,7 +219,7 @@ public class MailDispatcherTest {
 
     @Test
     public void dispatchShouldCustomizeDeliveredToHeader() throws Exception {
-        AccumulatorDeliveredToHeaderMailStorer accumulator = new 
AccumulatorDeliveredToHeaderMailStorer();
+        AccumulatorDeliveredToHeaderMailStore accumulator = new 
AccumulatorDeliveredToHeaderMailStore();
         MailDispatcher testee = MailDispatcher.builder()
             .log(mock(Log.class))
             .mailetContext(fakeMailContext)
@@ -240,10 +240,10 @@ public class MailDispatcherTest {
                 new String[]{MailAddressFixture.ANY_AT_JAMES2.toString()});
     }
 
-    public static class AccumulatorDeliveredToHeaderMailStorer implements 
MailStorer {
+    public static class AccumulatorDeliveredToHeaderMailStore implements 
MailStore {
         public final List<String[]> deliveredToHeaderValues;
 
-        public AccumulatorDeliveredToHeaderMailStorer() {
+        public AccumulatorDeliveredToHeaderMailStore() {
             this.deliveredToHeaderValues = new ArrayList<String[]>();
         }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
index 3aaaf68..9582add 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
@@ -51,7 +51,7 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
 import org.apache.james.transport.mailets.jsieve.ResourceLocator;
-import org.apache.james.transport.mailets.jsieve.delivery.SieveMailStorer;
+import org.apache.james.transport.mailets.jsieve.delivery.SieveMailStore;
 import org.apache.james.transport.mailets.jsieve.delivery.SievePoster;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.mailet.Mail;
@@ -90,7 +90,7 @@ public class SieveIntegrationTest {
     public static final MailboxPath SELECTED_MAILBOX = new 
MailboxPath("#private", "receiver", "INBOX.select");
     public static final MailboxPath INBOX = new MailboxPath("#private", 
"receiver", "INBOX");
 
-    private MailStorer testee;
+    private MailStore testee;
     private UsersRepository usersRepository;
     private MailboxManager mailboxManager;
     private ResourceLocator resourceLocator;
@@ -105,7 +105,7 @@ public class SieveIntegrationTest {
         fakeMailContext = FakeMailContext.defaultContext();
         sender = new MailAddress("sender@any");
 
-        testee = SieveMailStorer.builder()
+        testee = SieveMailStore.builder()
             .resourceLocator(resourceLocator)
             .usersRepository(usersRepository)
             .folder("INBOX")

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
new file mode 100644
index 0000000..3566362
--- /dev/null
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStoreTest.java
@@ -0,0 +1,118 @@
+/****************************************************************
+ * 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 static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Properties;
+
+import javax.activation.DataHandler;
+import javax.mail.Multipart;
+import javax.mail.Session;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.util.ByteArrayDataSource;
+
+import org.apache.commons.logging.Log;
+import org.apache.james.user.api.UsersRepository;
+import org.apache.james.user.api.UsersRepositoryException;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.MailAddressFixture;
+import org.apache.mailet.base.test.FakeMail;
+import org.junit.Before;
+import org.junit.Test;
+
+public class SimpleMailStoreTest {
+
+    public static final String FOLDER = "FOLDER";
+    private SimpleMailStore testee;
+    private MailboxAppender mailboxAppender;
+    private UsersRepository usersRepository;
+    private MimeMessage mimeMessage;
+
+    @Before
+    public void setUp() throws Exception {
+        mailboxAppender = mock(MailboxAppender.class);
+        usersRepository = mock(UsersRepository.class);
+        testee = SimpleMailStore.builder()
+            .usersRepository(usersRepository)
+            .mailboxAppender(mailboxAppender)
+            .folder(FOLDER)
+            .log(mock(Log.class))
+            .build();
+
+        mimeMessage = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
+        Multipart multipart = new MimeMultipart();
+        MimeBodyPart bodyPart = new MimeBodyPart();
+        bodyPart.setDataHandler(
+            new DataHandler(
+                new ByteArrayDataSource(
+                    "toto",
+                    "text/plain; charset=UTF-8")
+            ));
+        multipart.addBodyPart(bodyPart);
+        mimeMessage.setContent(multipart);
+        mimeMessage.saveChanges();
+    }
+
+    @Test
+    public void storeMailShouldUseFullMailAddressWhenSupportsVirtualHosting() 
throws Exception {
+        MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
+        MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
+        when(usersRepository.getUser(recipient)).thenReturn(recipient.print());
+        FakeMail mail = FakeMail.builder()
+            .mimeMessage(mimeMessage)
+            .build();
+        testee.storeMail(sender, recipient, mail);
+
+        verify(mailboxAppender).append(any(MimeMessage.class), 
eq(recipient.print()), eq(FOLDER));
+    }
+
+    @Test
+    public void storeMailShouldUseLocalPartWhenSupportsVirtualHosting() throws 
Exception {
+        MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
+        MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
+        
when(usersRepository.getUser(recipient)).thenReturn(recipient.getLocalPart());
+        FakeMail mail = FakeMail.builder()
+            .mimeMessage(mimeMessage)
+            .build();
+        testee.storeMail(sender, recipient, mail);
+
+        verify(mailboxAppender).append(any(MimeMessage.class), 
eq(recipient.getLocalPart()), eq(FOLDER));
+    }
+
+    @Test
+    public void 
storeMailShouldUseFullMailAddressWhenErrorReadingUsersRepository() throws 
Exception {
+        MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
+        MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
+        when(usersRepository.getUser(recipient)).thenThrow(new 
UsersRepositoryException("Any message"));
+        FakeMail mail = FakeMail.builder()
+            .mimeMessage(mimeMessage)
+            .build();
+        testee.storeMail(sender, recipient, mail);
+
+        verify(mailboxAppender).append(any(MimeMessage.class), 
eq(recipient.toString()), eq(FOLDER));
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/42800ae5/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStorerTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStorerTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStorerTest.java
deleted file mode 100644
index 42e831a..0000000
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SimpleMailStorerTest.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 static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.util.Properties;
-
-import javax.activation.DataHandler;
-import javax.mail.Multipart;
-import javax.mail.Session;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.util.ByteArrayDataSource;
-
-import org.apache.commons.logging.Log;
-import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersRepositoryException;
-import org.apache.mailet.MailAddress;
-import org.apache.mailet.base.MailAddressFixture;
-import org.apache.mailet.base.test.FakeMail;
-import org.junit.Before;
-import org.junit.Test;
-
-public class SimpleMailStorerTest {
-
-    public static final String FOLDER = "FOLDER";
-    private SimpleMailStorer testee;
-    private MailboxAppender mailboxAppender;
-    private UsersRepository usersRepository;
-    private MimeMessage mimeMessage;
-
-    @Before
-    public void setUp() throws Exception {
-        mailboxAppender = mock(MailboxAppender.class);
-        usersRepository = mock(UsersRepository.class);
-        testee = SimpleMailStorer.builder()
-            .usersRepository(usersRepository)
-            .mailboxAppender(mailboxAppender)
-            .folder(FOLDER)
-            .log(mock(Log.class))
-            .build();
-
-        mimeMessage = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
-        Multipart multipart = new MimeMultipart();
-        MimeBodyPart bodyPart = new MimeBodyPart();
-        bodyPart.setDataHandler(
-            new DataHandler(
-                new ByteArrayDataSource(
-                    "toto",
-                    "text/plain; charset=UTF-8")
-            ));
-        multipart.addBodyPart(bodyPart);
-        mimeMessage.setContent(multipart);
-        mimeMessage.saveChanges();
-    }
-
-    @Test
-    public void storeMailShouldUseFullMailAddressWhenSupportsVirtualHosting() 
throws Exception {
-        MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
-        MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
-        when(usersRepository.getUser(recipient)).thenReturn(recipient.print());
-        FakeMail mail = FakeMail.builder()
-            .mimeMessage(mimeMessage)
-            .build();
-        testee.storeMail(sender, recipient, mail);
-
-        verify(mailboxAppender).append(any(MimeMessage.class), 
eq(recipient.print()), eq(FOLDER));
-    }
-
-    @Test
-    public void storeMailShouldUseLocalPartWhenSupportsVirtualHosting() throws 
Exception {
-        MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
-        MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
-        
when(usersRepository.getUser(recipient)).thenReturn(recipient.getLocalPart());
-        FakeMail mail = FakeMail.builder()
-            .mimeMessage(mimeMessage)
-            .build();
-        testee.storeMail(sender, recipient, mail);
-
-        verify(mailboxAppender).append(any(MimeMessage.class), 
eq(recipient.getLocalPart()), eq(FOLDER));
-    }
-
-    @Test
-    public void 
storeMailShouldUseFullMailAddressWhenErrorReadingUsersRepository() throws 
Exception {
-        MailAddress sender = MailAddressFixture.ANY_AT_JAMES;
-        MailAddress recipient = MailAddressFixture.OTHER_AT_JAMES;
-        when(usersRepository.getUser(recipient)).thenThrow(new 
UsersRepositoryException("Any message"));
-        FakeMail mail = FakeMail.builder()
-            .mimeMessage(mimeMessage)
-            .build();
-        testee.storeMail(sender, recipient, mail);
-
-        verify(mailboxAppender).append(any(MimeMessage.class), 
eq(recipient.toString()), eq(FOLDER));
-    }
-}


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

Reply via email to