JAMES-2242 Improve Guice memory module composition

Inclusions should not be done by default to give more options for composition


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

Branch: refs/heads/master
Commit: 2a5f46b2d7e54bba3ef6ceb301d171dc4aa2c5b2
Parents: 70ec6ca
Author: benwa <btell...@linagora.com>
Authored: Thu Nov 30 16:27:58 2017 +0700
Committer: Antoine Duprat <adup...@linagora.com>
Committed: Mon Dec 4 14:42:21 2017 +0100

----------------------------------------------------------------------
 .../org/apache/james/MemoryJamesServerMain.java | 47 ++++++++++++--------
 .../org/apache/james/MemoryJmapTestRule.java    |  2 +-
 .../james/mailets/TemporaryJamesServer.java     |  2 +-
 3 files changed, 30 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2a5f46b2/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java
 
b/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java
index 2cb650d..98fe669 100644
--- 
a/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java
+++ 
b/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java
@@ -19,6 +19,7 @@
 
 package org.apache.james;
 
+import org.apache.james.jmap.send.PostDequeueDecoratorFactory;
 import org.apache.james.modules.MailboxModule;
 import org.apache.james.modules.data.MemoryDataJmapModule;
 import org.apache.james.modules.data.MemoryDataModule;
@@ -36,6 +37,7 @@ import org.apache.james.modules.server.MailboxRoutesModule;
 import org.apache.james.modules.server.MemoryMailQueueModule;
 import org.apache.james.modules.server.SwaggerRoutesModule;
 import org.apache.james.modules.server.WebAdminServerModule;
+import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
 
 import com.google.inject.Module;
 import com.google.inject.util.Modules;
@@ -43,32 +45,39 @@ import com.google.inject.util.Modules;
 public class MemoryJamesServerMain {
 
     public static final Module webadmin = Modules.combine(
-            new WebAdminServerModule(),
-            new DataRoutesModules(),
-            new MailboxRoutesModule(),
-            new SwaggerRoutesModule());
+        new WebAdminServerModule(),
+        new DataRoutesModules(),
+        new MailboxRoutesModule(),
+        new SwaggerRoutesModule());
 
     public static final Module protocols = Modules.combine(
-            new IMAPServerModule(),
-            new JMAPServerModule(),
-            new LMTPServerModule(),
-            new ManageSieveServerModule(),
-            new POP3ServerModule(),
-            new ProtocolHandlerModule(),
-            new SMTPServerModule(),
-            webadmin);
+        new IMAPServerModule(),
+        new LMTPServerModule(),
+        new ManageSieveServerModule(),
+        new POP3ServerModule(),
+        new ProtocolHandlerModule(),
+        new SMTPServerModule());
+
+    public static final Module jmap = Modules.combine(
+        new MemoryDataJmapModule(),
+        new JMAPServerModule(),
+        binder -> 
binder.bind(MailQueueItemDecoratorFactory.class).to(PostDequeueDecoratorFactory.class));
 
     public static final Module inMemoryServerModule = Modules.combine(
-            new MemoryDataModule(),
-            new MemoryDataJmapModule(),
-            new MemoryMailboxModule(),
-            new MemoryMailQueueModule(),
-            new MailboxModule(),
-            protocols);
+        new MemoryDataModule(),
+        new MemoryMailboxModule(),
+        new MemoryMailQueueModule(),
+        new MailboxModule());
+
+    public static final Module inMemoryServerAggregateModule = Modules.combine(
+        inMemoryServerModule,
+        protocols,
+        jmap,
+        webadmin);
 
     public static void main(String[] args) throws Exception {
         new GuiceJamesServer()
-            .combineWith(inMemoryServerModule, new JMXServerModule())
+            .combineWith(inMemoryServerAggregateModule, new JMXServerModule())
             .start();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2a5f46b2/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapTestRule.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapTestRule.java
 
b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapTestRule.java
index 0aadadb..97c1e27 100644
--- 
a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapTestRule.java
+++ 
b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapTestRule.java
@@ -42,7 +42,7 @@ public class MemoryJmapTestRule implements TestRule {
 
     public GuiceJamesServer jmapServer(Module... modules) {
         return new GuiceJamesServer()
-            .combineWith(MemoryJamesServerMain.inMemoryServerModule)
+            .combineWith(MemoryJamesServerMain.inMemoryServerAggregateModule)
             .overrideWith(modules)
             .overrideWith(new TestFilesystemModule(temporaryFolder),
                 new TestJMAPServerModule(LIMIT_TO_3_MESSAGES))

http://git-wip-us.apache.org/repos/asf/james-project/blob/2a5f46b2/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java
index 7ed7d5d..3ebaa1e 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java
@@ -54,7 +54,7 @@ public class TemporaryJamesServer {
         appendMailetConfigurations(temporaryFolder, mailetContainer);
 
         jamesServer = new GuiceJamesServer()
-            .combineWith(MemoryJamesServerMain.inMemoryServerModule)
+            .combineWith(MemoryJamesServerMain.inMemoryServerAggregateModule)
             .overrideWith((binder) -> 
binder.bind(PersistenceAdapter.class).to(MemoryPersistenceAdapter.class))
             .overrideWith(additionalModules)
             .overrideWith(new TestJMAPServerModule(LIMIT_TO_3_MESSAGES))


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

Reply via email to