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