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

[01/10] james-project git commit: JAMES-2289 fix checkstyle problems

Repository: james-project
Updated Branches:
  refs/heads/master 6c72ae84a -> 558f86e7c


JAMES-2289 fix checkstyle problems


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

Branch: refs/heads/master
Commit: e67e485ce36124b90a762727744b3b748ce9f3ad
Parents: 74bcafe
Author: Matthieu Baechler <ma...@apache.org>
Authored: Mon Jan 22 09:59:31 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 10:01:06 2018 +0100

----------------------------------------------------------------------
 .../org/apache/james/mailrepository/MailRepositoryContract.java    | 2 --
 .../james/jmap/methods/integration/SetMessagesMethodTest.java      | 1 -
 .../java/org/apache/james/queue/api/DelayedMailQueueContract.java  | 2 +-
 .../test/java/org/apache/james/queue/api/MailQueueContract.java    | 1 -
 .../test/java/org/apache/james/utils/DiscreteDistributionTest.java | 2 +-
 5 files changed, 2 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/e67e485c/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java b/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
index f89eb14..3dae16a 100644
--- a/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
+++ b/server/mailrepository/mailrepository-api/src/test/java/org/apache/james/mailrepository/MailRepositoryContract.java
@@ -24,12 +24,10 @@ import static org.junit.jupiter.api.Assertions.assertAll;
 
 import java.nio.charset.StandardCharsets;
 import java.util.Date;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Random;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
 import javax.mail.MessagingException;

http://git-wip-us.apache.org/repos/asf/james-project/blob/e67e485c/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
index 979973f..cb9a414 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
@@ -56,7 +56,6 @@ import javax.mail.internet.MimeMessage;
 import org.apache.commons.io.IOUtils;
 import org.apache.http.client.utils.URIBuilder;
 import org.apache.james.GuiceJamesServer;
-import org.apache.james.core.builder.MimeMessageBuilder;
 import org.apache.james.jmap.DefaultMailboxes;
 import org.apache.james.jmap.HttpJmapAuthentication;
 import org.apache.james.jmap.api.access.AccessToken;

http://git-wip-us.apache.org/repos/asf/james-project/blob/e67e485c/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java
index 9c8b07a..f68f5b0 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/DelayedMailQueueContract.java
@@ -67,7 +67,7 @@ public interface DelayedMailQueueContract {
     default void enqueueWithReasonablyLongDelayShouldDelayMail(ExecutorService executorService) throws Exception {
         getMailQueue().enQueue(defaultMail()
             .build(),
-            365*1000,
+            365 * 1000,
             TimeUnit.DAYS);
 
         Future<?> future = executorService.submit(Throwing.runnable(() -> getMailQueue().deQueue()));

http://git-wip-us.apache.org/repos/asf/james-project/blob/e67e485c/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java
index 2d79197..8168406 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueContract.java
@@ -36,7 +36,6 @@ import java.util.concurrent.TimeoutException;
 
 import javax.mail.internet.MimeMessage;
 
-
 import org.apache.james.core.builder.MimeMessageBuilder;
 import org.apache.james.junit.ExecutorExtension;
 import org.apache.mailet.Mail;

http://git-wip-us.apache.org/repos/asf/james-project/blob/e67e485c/server/testing/src/test/java/org/apache/james/utils/DiscreteDistributionTest.java
----------------------------------------------------------------------
diff --git a/server/testing/src/test/java/org/apache/james/utils/DiscreteDistributionTest.java b/server/testing/src/test/java/org/apache/james/utils/DiscreteDistributionTest.java
index ecc63b4..fdba0eb 100644
--- a/server/testing/src/test/java/org/apache/james/utils/DiscreteDistributionTest.java
+++ b/server/testing/src/test/java/org/apache/james/utils/DiscreteDistributionTest.java
@@ -77,7 +77,7 @@ class DiscreteDistributionTest {
 
     @Test
     void streamOfEvenDistributionMapShouldReturnSameNumberOfEachElement() {
-        DiscreteDistribution<String> testee =DiscreteDistribution.create(
+        DiscreteDistribution<String> testee = DiscreteDistribution.create(
             ImmutableList.of(
                 new DistributionEntry<>("a", 10),
                 new DistributionEntry<>("b", 10)));


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


[02/10] james-project git commit: JAMES-2289 Used in english means 'not new'

Posted by ro...@apache.org.
JAMES-2289 Used in english means 'not new'


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

Branch: refs/heads/master
Commit: 74bcafe2b53860b7c5ea14626744a555f6f1de98
Parents: 69c1247
Author: Matthieu Baechler <ma...@apache.org>
Authored: Mon Jan 22 09:56:02 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 10:01:06 2018 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/james/queue/api/MailQueueFactory.java | 2 +-
 .../org/apache/james/queue/api/MailQueueFactoryContract.java   | 6 +++---
 .../java/org/apache/james/queue/file/FileMailQueueFactory.java | 2 +-
 .../apache/james/queue/library/AbstractMailQueueFactory.java   | 2 +-
 .../org/apache/james/queue/memory/MemoryMailQueueFactory.java  | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/74bcafe2/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
index 401771b..a8253a4 100644
--- a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
+++ b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
@@ -39,5 +39,5 @@ public interface MailQueueFactory {
      */
     MailQueue getQueue(String name);
 
-    Set<MailQueue> getUsedMailQueues();
+    Set<MailQueue> listCreatedMailQueues();
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/74bcafe2/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
index 7783a68..4196e44 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
@@ -32,7 +32,7 @@ public interface MailQueueFactoryContract {
 
     @Test
     default void getUsedMailQueuesShouldReturnWhenNoMailQueue() {
-        assertThat(getMailQueueFactory().getUsedMailQueues())
+        assertThat(getMailQueueFactory().listCreatedMailQueues())
             .isEmpty();
     }
 
@@ -43,7 +43,7 @@ public interface MailQueueFactoryContract {
         mailQueueFactory.getQueue(NAME_1);
         mailQueueFactory.getQueue(NAME_2);
 
-        assertThat(mailQueueFactory.getUsedMailQueues())
+        assertThat(mailQueueFactory.listCreatedMailQueues())
             .extracting(MailQueue::getName)
             .containsOnly(NAME_1, NAME_2);
     }
@@ -55,7 +55,7 @@ public interface MailQueueFactoryContract {
         mailQueueFactory.getQueue(NAME_1);
         mailQueueFactory.getQueue(NAME_1);
 
-        assertThat(mailQueueFactory.getUsedMailQueues())
+        assertThat(mailQueueFactory.listCreatedMailQueues())
             .extracting(MailQueue::getName)
             .containsOnly(NAME_1);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/74bcafe2/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
index 78e38ea..5c67acd 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
@@ -49,7 +49,7 @@ public class FileMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public Set<MailQueue> getUsedMailQueues() {
+    public Set<MailQueue> listCreatedMailQueues() {
         return ImmutableSet.copyOf(queues.values());
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/74bcafe2/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
index a172fd6..9370848 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
@@ -70,7 +70,7 @@ public abstract class AbstractMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public Set<MailQueue> getUsedMailQueues() {
+    public Set<MailQueue> listCreatedMailQueues() {
         return ImmutableSet.copyOf(queues.values());
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/74bcafe2/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
index 7b9a335..716d472 100644
--- a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
+++ b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
@@ -58,7 +58,7 @@ public class MemoryMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public Set<MailQueue> getUsedMailQueues() {
+    public Set<MailQueue> listCreatedMailQueues() {
         return ImmutableSet.copyOf(mailQueues.values());
     }
 


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


[07/10] james-project git commit: JAMES-2292 add a proper createQueue method to MailQueueFactory

Posted by ro...@apache.org.
JAMES-2292 add a proper createQueue method to MailQueueFactory


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

Branch: refs/heads/master
Commit: 7574fdf83e6bb432668b2b4d715084e845bdc2d0
Parents: e144652
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Jan 23 13:51:21 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 14:03:20 2018 +0100

----------------------------------------------------------------------
 .../mailetcontainer/impl/JamesMailSpooler.java  |  2 +-
 .../impl/JamesMailetContext.java                |  2 +-
 .../impl/JamesMailetContextTest.java            |  2 +-
 .../james/transport/mailets/RemoteDelivery.java |  2 +-
 .../delivery/RemoteDeliveryRunningTest.java     |  2 +-
 .../remote/delivery/RemoteDeliveryTest.java     |  2 +-
 .../apache/james/fetchmail/FetchScheduler.java  |  2 +-
 .../org/apache/james/jmap/send/MailSpool.java   |  2 +-
 .../apache/james/jmap/send/MailSpoolTest.java   |  2 +-
 .../james/smtpserver/SendMailHandler.java       |  2 +-
 .../apache/james/smtpserver/SMTPServerTest.java |  2 +-
 .../activemq/ActiveMQMailQueueFactory.java      |  2 +-
 .../activemq/ActiveMQMailQueueFactoryTest.java  |  3 +-
 .../james/queue/api/MailQueueFactory.java       |  5 +-
 .../queue/api/MailQueueFactoryContract.java     | 48 +++++++++++++++++---
 .../api/ManageableMailQueueFactoryContract.java | 45 ++++++++++++++++++
 .../james/queue/file/FileMailQueueFactory.java  | 29 +++++++-----
 .../queue/file/FileMailQueueFactoryTest.java    |  4 +-
 .../james/queue/jms/JMSMailQueueFactory.java    |  2 +-
 .../queue/library/AbstractMailQueueFactory.java | 25 +++++-----
 .../queue/jms/JMSMailQueueFactoryTest.java      |  3 +-
 .../library/AbstractMailQueueFactoryTest.java   | 16 +++----
 .../queue/memory/MemoryMailQueueFactory.java    | 10 ++--
 .../memory/MemoryMailQueueFactoryTest.java      | 33 +++-----------
 24 files changed, 163 insertions(+), 84 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
index 6f8cb6f..26bf267 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
@@ -122,7 +122,7 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Mai
     public void init() {
         LOGGER.info("{} init...", getClass().getName());
 
-        queue = queueFactory.getQueue(MailQueueFactory.SPOOL);
+        queue = queueFactory.createQueue(MailQueueFactory.SPOOL);
 
         LOGGER.info("{} uses {} Thread(s)", getClass().getName(), numThreads);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
index 80d9172..8081cac 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
@@ -83,7 +83,7 @@ public class JamesMailetContext implements MailetContext, Configurable {
 
     @Inject
     public void retrieveRootMailQueue(MailQueueFactory mailQueueFactory) {
-        this.rootMailQueue = mailQueueFactory.getQueue(MailQueueFactory.SPOOL);
+        this.rootMailQueue = mailQueueFactory.createQueue(MailQueueFactory.SPOOL);
     }
 
     @Inject

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
index a8c4391..56b3ef6 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
@@ -80,7 +80,7 @@ public class JamesMailetContextTest {
         testee = new JamesMailetContext();
         MailQueueFactory mailQueueFactory = mock(MailQueueFactory.class);
         spoolMailQueue = mock(MailQueue.class);
-        when(mailQueueFactory.getQueue(MailQueueFactory.SPOOL)).thenReturn(spoolMailQueue);
+        when(mailQueueFactory.createQueue(MailQueueFactory.SPOOL)).thenReturn(spoolMailQueue);
         testee.retrieveRootMailQueue(mailQueueFactory);
         testee.setDomainList(domainList);
         testee.setUsersRepository(usersRepository);

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
index e75b510..602f749 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
@@ -156,7 +156,7 @@ public class RemoteDelivery extends GenericMailet {
 
     public void init() throws MessagingException {
         configuration = new RemoteDeliveryConfiguration(getMailetConfig(), domainList);
-        queue = queueFactory.getQueue(configuration.getOutGoingQueueName());
+        queue = queueFactory.createQueue(configuration.getOutGoingQueueName());
         try {
             if (configuration.isBindUsed()) {
                 RemoteDeliverySocketFactory.setBindAdress(configuration.getBindAddress());

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java
index 11d5f79..fa04dc2 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java
@@ -52,7 +52,7 @@ public class RemoteDeliveryRunningTest {
             mock(MetricFactory.class), RemoteDelivery.ThreadState.START_THREADS);
 
         mailQueue = mock(MailQueue.class);
-        when(mailQueueFactory.getQueue(QUEUE_NAME)).thenReturn(mailQueue);
+        when(mailQueueFactory.createQueue(QUEUE_NAME)).thenReturn(mailQueue);
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
index 4fad57d..fd68601 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
@@ -96,7 +96,7 @@ public class RemoteDeliveryTest {
     public void setUp() {
         MailQueueFactory queueFactory = mock(MailQueueFactory.class);
         mailQueue = new FakeMailQueue("any");
-        when(queueFactory.getQueue(RemoteDeliveryConfiguration.OUTGOING)).thenReturn(mailQueue);
+        when(queueFactory.createQueue(RemoteDeliveryConfiguration.OUTGOING)).thenReturn(mailQueue);
         remoteDelivery = new RemoteDelivery(mock(DNSService.class), mock(DomainList.class), queueFactory, mock(MetricFactory.class), RemoteDelivery.ThreadState.DO_NOT_START_THREADS);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
----------------------------------------------------------------------
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
index be69206..44f579e 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
@@ -107,7 +107,7 @@ public class FetchScheduler implements FetchSchedulerMBean, Configurable {
       The scheduler service that is used to trigger fetch tasks.
      */
             ScheduledExecutorService scheduler = new JMXEnabledScheduledThreadPoolExecutor(numThreads, jmxPath, "scheduler");
-            MailQueue queue = queueFactory.getQueue(MailQueueFactory.SPOOL);
+            MailQueue queue = queueFactory.createQueue(MailQueueFactory.SPOOL);
 
             List<HierarchicalConfiguration> fetchConfs = conf.configurationsAt("fetch");
             for (HierarchicalConfiguration fetchConf : fetchConfs) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java
index a5b686d..312abab 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java
@@ -34,7 +34,7 @@ public class MailSpool {
 
     @Inject
     @VisibleForTesting MailSpool(MailQueueFactory queueFactory) {
-        queue = queueFactory.getQueue(MailQueueFactory.SPOOL);
+        queue = queueFactory.createQueue(MailQueueFactory.SPOOL);
     }
 
     public void send(Mail mail, MailMetadata metadata) throws MailQueueException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
index 5912196..abc6291 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
@@ -42,7 +42,7 @@ public class MailSpoolTest {
     @Before
     public void setup() {
         MemoryMailQueueFactory mailQueueFactory = new MemoryMailQueueFactory(new RawMailQueueItemDecoratorFactory());
-        myQueue = mailQueueFactory.getQueue(MailQueueFactory.SPOOL);
+        myQueue = mailQueueFactory.createQueue(MailQueueFactory.SPOOL);
 
         mailSpool = new MailSpool(mailQueueFactory);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
index 5ef55a6..a637fd7 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
@@ -50,7 +50,7 @@ public class SendMailHandler implements JamesMessageHook {
 
     @Override
     public void init(Configuration config) throws ConfigurationException {
-        queue = queueFactory.getQueue(MailQueueFactory.SPOOL);
+        queue = queueFactory.createQueue(MailQueueFactory.SPOOL);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
index 3453882..1f2382c 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
@@ -308,7 +308,7 @@ public class SMTPServerTest {
         });
     
         queueFactory = new MemoryMailQueueFactory(new RawMailQueueItemDecoratorFactory());
-        queue = (MemoryMailQueueFactory.MemoryMailQueue) queueFactory.getQueue(MailQueueFactory.SPOOL);
+        queue = queueFactory.createQueue(MailQueueFactory.SPOOL);
         chain.put("mailqueuefactory", MailQueueFactory.class, queueFactory);
         chain.put("domainlist", DomainList.class, new SimpleDomainList() {
     

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java b/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java
index 8512d49..011143f 100644
--- a/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java
+++ b/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java
@@ -49,7 +49,7 @@ public class ActiveMQMailQueueFactory extends JMSMailQueueFactory {
     }
 
     @Override
-    protected MailQueue createMailQueue(String name) {
+    protected ManageableMailQueue createMailQueue(String name) {
         return new ActiveMQMailQueue(connectionFactory, mailQueueItemDecoratorFactory, name, useBlob, metricFactory);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
index 37c9c85..7ac74a0 100644
--- a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
+++ b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
@@ -27,6 +27,7 @@ import org.apache.james.metrics.api.NoopMetricFactory;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueFactoryContract;
 import org.apache.james.queue.api.ManageableMailQueue;
+import org.apache.james.queue.api.ManageableMailQueueFactoryContract;
 import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.apache.james.queue.jms.BrokerExtension;
 import org.junit.jupiter.api.AfterEach;
@@ -34,7 +35,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith(BrokerExtension.class)
-public class ActiveMQMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue> {
+public class ActiveMQMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
 
     private ActiveMQMailQueueFactory mailQueueFactory;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
index c39d28a..125dd5b 100644
--- a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
+++ b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.queue.api;
 
+import java.util.Optional;
 import java.util.Set;
 
 /**
@@ -37,7 +38,9 @@ public interface MailQueueFactory<T extends MailQueue> {
      * @param name
      * @return queue
      */
-    T getQueue(String name);
+    Optional<T> getQueue(String name);
+
+    T createQueue(String name);
 
     Set<T> listCreatedMailQueues();
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
index 93c2e18..dd3bd0d 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
@@ -38,10 +38,10 @@ public interface MailQueueFactoryContract<T extends MailQueue> {
 
     @Test
     default void getUsedMailQueuesShouldReturnPreviouslyCreatedMailQueues() {
-        MailQueueFactory mailQueueFactory = getMailQueueFactory();
+        MailQueueFactory<T> mailQueueFactory = getMailQueueFactory();
 
-        mailQueueFactory.getQueue(NAME_1);
-        mailQueueFactory.getQueue(NAME_2);
+        mailQueueFactory.createQueue(NAME_1);
+        mailQueueFactory.createQueue(NAME_2);
 
         assertThat(mailQueueFactory.listCreatedMailQueues())
             .extracting(MailQueue::getName)
@@ -50,14 +50,50 @@ public interface MailQueueFactoryContract<T extends MailQueue> {
 
     @Test
     default void getUsedMailQueuesShouldNotReturnDuplicate() {
-        MailQueueFactory mailQueueFactory = getMailQueueFactory();
+        MailQueueFactory<T> mailQueueFactory = getMailQueueFactory();
 
-        mailQueueFactory.getQueue(NAME_1);
-        mailQueueFactory.getQueue(NAME_1);
+        mailQueueFactory.createQueue(NAME_1);
+        mailQueueFactory.createQueue(NAME_1);
 
         assertThat(mailQueueFactory.listCreatedMailQueues())
             .extracting(MailQueue::getName)
             .containsOnly(NAME_1);
     }
 
+    @Test
+    default void getMailQueueShouldReturnEmptyIfNotCreated() {
+        MailQueueFactory<T> mailQueueFactory = getMailQueueFactory();
+
+        assertThat(mailQueueFactory.getQueue(NAME_1)).isEmpty();
+    }
+
+    @Test
+    default void getMailQueueShouldReturnMailQueueIfCreated() {
+        MailQueueFactory<T> mailQueueFactory = getMailQueueFactory();
+
+        mailQueueFactory.createQueue(NAME_1);
+
+        assertThat(mailQueueFactory.getQueue(NAME_1).map(MailQueue::getName)).contains(NAME_1);
+    }
+
+    @Test
+    default void getMailQueueShouldReturnEmptyIfQueueDoesNotExist() {
+        MailQueueFactory<T> mailQueueFactory = getMailQueueFactory();
+
+        mailQueueFactory.createQueue(NAME_1);
+
+        assertThat(mailQueueFactory.getQueue(NAME_2)).isEmpty();
+    }
+
+    @Test
+    default void getMailQueueShouldNotReturnTheSameQueueForTwoDifferentNames() {
+        MailQueueFactory<T> mailQueueFactory = getMailQueueFactory();
+
+        mailQueueFactory.createQueue(NAME_1);
+        mailQueueFactory.createQueue(NAME_2);
+
+        assertThat(mailQueueFactory.getQueue(NAME_1)).isNotEqualTo(mailQueueFactory.getQueue(NAME_2));
+    }
+
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueFactoryContract.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueFactoryContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueFactoryContract.java
new file mode 100644
index 0000000..aa61299
--- /dev/null
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/ManageableMailQueueFactoryContract.java
@@ -0,0 +1,45 @@
+/****************************************************************
+ * 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.queue.api;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import javax.mail.MessagingException;
+
+import org.junit.jupiter.api.Test;
+
+public interface ManageableMailQueueFactoryContract {
+
+    String NAME_1 = "name1";
+
+    MailQueueFactory<ManageableMailQueue> getMailQueueFactory();
+
+    @Test
+    default void createMailQueueShouldNotConflictIfAlreadyExists() throws MessagingException {
+        MailQueueFactory<ManageableMailQueue> mailQueueFactory = getMailQueueFactory();
+        MailQueue firstCreation = mailQueueFactory.createQueue(NAME_1);
+
+        firstCreation.enQueue(Mails.defaultMail().build());
+
+        ManageableMailQueue secondCreation = mailQueueFactory.createQueue(NAME_1);
+        assertThat(secondCreation.getSize()).isEqualTo(1);
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
index 8c18e30..16e0bc8 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
@@ -21,6 +21,7 @@ package org.apache.james.queue.file;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 
 import javax.inject.Inject;
@@ -66,19 +67,25 @@ public class FileMailQueueFactory implements MailQueueFactory<ManageableMailQueu
     }
 
     @Override
-    public ManageableMailQueue getQueue(String name) {
-        ManageableMailQueue queue = queues.get(name);
-        if (queue == null) {
-            synchronized (queues) {
-                try {
-                    queue = new FileMailQueue(mailQueueActionItemDecoratorFactory, fs.getFile("file://var/store/queue"), name, sync);
-                    queues.put(name, queue);
-                } catch (IOException e) {
-                    throw new RuntimeException("Unable to access queue " + name, e);
-                }
+    public Optional<ManageableMailQueue> getQueue(String name) {
+        return Optional.ofNullable(queues.get(name));
+    }
+
+    @Override
+    public ManageableMailQueue createQueue(String name) {
+        return getQueue(name).orElseGet(() -> createAndRegisterQueue(name));
+    }
+
+    private ManageableMailQueue createAndRegisterQueue(String name) {
+        synchronized (queues) {
+            try {
+                FileMailQueue queue = new FileMailQueue(mailQueueActionItemDecoratorFactory, fs.getFile("file://var/store/queue"), name, sync);
+                queues.put(name, queue);
+                return queue;
+            } catch (IOException e) {
+                throw new RuntimeException("Unable to access queue " + name, e);
             }
         }
-        return queue;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java b/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
index e953d32..bd09fd4 100644
--- a/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
+++ b/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
@@ -22,11 +22,13 @@ package org.apache.james.queue.file;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueFactoryContract;
+import org.apache.james.queue.api.ManageableMailQueue;
+import org.apache.james.queue.api.ManageableMailQueueFactoryContract;
 import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 
-public class FileMailQueueFactoryTest implements MailQueueFactoryContract {
+public class FileMailQueueFactoryTest implements MailQueueFactoryContract, ManageableMailQueueFactoryContract {
     private FileMailQueueFactory mailQueueFactory;
     private MockFileSystem fileSystem;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
index 6329ffc..dbc47dd 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
@@ -45,7 +45,7 @@ public class JMSMailQueueFactory extends AbstractMailQueueFactory<ManageableMail
     }
 
     @Override
-    protected MailQueue createMailQueue(String name) {
+    protected ManageableMailQueue createMailQueue(String name) {
         return new JMSMailQueue(connectionFactory, mailQueueItemDecoratorFactory, name, metricFactory);
     }
     

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
index ec3537f..e1a29dd 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 
 import javax.annotation.PostConstruct;
@@ -91,19 +92,21 @@ public abstract class AbstractMailQueueFactory<T extends MailQueue> implements M
     }
 
     @Override
-    public final synchronized T getQueue(String name) {
-        
-        T queue = queues.get(name);
+    public final synchronized Optional<T> getQueue(String name) {
+        return Optional.ofNullable(queues.get(name));
+    }
 
-        if (queue == null) {
-            queue = createMailQueue(name);
-            if (useJMX) {
-                registerMBean(name, queue);
+    @Override
+    public synchronized T createQueue(String name) {
+        return getQueue(name).orElseGet(() -> createAndRegisterQueue(name));
+    }
 
-            }
-            queues.put(name, queue);
+    private T createAndRegisterQueue(String name) {
+        T queue = createMailQueue(name);
+        if (useJMX) {
+            registerMBean(name, queue);
         }
-
+        queues.put(name, queue);
         return queue;
     }
 
@@ -113,7 +116,7 @@ public abstract class AbstractMailQueueFactory<T extends MailQueue> implements M
      * @param name
      * @return queue
      */
-    protected abstract MailQueue createMailQueue(String name);
+    protected abstract T createMailQueue(String name);
 
     protected synchronized void registerMBean(String queuename, MailQueue queue) {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java
index 5e064c9..5211ce6 100644
--- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java
+++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java
@@ -27,6 +27,7 @@ import org.apache.james.metrics.api.NoopMetricFactory;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueFactoryContract;
 import org.apache.james.queue.api.ManageableMailQueue;
+import org.apache.james.queue.api.ManageableMailQueueFactoryContract;
 import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -34,7 +35,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
 
 
 @ExtendWith(BrokerExtension.class)
-public class JMSMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue> {
+public class JMSMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
 
     private JMSMailQueueFactory mailQueueFactory;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
index 500a0cd..b439bad 100644
--- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
+++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
@@ -105,15 +105,15 @@ public class AbstractMailQueueFactoryTest {
 
     @Test
     public void destroyShouldRegisterManageableQueues() throws Exception {
-        abstractMailQueueFactory.getQueue(QUEUE_1);
+        abstractMailQueueFactory.createQueue(QUEUE_1);
         verify(mBeanServer).registerMBean(any(MailQueue.class), eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1)));
     }
 
     @Test
     public void destroyShouldUnregisterAllRegisterQueue() throws Exception {
-        abstractMailQueueFactory.getQueue(QUEUE_1);
-        abstractMailQueueFactory.getQueue(QUEUE_2);
-        abstractMailQueueFactory.getQueue(QUEUE_3);
+        abstractMailQueueFactory.createQueue(QUEUE_1);
+        abstractMailQueueFactory.createQueue(QUEUE_2);
+        abstractMailQueueFactory.createQueue(QUEUE_3);
         abstractMailQueueFactory.destroy();
         verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1)));
         verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_2)));
@@ -122,16 +122,16 @@ public class AbstractMailQueueFactoryTest {
 
     @Test
     public void unregisterMBeanShouldWork() throws Exception {
-        abstractMailQueueFactory.getQueue(QUEUE_1);
+        abstractMailQueueFactory.createQueue(QUEUE_1);
         abstractMailQueueFactory.unregisterMBean(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1);
         verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1)));
     }
 
     @Test
     public void destroyShouldNotBeStoppedByExceptions() throws Exception {
-        abstractMailQueueFactory.getQueue(QUEUE_1);
-        abstractMailQueueFactory.getQueue(QUEUE_2);
-        abstractMailQueueFactory.getQueue(QUEUE_3);
+        abstractMailQueueFactory.createQueue(QUEUE_1);
+        abstractMailQueueFactory.createQueue(QUEUE_2);
+        abstractMailQueueFactory.createQueue(QUEUE_3);
         doThrow(InstanceNotFoundException.class)
             .doNothing()
             .when(mBeanServer)

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
index b4322e4..48bb10d 100644
--- a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
+++ b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
@@ -63,13 +63,13 @@ public class MemoryMailQueueFactory implements MailQueueFactory<ManageableMailQu
     }
 
     @Override
-    public MailQueue getQueue(String name) {
-        return Optional.ofNullable(mailQueues.get(name))
-            .orElseGet(() -> tryInsertNewMailQueue(name));
+    public Optional<ManageableMailQueue> getQueue(String name) {
+        return Optional.ofNullable(mailQueues.get(name));
     }
 
-    private MailQueue tryInsertNewMailQueue(String name) {
-        MailQueue newMailQueue = new MemoryMailQueue(name, mailQueueItemDecoratorFactory);
+    @Override
+    public MemoryMailQueueFactory.MemoryMailQueue createQueue(String name) {
+        MemoryMailQueueFactory.MemoryMailQueue newMailQueue = new MemoryMailQueue(name, mailQueueItemDecoratorFactory);
         return Optional.ofNullable(mailQueues.putIfAbsent(name, newMailQueue))
             .orElse(newMailQueue);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7574fdf8/server/queue/queue-memory/src/test/java/org/apache/james/queue/memory/MemoryMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-memory/src/test/java/org/apache/james/queue/memory/MemoryMailQueueFactoryTest.java b/server/queue/queue-memory/src/test/java/org/apache/james/queue/memory/MemoryMailQueueFactoryTest.java
index f9a3ca3..28002ca 100644
--- a/server/queue/queue-memory/src/test/java/org/apache/james/queue/memory/MemoryMailQueueFactoryTest.java
+++ b/server/queue/queue-memory/src/test/java/org/apache/james/queue/memory/MemoryMailQueueFactoryTest.java
@@ -19,43 +19,24 @@
 
 package org.apache.james.queue.memory;
 
-import static org.assertj.core.api.Assertions.assertThat;
-
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueFactoryContract;
+import org.apache.james.queue.api.ManageableMailQueue;
+import org.apache.james.queue.api.ManageableMailQueueFactoryContract;
 import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-public class MemoryMailQueueFactoryTest implements MailQueueFactoryContract {
 
-    private static final String KEY = "key";
-    private static final String BIS = "keyBis";
+class MemoryMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
 
-    private MemoryMailQueueFactory memoryMailQueueFactory;
+    MemoryMailQueueFactory memoryMailQueueFactory;
 
     @BeforeEach
-    public void setUp() {
+    void setup() {
         memoryMailQueueFactory = new MemoryMailQueueFactory(new RawMailQueueItemDecoratorFactory());
     }
 
-    @Test
-    public void getQueueShouldNotReturnNull() {
-        assertThat(memoryMailQueueFactory.getQueue(KEY)).isNotNull();
-    }
-
-    @Test
-    public void getQueueShouldReturnTwoTimeTheSameResultWhenUsedWithTheSameKey() {
-        assertThat(memoryMailQueueFactory.getQueue(KEY)).isEqualTo(memoryMailQueueFactory.getQueue(KEY));
-    }
-
-    @Test
-    public void getQueueShouldNotReturnTheSameQueueForTwoDifferentNames() {
-        assertThat(memoryMailQueueFactory.getQueue(KEY)).isNotEqualTo(memoryMailQueueFactory.getQueue(BIS));
-    }
-
     @Override
-    public MailQueueFactory getMailQueueFactory() {
+    public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
         return memoryMailQueueFactory;
     }
-}
+}
\ No newline at end of file


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


[08/10] james-project git commit: JAMES-2292 Fix Eclipse warnings

Posted by ro...@apache.org.
JAMES-2292 Fix Eclipse warnings


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

Branch: refs/heads/master
Commit: 2279d9b2ad81f01a3e5231202fe925c85547529f
Parents: 7574fdf
Author: Antoine Duprat <ad...@linagora.com>
Authored: Mon Jan 22 16:46:58 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 14:03:24 2018 +0100

----------------------------------------------------------------------
 .../cassandra/CassandraMailboxSessionMapperFactory.java        | 2 --
 .../mailbox/cassandra/CassandraSubscriptionManagerTest.java    | 2 --
 .../java/org/apache/james/transport/mailets/LogMessage.java    | 1 -
 .../apache/james/server/core/InternetHeadersInputStream.java   | 1 -
 .../main/java/org/apache/james/server/core/MailHeaders.java    | 3 ---
 .../java/org/apache/james/server/core/MimeMessageUtil.java     | 1 -
 .../java/org/apache/james/server/core/MimeMessageWrapper.java  | 1 -
 .../java/org/apache/james/server/core/MailHeadersTest.java     | 1 -
 .../org/apache/james/modules/server/ActiveMQQueueModule.java   | 2 +-
 .../james/modules/server/CamelMailetContainerModule.java       | 6 +++---
 .../apache/james/mailetcontainer/impl/JamesMailSpooler.java    | 4 ++--
 .../apache/james/mailetcontainer/impl/JamesMailetContext.java  | 3 +--
 .../james/mailetcontainer/impl/JamesMailetContextTest.java     | 3 ++-
 .../org/apache/james/transport/mailets/RemoteDelivery.java     | 6 +++---
 .../mailets/remote/delivery/RemoteDeliveryRunningTest.java     | 3 ++-
 .../transport/mailets/remote/delivery/RemoteDeliveryTest.java  | 3 ++-
 .../main/java/org/apache/james/fetchmail/FetchScheduler.java   | 4 ++--
 .../src/main/java/org/apache/james/jmap/send/MailSpool.java    | 2 +-
 .../main/java/org/apache/james/smtpserver/SendMailHandler.java | 4 ++--
 .../org/apache/james/queue/file/FileMailQueueFactoryTest.java  | 2 +-
 .../java/org/apache/james/queue/jms/JMSMailQueueFactory.java   | 1 -
 .../james/queue/library/AbstractMailQueueFactoryTest.java      | 6 +++---
 22 files changed, 25 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
index d95d1a0..69888e2 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
@@ -91,7 +91,6 @@ public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFa
     private final CassandraAttachmentOwnerDAO ownerDAO;
     private final CassandraACLMapper aclMapper;
     private final CassandraUserMailboxRightsDAO userMailboxRightsDAO;
-    private final BlobId.Factory blobIdFactory;
     private final CassandraUtils cassandraUtils;
     private final CassandraConfiguration cassandraConfiguration;
 
@@ -125,7 +124,6 @@ public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFa
         this.attachmentMessageIdDAO = attachmentMessageIdDAO;
         this.aclMapper = aclMapper;
         this.userMailboxRightsDAO = userMailboxRightsDAO;
-        this.blobIdFactory = blobIdFactory;
         this.cassandraUtils = cassandraUtils;
         this.ownerDAO = ownerDAO;
         this.cassandraConfiguration = cassandraConfiguration;

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
index 153a859..64a7d84 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
@@ -26,7 +26,6 @@ import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
 import org.apache.james.backends.cassandra.utils.CassandraUtils;
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.ObjectStore;
-import org.apache.james.blob.cassandra.CassandraBlobsDAO;
 import org.apache.james.mailbox.AbstractSubscriptionManagerTest;
 import org.apache.james.mailbox.SubscriptionManager;
 import org.apache.james.mailbox.cassandra.mail.CassandraACLMapper;
@@ -96,7 +95,6 @@ public class CassandraSubscriptionManagerTest extends AbstractSubscriptionManage
         CassandraAttachmentDAO attachmentDAO = null;
         CassandraDeletedMessageDAO deletedMessageDAO = null;
         CassandraAttachmentDAOV2 attachmentDAOV2 = null;
-        CassandraBlobsDAO cassandraBlobsDAO = null;
         CassandraAttachmentMessageIdDAO attachmentMessageIdDAO = null;
         CassandraAttachmentOwnerDAO ownerDAO = null;
         CassandraACLMapper aclMapper = null;

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
index c24e6ac..1ae9eb5 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
@@ -106,7 +106,6 @@ public class LogMessage extends GenericMailet {
         }
     }
 
-    @SuppressWarnings("unchecked")
     private void logHeaders(MimeMessage message) throws MessagingException {
         if (headers && logger.isInfoEnabled()) {
             logger.info("\n");

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/container/core/src/main/java/org/apache/james/server/core/InternetHeadersInputStream.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/InternetHeadersInputStream.java b/server/container/core/src/main/java/org/apache/james/server/core/InternetHeadersInputStream.java
index 62a8739..f6911f8 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/InternetHeadersInputStream.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/InternetHeadersInputStream.java
@@ -39,7 +39,6 @@ public class InternetHeadersInputStream extends InputStream {
     private byte[] currLine;
     private int pos = 0;
 
-    @SuppressWarnings("unchecked")
     public InternetHeadersInputStream(InternetHeaders headers) {
         this(headers.getAllHeaderLines());
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/container/core/src/main/java/org/apache/james/server/core/MailHeaders.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/MailHeaders.java b/server/container/core/src/main/java/org/apache/james/server/core/MailHeaders.java
index a98223c..a2d6b52 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/MailHeaders.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/MailHeaders.java
@@ -76,7 +76,6 @@ public class MailHeaders extends InternetHeaders implements Serializable, Clonea
      * @param out
      *            the OutputStream to which to write the headers
      */
-    @SuppressWarnings("unchecked")
     public void writeTo(OutputStream out) throws MessagingException {
         MimeMessageUtil.writeHeadersTo(getAllHeaderLines(), out);
     }
@@ -110,7 +109,6 @@ public class MailHeaders extends InternetHeaders implements Serializable, Clonea
      * @see javax.mail.internet.InternetHeaders#addHeader(java.lang.String,
      *      java.lang.String)
      */
-    @SuppressWarnings("unchecked")
     public synchronized void addHeader(String arg0, String arg1) {
         if (RFC2822Headers.RETURN_PATH.equalsIgnoreCase(arg0)) {
             headers.add(0, new InternetHeader(arg0, arg1));
@@ -168,7 +166,6 @@ public class MailHeaders extends InternetHeaders implements Serializable, Clonea
      * 
      * @return size
      */
-    @SuppressWarnings("unchecked")
     public synchronized long getSize() {
         if (size == -1 || modified) {
             long c = 0;

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageUtil.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageUtil.java b/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageUtil.java
index 26be958..b3b344f 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageUtil.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageUtil.java
@@ -212,7 +212,6 @@ public class MimeMessageUtil {
      * @return stream the InputStream which holds the headers
      * @throws MessagingException
      */
-    @SuppressWarnings("unchecked")
     public static InputStream getHeadersInputStream(MimeMessage message, String[] ignoreList) throws MessagingException {
         return new InternetHeadersInputStream(message.getNonMatchingHeaderLines(ignoreList));
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageWrapper.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageWrapper.java b/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageWrapper.java
index ba59a60..103717b 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageWrapper.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageWrapper.java
@@ -335,7 +335,6 @@ public class MimeMessageWrapper extends MimeMessage implements Disposable {
             if (headers == null) {
                 loadHeaders();
             }
-            @SuppressWarnings("unchecked")
             Enumeration<String> filteredHeaders = headers.getNonMatchingHeaderLines(ignoreList);
             IOUtils.copy(new InternetHeadersInputStream(filteredHeaders), headerOs);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/container/core/src/test/java/org/apache/james/server/core/MailHeadersTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/server/core/MailHeadersTest.java b/server/container/core/src/test/java/org/apache/james/server/core/MailHeadersTest.java
index edc0217..ed74672 100644
--- a/server/container/core/src/test/java/org/apache/james/server/core/MailHeadersTest.java
+++ b/server/container/core/src/test/java/org/apache/james/server/core/MailHeadersTest.java
@@ -36,7 +36,6 @@ public class MailHeadersTest {
                 .getBytes()));
         header.setHeader(RFC2822Headers.RETURN_PATH, "<te...@test>");
         header.setHeader(RFC2822Headers.FROM, "<te...@test.de>");
-        @SuppressWarnings("unchecked")
         Enumeration<String> h = header.getAllHeaderLines();
 
         assertEquals(h.nextElement(), "Return-Path: <te...@test>");

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java
index 577db16..2121094 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java
@@ -48,7 +48,7 @@ public class ActiveMQQueueModule extends AbstractModule {
 
     @Provides
     @Singleton
-    public MailQueueFactory createActiveMailQueueFactory(ActiveMQMailQueueFactory activeMQMailQueueFactory) {
+    public MailQueueFactory<?> createActiveMailQueueFactory(ActiveMQMailQueueFactory activeMQMailQueueFactory) {
         activeMQMailQueueFactory.setUseJMX(true);
         activeMQMailQueueFactory.init();
         return activeMQMailQueueFactory;

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
index 3680c0a..b58fc16 100644
--- a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
+++ b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
@@ -86,7 +86,7 @@ public class CamelMailetContainerModule extends AbstractModule {
 
     @Provides
     @Singleton
-    private JamesMailetContext provideMailetContext(MailQueueFactory mailQueueFactory,
+    private JamesMailetContext provideMailetContext(MailQueueFactory<?> mailQueueFactory,
                                                     DNSService dns,
                                                     UsersRepository localusers,
                                                     DomainList domains) {
@@ -105,7 +105,7 @@ public class CamelMailetContainerModule extends AbstractModule {
         private final CamelCompositeProcessor camelCompositeProcessor;
         private final JamesMailSpooler jamesMailSpooler;
         private final JamesMailetContext mailetContext;
-        private final MailQueueFactory mailQueueFactory;
+        private final MailQueueFactory<?> mailQueueFactory;
         private final DefaultProcessorsConfigurationSupplier defaultProcessorsConfigurationSupplier;
         private final Set<TransportProcessorCheck> transportProcessorCheckSet;
 
@@ -114,7 +114,7 @@ public class CamelMailetContainerModule extends AbstractModule {
                                                 CamelCompositeProcessor camelCompositeProcessor,
                                                 JamesMailSpooler jamesMailSpooler,
                                                 JamesMailetContext mailetContext,
-                                                MailQueueFactory mailQueueFactory,
+                                                MailQueueFactory<?> mailQueueFactory,
                                                 Set<TransportProcessorCheck> transportProcessorCheckSet,
                                                 DefaultProcessorsConfigurationSupplier defaultProcessorsConfigurationSupplier) {
             this.configurationProvider = configurationProvider;

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
index 26bf267..b077060 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
@@ -87,7 +87,7 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Mai
      */
     private MailProcessor mailProcessor;
 
-    private MailQueueFactory queueFactory;
+    private MailQueueFactory<?> queueFactory;
 
     private int numDequeueThreads;
 
@@ -97,7 +97,7 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Mai
     }
 
     @Inject
-    public void setMailQueueFactory(MailQueueFactory queueFactory) {
+    public void setMailQueueFactory(MailQueueFactory<?> queueFactory) {
         this.queueFactory = queueFactory;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
index 8081cac..dcee0ed 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
@@ -63,7 +63,6 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableSet;
 
-@SuppressWarnings("deprecation")
 public class JamesMailetContext implements MailetContext, Configurable {
     private static final Logger LOGGER = LoggerFactory.getLogger(JamesMailetContext.class);
 
@@ -82,7 +81,7 @@ public class JamesMailetContext implements MailetContext, Configurable {
     private MailAddress postmaster;
 
     @Inject
-    public void retrieveRootMailQueue(MailQueueFactory mailQueueFactory) {
+    public void retrieveRootMailQueue(MailQueueFactory<?> mailQueueFactory) {
         this.rootMailQueue = mailQueueFactory.createQueue(MailQueueFactory.SPOOL);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
index 56b3ef6..d6b8667 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
@@ -68,6 +68,7 @@ public class JamesMailetContextTest {
     private MailQueue spoolMailQueue;
 
     @Before
+    @SuppressWarnings("unchecked")
     public void setUp() throws Exception {
         domainList = new MemoryDomainList(DNS_SERVICE);
         HierarchicalConfiguration configuration = mock(HierarchicalConfiguration.class);
@@ -78,7 +79,7 @@ public class JamesMailetContextTest {
         usersRepository = MemoryUsersRepository.withVirtualHosting();
         usersRepository.setDomainList(domainList);
         testee = new JamesMailetContext();
-        MailQueueFactory mailQueueFactory = mock(MailQueueFactory.class);
+        MailQueueFactory<MailQueue> mailQueueFactory = mock(MailQueueFactory.class);
         spoolMailQueue = mock(MailQueue.class);
         when(mailQueueFactory.createQueue(MailQueueFactory.SPOOL)).thenReturn(spoolMailQueue);
         testee.retrieveRootMailQueue(mailQueueFactory);

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
index 602f749..da2f6a5 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
@@ -131,7 +131,7 @@ public class RemoteDelivery extends GenericMailet {
 
     private final DNSService dnsServer;
     private final DomainList domainList;
-    private final MailQueueFactory queueFactory;
+    private final MailQueueFactory<?> queueFactory;
     private final MetricFactory metricFactory;
     private final AtomicBoolean isDestroyed;
     private final ThreadState startThreads;
@@ -141,11 +141,11 @@ public class RemoteDelivery extends GenericMailet {
     private ExecutorService executor;
 
     @Inject
-    public RemoteDelivery(DNSService dnsServer, DomainList domainList, MailQueueFactory queueFactory, MetricFactory metricFactory) {
+    public RemoteDelivery(DNSService dnsServer, DomainList domainList, MailQueueFactory<?> queueFactory, MetricFactory metricFactory) {
         this(dnsServer, domainList, queueFactory, metricFactory, ThreadState.START_THREADS);
     }
 
-    public RemoteDelivery(DNSService dnsServer, DomainList domainList, MailQueueFactory queueFactory, MetricFactory metricFactory, ThreadState startThreads) {
+    public RemoteDelivery(DNSService dnsServer, DomainList domainList, MailQueueFactory<?> queueFactory, MetricFactory metricFactory, ThreadState startThreads) {
         this.dnsServer = dnsServer;
         this.domainList = domainList;
         this.queueFactory = queueFactory;

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java
index fa04dc2..075aa43 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryRunningTest.java
@@ -45,9 +45,10 @@ public class RemoteDeliveryRunningTest {
     private CountDownLatch countDownLatch;
 
     @Before
+    @SuppressWarnings("unchecked")
     public void setUp() throws Exception {
         countDownLatch = new CountDownLatch(1);
-        MailQueueFactory mailQueueFactory = mock(MailQueueFactory.class);
+        MailQueueFactory<MailQueue> mailQueueFactory = mock(MailQueueFactory.class);
         remoteDelivery = new RemoteDelivery(mock(DNSService.class), mock(DomainList.class), mailQueueFactory,
             mock(MetricFactory.class), RemoteDelivery.ThreadState.START_THREADS);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
index fd68601..f54203c 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
@@ -93,8 +93,9 @@ public class RemoteDeliveryTest {
     private FakeMailQueue mailQueue;
 
     @Before
+    @SuppressWarnings("unchecked")
     public void setUp() {
-        MailQueueFactory queueFactory = mock(MailQueueFactory.class);
+        MailQueueFactory<FakeMailQueue> queueFactory = mock(MailQueueFactory.class);
         mailQueue = new FakeMailQueue("any");
         when(queueFactory.createQueue(RemoteDeliveryConfiguration.OUTGOING)).thenReturn(mailQueue);
         remoteDelivery = new RemoteDelivery(mock(DNSService.class), mock(DomainList.class), queueFactory, mock(MetricFactory.class), RemoteDelivery.ThreadState.DO_NOT_START_THREADS);

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
----------------------------------------------------------------------
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
index 44f579e..4a650f3 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
@@ -63,12 +63,12 @@ public class FetchScheduler implements FetchSchedulerMBean, Configurable {
 
     private UsersRepository urepos;
 
-    private MailQueueFactory queueFactory;
+    private MailQueueFactory<?> queueFactory;
 
     private DomainList domainList;
 
     @Inject
-    public void setMailQueueFactory(MailQueueFactory queueFactory) {
+    public void setMailQueueFactory(MailQueueFactory<?> queueFactory) {
         this.queueFactory = queueFactory;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java
index 312abab..db45b4f 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/send/MailSpool.java
@@ -33,7 +33,7 @@ public class MailSpool {
     private final MailQueue queue;
 
     @Inject
-    @VisibleForTesting MailSpool(MailQueueFactory queueFactory) {
+    @VisibleForTesting MailSpool(MailQueueFactory<?> queueFactory) {
         queue = queueFactory.createQueue(MailQueueFactory.SPOOL);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
index a637fd7..54e0a4d 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
@@ -41,10 +41,10 @@ public class SendMailHandler implements JamesMessageHook {
     private static final Logger LOGGER = LoggerFactory.getLogger(SendMailHandler.class);
 
     private MailQueue queue;
-    private MailQueueFactory queueFactory;
+    private MailQueueFactory<?> queueFactory;
 
     @Inject
-    public void setMailQueueFactory(MailQueueFactory queueFactory) {
+    public void setMailQueueFactory(MailQueueFactory<?> queueFactory) {
         this.queueFactory = queueFactory;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java b/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
index bd09fd4..4dc1ebf 100644
--- a/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
+++ b/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
@@ -28,7 +28,7 @@ import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 
-public class FileMailQueueFactoryTest implements MailQueueFactoryContract, ManageableMailQueueFactoryContract {
+public class FileMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
     private FileMailQueueFactory mailQueueFactory;
     private MockFileSystem fileSystem;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
index dbc47dd..12f79c5 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
@@ -22,7 +22,6 @@ import javax.inject.Inject;
 import javax.jms.ConnectionFactory;
 
 import org.apache.james.metrics.api.MetricFactory;
-import org.apache.james.queue.api.MailQueue;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
 import org.apache.james.queue.api.ManageableMailQueue;

http://git-wip-us.apache.org/repos/asf/james-project/blob/2279d9b2/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
index b439bad..77efab3 100644
--- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
+++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
@@ -19,9 +19,9 @@
 
 package org.apache.james.queue.library;
 
-import static org.mockito.Mockito.any;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
@@ -42,7 +42,7 @@ public class AbstractMailQueueFactoryTest {
     private static final String QUEUE_2 = "queue2";
     private static final String QUEUE_3 = "queue3";
 
-    private AbstractMailQueueFactory abstractMailQueueFactory;
+    private AbstractMailQueueFactory<?> abstractMailQueueFactory;
     private MBeanServer mBeanServer;
 
     @Before


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


[06/10] james-project git commit: JAMES-2292 MailQueueFactory should tell if the queues are manageable

Posted by ro...@apache.org.
JAMES-2292 MailQueueFactory should tell if the queues are manageable


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

Branch: refs/heads/master
Commit: e144652700af6fe2db79e98c78f1f81db29471d0
Parents: e67e485
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Jan 23 13:40:17 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 14:03:19 2018 +0100

----------------------------------------------------------------------
 .../james/modules/server/MemoryMailQueueModule.java     | 11 ++++++++---
 .../james/queue/activemq/ActiveMQMailQueueFactory.java  |  2 +-
 .../queue/activemq/ActiveMQMailQueueFactoryTest.java    |  9 +++++----
 .../org/apache/james/queue/api/MailQueueFactory.java    |  6 +++---
 .../james/queue/api/MailQueueFactoryContract.java       |  4 ++--
 .../apache/james/queue/file/FileMailQueueFactory.java   | 12 ++++++------
 .../james/queue/file/FileMailQueueFactoryTest.java      |  2 +-
 .../org/apache/james/queue/jms/JMSMailQueueFactory.java |  3 ++-
 .../james/queue/library/AbstractMailQueueFactory.java   | 10 +++++-----
 .../apache/james/queue/jms/JMSMailQueueFactoryTest.java |  9 +++++----
 .../queue/library/AbstractMailQueueFactoryTest.java     |  2 +-
 .../james/queue/memory/MemoryMailQueueFactory.java      |  6 +++---
 12 files changed, 42 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueModule.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueModule.java
index c7efca5..43e3959 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueModule.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueModule.java
@@ -23,14 +23,19 @@ import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.memory.MemoryMailQueueFactory;
 
 import com.google.inject.AbstractModule;
-import com.google.inject.Scopes;
+import com.google.inject.Provides;
+import com.google.inject.Singleton;
 
 public class MemoryMailQueueModule extends AbstractModule {
 
     @Override
     protected void configure() {
-        bind(MemoryMailQueueFactory.class).in(Scopes.SINGLETON);
 
-        bind(MailQueueFactory.class).to(MemoryMailQueueFactory.class);
+    }
+
+    @Provides
+    @Singleton
+    public MailQueueFactory<?> createActiveMailQueueFactory(MemoryMailQueueFactory memoryMailQueueFactory) {
+        return memoryMailQueueFactory;
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java b/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java
index 104dd0c..8512d49 100644
--- a/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java
+++ b/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactory.java
@@ -22,9 +22,9 @@ import javax.inject.Inject;
 import javax.jms.ConnectionFactory;
 
 import org.apache.james.metrics.api.MetricFactory;
-import org.apache.james.queue.api.MailQueue;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
+import org.apache.james.queue.api.ManageableMailQueue;
 import org.apache.james.queue.jms.JMSMailQueueFactory;
 
 /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
index 0af1569..37c9c85 100644
--- a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
+++ b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
@@ -26,6 +26,7 @@ import org.apache.activemq.broker.BrokerService;
 import org.apache.james.metrics.api.NoopMetricFactory;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueFactoryContract;
+import org.apache.james.queue.api.ManageableMailQueue;
 import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.apache.james.queue.jms.BrokerExtension;
 import org.junit.jupiter.api.AfterEach;
@@ -33,12 +34,12 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith(BrokerExtension.class)
-public class ActiveMQMailQueueFactoryTest implements MailQueueFactoryContract {
+public class ActiveMQMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue> {
 
     private ActiveMQMailQueueFactory mailQueueFactory;
 
     @BeforeEach
-    public void setUp(BrokerService brokerService) throws Exception {
+    public void setUp(BrokerService brokerService) {
         ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?create=false");
         RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory();
         NoopMetricFactory metricFactory = new NoopMetricFactory();
@@ -47,12 +48,12 @@ public class ActiveMQMailQueueFactoryTest implements MailQueueFactoryContract {
     }
 
     @AfterEach
-    public void tearDown() throws Exception {
+    public void tearDown() {
         mailQueueFactory.destroy();
     }
 
     @Override
-    public MailQueueFactory getMailQueueFactory() {
+    public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
         return mailQueueFactory;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
index a8253a4..c39d28a 100644
--- a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
+++ b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
@@ -24,7 +24,7 @@ import java.util.Set;
 /**
  * Factory for {@link MailQueue}
  */
-public interface MailQueueFactory {
+public interface MailQueueFactory<T extends MailQueue> {
 
     /**
      * {@link MailQueue} which is used for spooling the messages
@@ -37,7 +37,7 @@ public interface MailQueueFactory {
      * @param name
      * @return queue
      */
-    MailQueue getQueue(String name);
+    T getQueue(String name);
 
-    Set<MailQueue> listCreatedMailQueues();
+    Set<T> listCreatedMailQueues();
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
index 4196e44..93c2e18 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
@@ -23,12 +23,12 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 import org.junit.jupiter.api.Test;
 
-public interface MailQueueFactoryContract {
+public interface MailQueueFactoryContract<T extends MailQueue> {
 
     String NAME_1 = "name1";
     String NAME_2 = "name2";
 
-    MailQueueFactory getMailQueueFactory();
+    MailQueueFactory<T> getMailQueueFactory();
 
     @Test
     default void getUsedMailQueuesShouldReturnWhenNoMailQueue() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
index 5c67acd..8c18e30 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
@@ -26,18 +26,18 @@ import java.util.Set;
 import javax.inject.Inject;
 
 import org.apache.james.filesystem.api.FileSystem;
-import org.apache.james.queue.api.MailQueue;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
+import org.apache.james.queue.api.ManageableMailQueue;
 
 import com.google.common.collect.ImmutableSet;
 
 /**
  * {@link MailQueueFactory} implementation which returns {@link FileMailQueue} instances
  */
-public class FileMailQueueFactory implements MailQueueFactory {
+public class FileMailQueueFactory implements MailQueueFactory<ManageableMailQueue> {
 
-    private final Map<String, MailQueue> queues = new HashMap<>();
+    private final Map<String, ManageableMailQueue> queues = new HashMap<>();
     private MailQueueItemDecoratorFactory mailQueueActionItemDecoratorFactory;
     private FileSystem fs;
     private boolean sync = true;
@@ -49,7 +49,7 @@ public class FileMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public Set<MailQueue> listCreatedMailQueues() {
+    public Set<ManageableMailQueue> listCreatedMailQueues() {
         return ImmutableSet.copyOf(queues.values());
     }
 
@@ -66,8 +66,8 @@ public class FileMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public MailQueue getQueue(String name) {
-        MailQueue queue = queues.get(name);
+    public ManageableMailQueue getQueue(String name) {
+        ManageableMailQueue queue = queues.get(name);
         if (queue == null) {
             synchronized (queues) {
                 try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java b/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
index a6e5c0d..e953d32 100644
--- a/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
+++ b/server/queue/queue-file/src/test/java/org/apache/james/queue/file/FileMailQueueFactoryTest.java
@@ -42,7 +42,7 @@ public class FileMailQueueFactoryTest implements MailQueueFactoryContract {
     }
 
     @Override
-    public MailQueueFactory getMailQueueFactory() {
+    public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
         return mailQueueFactory;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
index 823869a..6329ffc 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueueFactory.java
@@ -25,12 +25,13 @@ import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.queue.api.MailQueue;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
+import org.apache.james.queue.api.ManageableMailQueue;
 import org.apache.james.queue.library.AbstractMailQueueFactory;
 
 /**
  * {@link MailQueueFactory} implementation which use JMS
  */
-public class JMSMailQueueFactory extends AbstractMailQueueFactory {
+public class JMSMailQueueFactory extends AbstractMailQueueFactory<ManageableMailQueue> {
 
     protected final ConnectionFactory connectionFactory;
     protected final MailQueueItemDecoratorFactory mailQueueItemDecoratorFactory;

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
index 9370848..ec3537f 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
@@ -45,12 +45,12 @@ import com.google.common.collect.ImmutableSet;
  * {@link MailQueueFactory} abstract base class which take care of register the
  * {@link MailQueue} implementations via JMX (if possible)
  */
-public abstract class AbstractMailQueueFactory implements MailQueueFactory {
+public abstract class AbstractMailQueueFactory<T extends MailQueue> implements MailQueueFactory<T> {
     private static final Logger LOGGER = LoggerFactory.getLogger(AbstractMailQueueFactory.class);
 
     public static final String MBEAN_NAME_QUEUE_PREFIX = "org.apache.james:type=component,name=queue,queue=";
 
-    protected final Map<String, MailQueue> queues = new HashMap<>();
+    protected final Map<String, T> queues = new HashMap<>();
     private boolean useJMX = true;
     private MBeanServer mbeanServer;
     private final List<String> mbeans = new ArrayList<>();
@@ -70,7 +70,7 @@ public abstract class AbstractMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public Set<MailQueue> listCreatedMailQueues() {
+    public Set<T> listCreatedMailQueues() {
         return ImmutableSet.copyOf(queues.values());
     }
 
@@ -91,9 +91,9 @@ public abstract class AbstractMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public final synchronized MailQueue getQueue(String name) {
+    public final synchronized T getQueue(String name) {
         
-        MailQueue queue = queues.get(name);
+        T queue = queues.get(name);
 
         if (queue == null) {
             queue = createMailQueue(name);

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java
index 98b9ac1..5e064c9 100644
--- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java
+++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueFactoryTest.java
@@ -26,6 +26,7 @@ import org.apache.activemq.broker.BrokerService;
 import org.apache.james.metrics.api.NoopMetricFactory;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueFactoryContract;
+import org.apache.james.queue.api.ManageableMailQueue;
 import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -33,12 +34,12 @@ import org.junit.jupiter.api.extension.ExtendWith;
 
 
 @ExtendWith(BrokerExtension.class)
-public class JMSMailQueueFactoryTest implements MailQueueFactoryContract {
+public class JMSMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue> {
 
     private JMSMailQueueFactory mailQueueFactory;
 
     @BeforeEach
-    public void setUp(BrokerService broker) throws Exception {
+    void setUp(BrokerService broker) {
         ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?create=false");
         RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory();
         NoopMetricFactory metricFactory = new NoopMetricFactory();
@@ -47,12 +48,12 @@ public class JMSMailQueueFactoryTest implements MailQueueFactoryContract {
     }
 
     @AfterEach
-    public void tearDown() throws Exception {
+    void tearDown() {
         mailQueueFactory.destroy();
     }
 
     @Override
-    public MailQueueFactory getMailQueueFactory() {
+    public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
         return mailQueueFactory;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
index 14990ed..500a0cd 100644
--- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
+++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
@@ -48,7 +48,7 @@ public class AbstractMailQueueFactoryTest {
     @Before
     public void setUp() {
         mBeanServer = mock(MBeanServer.class);
-        abstractMailQueueFactory = new AbstractMailQueueFactory() {
+        abstractMailQueueFactory = new AbstractMailQueueFactory<MailQueue>() {
             @Override
             protected MailQueue createMailQueue(String name) {
                 return new ManageableMailQueue() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/e1446527/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
index 716d472..b4322e4 100644
--- a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
+++ b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
@@ -46,9 +46,9 @@ import com.google.common.base.Objects;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
-public class MemoryMailQueueFactory implements MailQueueFactory {
+public class MemoryMailQueueFactory implements MailQueueFactory<ManageableMailQueue> {
 
-    private final ConcurrentHashMap<String, MailQueue> mailQueues;
+    private final ConcurrentHashMap<String, MemoryMailQueueFactory.MemoryMailQueue> mailQueues;
     private final MailQueueItemDecoratorFactory mailQueueItemDecoratorFactory;
 
     @Inject
@@ -58,7 +58,7 @@ public class MemoryMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public Set<MailQueue> listCreatedMailQueues() {
+    public Set<ManageableMailQueue> listCreatedMailQueues() {
         return ImmutableSet.copyOf(mailQueues.values());
     }
 


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


[10/10] james-project git commit: Merge remote-tracking branch 'aduprat/JAMES-2292-refactor'

Posted by ro...@apache.org.
Merge remote-tracking branch 'aduprat/JAMES-2292-refactor'


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

Branch: refs/heads/master
Commit: 558f86e7cab4b3589375cc6a023091e16733877c
Parents: 6c72ae8 d446275
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Tue Jan 23 17:39:29 2018 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Tue Jan 23 17:39:29 2018 +0100

----------------------------------------------------------------------
 .../CassandraMailboxSessionMapperFactory.java   |  2 -
 .../CassandraSubscriptionManagerTest.java       |  2 -
 .../james/transport/mailets/LogMessage.java     |  1 -
 .../server/core/InternetHeadersInputStream.java |  1 -
 .../apache/james/server/core/MailHeaders.java   |  3 -
 .../james/server/core/MimeMessageUtil.java      |  1 -
 .../james/server/core/MimeMessageWrapper.java   |  1 -
 .../james/server/core/MailHeadersTest.java      |  1 -
 .../modules/server/ActiveMQQueueModule.java     |  2 +-
 .../server/CamelMailetContainerModule.java      |  6 +-
 .../modules/server/MemoryMailQueueModule.java   | 11 ++-
 .../mailetcontainer/impl/JamesMailSpooler.java  |  6 +-
 .../impl/JamesMailetContext.java                |  5 +-
 .../impl/JamesMailetContextTest.java            |  5 +-
 .../james/transport/mailets/RemoteDelivery.java |  8 +-
 .../delivery/RemoteDeliveryRunningTest.java     |  5 +-
 .../remote/delivery/RemoteDeliveryTest.java     |  7 +-
 .../mailrepository/MailRepositoryContract.java  |  2 -
 .../apache/james/fetchmail/FetchScheduler.java  |  6 +-
 .../integration/SetMessagesMethodTest.java      |  1 -
 .../org/apache/james/jmap/send/MailSpool.java   |  4 +-
 .../apache/james/jmap/send/MailSpoolTest.java   |  2 +-
 .../james/smtpserver/SendMailHandler.java       |  6 +-
 .../apache/james/smtpserver/SMTPServerTest.java |  2 +-
 server/queue/queue-activemq/pom.xml             |  5 ++
 .../activemq/ActiveMQMailQueueFactory.java      |  4 +-
 .../activemq/ActiveMQMailQueueBlobTest.java     |  2 +-
 .../activemq/ActiveMQMailQueueFactoryTest.java  | 81 ++++++++++++++++----
 .../org/apache/james/queue/api/MailQueue.java   |  2 +-
 .../james/queue/api/MailQueueFactory.java       | 11 ++-
 .../queue/api/DelayedMailQueueContract.java     |  2 +-
 .../james/queue/api/MailQueueContract.java      |  1 -
 .../queue/api/MailQueueFactoryContract.java     | 62 +++++++++++----
 .../api/ManageableMailQueueFactoryContract.java | 45 +++++++++++
 .../apache/james/queue/file/FileMailQueue.java  |  2 +-
 .../james/queue/file/FileMailQueueFactory.java  | 43 ++++++-----
 .../queue/file/FileMailQueueFactoryTest.java    |  6 +-
 server/queue/queue-jms/pom.xml                  |  1 +
 .../apache/james/queue/jms/JMSMailQueue.java    |  2 +-
 .../james/queue/jms/JMSMailQueueFactory.java    |  6 +-
 .../queue/library/AbstractMailQueueFactory.java | 36 +++++----
 .../queue/jms/JMSMailQueueFactoryTest.java      | 10 ++-
 .../library/AbstractMailQueueFactoryTest.java   | 26 +++----
 .../queue/memory/MemoryMailQueueFactory.java    | 23 +++---
 .../memory/MemoryMailQueueFactoryTest.java      | 33 ++------
 .../james/utils/DiscreteDistributionTest.java   |  2 +-
 46 files changed, 310 insertions(+), 185 deletions(-)
----------------------------------------------------------------------



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


[03/10] james-project git commit: JAMES-2289 Use a Set to represent unicity in a collection

Posted by ro...@apache.org.
JAMES-2289 Use a Set to represent unicity in a collection


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

Branch: refs/heads/master
Commit: 69c124789e3f23e40aac2e8569c032fd38084b1b
Parents: 246ec6c
Author: Matthieu Baechler <ma...@apache.org>
Authored: Mon Jan 22 09:54:14 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 10:01:06 2018 +0100

----------------------------------------------------------------------
 .../java/org/apache/james/queue/api/MailQueueFactory.java    | 4 ++--
 .../org/apache/james/queue/file/FileMailQueueFactory.java    | 8 ++++----
 .../apache/james/queue/library/AbstractMailQueueFactory.java | 7 ++++---
 .../apache/james/queue/memory/MemoryMailQueueFactory.java    | 7 ++++---
 4 files changed, 14 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/69c12478/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
index 2bec132..401771b 100644
--- a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
+++ b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.queue.api;
 
-import java.util.List;
+import java.util.Set;
 
 /**
  * Factory for {@link MailQueue}
@@ -39,5 +39,5 @@ public interface MailQueueFactory {
      */
     MailQueue getQueue(String name);
 
-    List<MailQueue> getUsedMailQueues();
+    Set<MailQueue> getUsedMailQueues();
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/69c12478/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
index a65f9b7..78e38ea 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
@@ -20,8 +20,8 @@ package org.apache.james.queue.file;
 
 import java.io.IOException;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.inject.Inject;
 
@@ -30,7 +30,7 @@ import org.apache.james.queue.api.MailQueue;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
 
-import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
 
 /**
  * {@link MailQueueFactory} implementation which returns {@link FileMailQueue} instances
@@ -49,8 +49,8 @@ public class FileMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public List<MailQueue> getUsedMailQueues() {
-        return ImmutableList.copyOf(queues.values());
+    public Set<MailQueue> getUsedMailQueues() {
+        return ImmutableSet.copyOf(queues.values());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/69c12478/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
index 3e93292..a172fd6 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
@@ -38,7 +39,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
 
 /**
  * {@link MailQueueFactory} abstract base class which take care of register the
@@ -69,8 +70,8 @@ public abstract class AbstractMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public List<MailQueue> getUsedMailQueues() {
-        return ImmutableList.copyOf(queues.values());
+    public Set<MailQueue> getUsedMailQueues() {
+        return ImmutableSet.copyOf(queues.values());
     }
 
     @PreDestroy

http://git-wip-us.apache.org/repos/asf/james-project/blob/69c12478/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
index 05e92eb..7b9a335 100644
--- a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
+++ b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
@@ -20,9 +20,9 @@
 package org.apache.james.queue.memory;
 
 import java.util.Iterator;
-import java.util.List;
 import java.util.NoSuchElementException;
 import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.LinkedBlockingDeque;
 import java.util.concurrent.TimeUnit;
@@ -44,6 +44,7 @@ import com.github.fge.lambdas.Throwing;
 import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Objects;
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
 
 public class MemoryMailQueueFactory implements MailQueueFactory {
 
@@ -57,8 +58,8 @@ public class MemoryMailQueueFactory implements MailQueueFactory {
     }
 
     @Override
-    public List<MailQueue> getUsedMailQueues() {
-        return ImmutableList.copyOf(mailQueues.values());
+    public Set<MailQueue> getUsedMailQueues() {
+        return ImmutableSet.copyOf(mailQueues.values());
     }
 
     @Override


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


[05/10] james-project git commit: JAMES-2289 MailQueue.getMailQueueName is redundant, getName should be enough

Posted by ro...@apache.org.
JAMES-2289 MailQueue.getMailQueueName is redundant, getName should be enough


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

Branch: refs/heads/master
Commit: 246ec6ce75fbffc972c8967c748785e54726609f
Parents: da1ebe8
Author: Matthieu Baechler <ma...@apache.org>
Authored: Mon Jan 22 09:47:04 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 10:01:06 2018 +0100

----------------------------------------------------------------------
 .../transport/mailets/remote/delivery/RemoteDeliveryTest.java    | 2 +-
 .../src/main/java/org/apache/james/queue/api/MailQueue.java      | 2 +-
 .../org/apache/james/queue/api/MailQueueFactoryContract.java     | 4 ++--
 .../src/main/java/org/apache/james/queue/file/FileMailQueue.java | 2 +-
 .../src/main/java/org/apache/james/queue/jms/JMSMailQueue.java   | 2 +-
 .../apache/james/queue/library/AbstractMailQueueFactoryTest.java | 2 +-
 .../org/apache/james/queue/memory/MemoryMailQueueFactory.java    | 2 +-
 7 files changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/246ec6ce/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
index d21a338..4fad57d 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
@@ -61,7 +61,7 @@ public class RemoteDeliveryTest {
         }
 
         @Override
-        public String getMailQueueName() {
+        public String getName() {
             return name;
         }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/246ec6ce/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java
index cb88b9a..4dcf82b 100644
--- a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java
+++ b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java
@@ -62,7 +62,7 @@ public interface MailQueue {
      */
     int NO_DELAY = -1;
 
-    String getMailQueueName();
+    String getName();
 
     /**
      * Enqueue the Mail to the queue. The given delay and unit are used to

http://git-wip-us.apache.org/repos/asf/james-project/blob/246ec6ce/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
index f1c556f..7783a68 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/MailQueueFactoryContract.java
@@ -44,7 +44,7 @@ public interface MailQueueFactoryContract {
         mailQueueFactory.getQueue(NAME_2);
 
         assertThat(mailQueueFactory.getUsedMailQueues())
-            .extracting(MailQueue::getMailQueueName)
+            .extracting(MailQueue::getName)
             .containsOnly(NAME_1, NAME_2);
     }
 
@@ -56,7 +56,7 @@ public interface MailQueueFactoryContract {
         mailQueueFactory.getQueue(NAME_1);
 
         assertThat(mailQueueFactory.getUsedMailQueues())
-            .extracting(MailQueue::getMailQueueName)
+            .extracting(MailQueue::getName)
             .containsOnly(NAME_1);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/246ec6ce/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
index 373e8cf..5801f75 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
@@ -87,7 +87,7 @@ public class FileMailQueue implements ManageableMailQueue {
     }
 
     @Override
-    public String getMailQueueName() {
+    public String getName() {
         return queueName;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/246ec6ce/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
index 1583c85..bc12765 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
@@ -152,7 +152,7 @@ public class JMSMailQueue implements ManageableMailQueue, JMSSupport, MailPriori
     }
 
     @Override
-    public String getMailQueueName() {
+    public String getName() {
         return queueName;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/246ec6ce/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
index 2737e81..14990ed 100644
--- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
+++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java
@@ -54,7 +54,7 @@ public class AbstractMailQueueFactoryTest {
                 return new ManageableMailQueue() {
 
                     @Override
-                    public String getMailQueueName() {
+                    public String getName() {
                         return "name";
                     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/246ec6ce/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
index b72a02d..05e92eb 100644
--- a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
+++ b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java
@@ -87,7 +87,7 @@ public class MemoryMailQueueFactory implements MailQueueFactory {
         }
 
         @Override
-        public String getMailQueueName() {
+        public String getName() {
             return name;
         }
 


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


[09/10] james-project git commit: JAMES-2292 Correctly set up blob transfer when used with activeMQ

Posted by ro...@apache.org.
JAMES-2292 Correctly set up blob transfer when used with activeMQ

Also duplicate MailQueueFactoryTest for the various configurations


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

Branch: refs/heads/master
Commit: d44627522cec9e84533bb3576eab689fdc50a166
Parents: 2279d9b
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 23 11:32:08 2018 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 14:03:24 2018 +0100

----------------------------------------------------------------------
 .../activemq/ActiveMQMailQueueBlobTest.java     |  2 +-
 .../activemq/ActiveMQMailQueueFactoryTest.java  | 79 +++++++++++++++-----
 2 files changed, 63 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/d4462752/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
index 54002e1..0a66b43 100644
--- a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
+++ b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
@@ -150,7 +150,7 @@ public class ActiveMQMailQueueBlobTest implements DelayedManageableMailQueueCont
         return factory;
     }
 
-    private static final class MyFileSystem implements FileSystem {
+    public static final class MyFileSystem implements FileSystem {
         private static final Logger LOGGER = LoggerFactory.getLogger(MyFileSystem.class);
 
         @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/d4462752/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
index 7ac74a0..ef98473 100644
--- a/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
+++ b/server/queue/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueFactoryTest.java
@@ -32,29 +32,74 @@ import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.apache.james.queue.jms.BrokerExtension;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.extension.ExtendWith;
 
-@ExtendWith(BrokerExtension.class)
-public class ActiveMQMailQueueFactoryTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
+public class ActiveMQMailQueueFactoryTest {
 
-    private ActiveMQMailQueueFactory mailQueueFactory;
+    @Nested
+    @ExtendWith(BrokerExtension.class)
+    public static class ActiveMQMailQueueFactoryNoBlobsTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
+        ActiveMQMailQueueFactory mailQueueFactory;
 
-    @BeforeEach
-    public void setUp(BrokerService brokerService) {
-        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?create=false");
-        RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory();
-        NoopMetricFactory metricFactory = new NoopMetricFactory();
-        mailQueueFactory = new ActiveMQMailQueueFactory(connectionFactory, mailQueueItemDecoratorFactory, metricFactory);
-        mailQueueFactory.setUseJMX(false);
-    }
+        @BeforeEach
+        public void setUp(BrokerService brokerService) {
+            ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?create=false");
+            RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory();
+            NoopMetricFactory metricFactory = new NoopMetricFactory();
+            mailQueueFactory = new ActiveMQMailQueueFactory(connectionFactory, mailQueueItemDecoratorFactory, metricFactory);
+            mailQueueFactory.setUseJMX(false);
+            mailQueueFactory.setUseBlobMessages(false);
+        }
+
+        @AfterEach
+        public void tearDown() {
+            mailQueueFactory.destroy();
+        }
 
-    @AfterEach
-    public void tearDown() {
-        mailQueueFactory.destroy();
+        @Override
+        public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
+            return mailQueueFactory;
+        }
     }
 
-    @Override
-    public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
-        return mailQueueFactory;
+    @Nested
+    @ExtendWith(BrokerExtension.class)
+    public static class ActiveMQMailQueueFactoryBlobsTest implements MailQueueFactoryContract<ManageableMailQueue>, ManageableMailQueueFactoryContract {
+
+        static final String BASE_DIR = "file://target/james-test";
+
+        ActiveMQMailQueueFactory mailQueueFactory;
+        ActiveMQMailQueueBlobTest.MyFileSystem fileSystem;
+
+        @BeforeEach
+        public void setUp(BrokerService brokerService) {
+            fileSystem = new ActiveMQMailQueueBlobTest.MyFileSystem();
+            ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?create=false");
+
+
+            FileSystemBlobTransferPolicy policy = new FileSystemBlobTransferPolicy();
+            policy.setFileSystem(fileSystem);
+            policy.setDefaultUploadUrl(BASE_DIR);
+            connectionFactory.setBlobTransferPolicy(policy);
+
+            RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory();
+            NoopMetricFactory metricFactory = new NoopMetricFactory();
+            mailQueueFactory = new ActiveMQMailQueueFactory(connectionFactory, mailQueueItemDecoratorFactory, metricFactory);
+            mailQueueFactory.setUseJMX(false);
+            mailQueueFactory.setUseBlobMessages(true);
+        }
+
+        @AfterEach
+        public void tearDown() throws Exception {
+            mailQueueFactory.destroy();
+            fileSystem.destroy();
+        }
+
+        @Override
+        public MailQueueFactory<ManageableMailQueue> getMailQueueFactory() {
+            return mailQueueFactory;
+        }
     }
+
 }
\ No newline at end of file


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


[04/10] james-project git commit: JAMES-2289 common-text is used only for tests

Posted by ro...@apache.org.
JAMES-2289 common-text is used only for tests


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

Branch: refs/heads/master
Commit: da1ebe87610db89c2cf33768d79c19e8174949da
Parents: 0ae36b2
Author: Matthieu Baechler <ma...@apache.org>
Authored: Mon Jan 22 09:43:34 2018 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jan 23 10:01:06 2018 +0100

----------------------------------------------------------------------
 server/queue/queue-activemq/pom.xml | 5 +++++
 server/queue/queue-jms/pom.xml      | 1 +
 2 files changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/da1ebe87/server/queue/queue-activemq/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/pom.xml b/server/queue/queue-activemq/pom.xml
index f286a0f..1b045be 100644
--- a/server/queue/queue-activemq/pom.xml
+++ b/server/queue/queue-activemq/pom.xml
@@ -85,6 +85,11 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-text</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>javax.inject</groupId>
             <artifactId>javax.inject</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/da1ebe87/server/queue/queue-jms/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/pom.xml b/server/queue/queue-jms/pom.xml
index 9c5e23e..95a05ce 100644
--- a/server/queue/queue-jms/pom.xml
+++ b/server/queue/queue-jms/pom.xml
@@ -86,6 +86,7 @@
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-text</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>javax.inject</groupId>


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