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 bt...@apache.org on 2019/01/17 06:50:24 UTC

[08/27] james-project git commit: JAMES-2641 IMAP components should use the EventBus directly

JAMES-2641 IMAP components should use the EventBus directly

This enables the MailboxManager to no more be an EventBus proxy


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

Branch: refs/heads/master
Commit: 4c14a757d46267827932474f17870aea50745971
Parents: f398e3f
Author: Benoit Tellier <bt...@linagora.com>
Authored: Thu Jan 10 15:57:25 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Thu Jan 17 10:23:41 2019 +0700

----------------------------------------------------------------------
 .../james/mailbox/MailboxManagerStressTest.java       | 13 ++++++++-----
 .../cassandra/CassandraMailboxManagerStressTest.java  | 12 ++++++++----
 .../mailbox/jpa/JpaMailboxManagerStressTest.java      | 14 +++++++++-----
 .../DomainUserMaildirMailboxManagerStressTest.java    | 11 ++++++++---
 .../FullUserMaildirMailboxManagerStressTest.java      | 12 ++++++++----
 .../maildir/UserMaildirMailboxManagerStressTest.java  | 12 ++++++++----
 .../inmemory/MemoryMailboxManagerStressTest.java      | 12 ++++++++----
 7 files changed, 57 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
index d769815..12dcce1 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
@@ -31,6 +31,8 @@ import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import org.apache.james.mailbox.events.EventBus;
+import org.apache.james.mailbox.events.MailboxIdRegistrationKey;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.ComposedMessageId;
 import org.apache.james.mailbox.model.MailboxId;
@@ -41,14 +43,15 @@ import org.junit.Test;
 
 import com.google.common.collect.ImmutableSet;
 
-public abstract class MailboxManagerStressTest {
+public abstract class MailboxManagerStressTest<T extends MailboxManager> {
 
     private static final int APPEND_OPERATIONS = 200;
 
-    private MailboxManager mailboxManager;
+    private T mailboxManager;
 
-    protected abstract MailboxManager provideManager() throws MailboxException;
+    protected abstract T provideManager() throws MailboxException;
 
+    protected abstract EventBus retrieveEventBus(T mailboxManager);
     
     public void setUp() throws Exception {
         this.mailboxManager = provideManager();
@@ -66,11 +69,11 @@ public abstract class MailboxManagerStressTest {
         mailboxManager.startProcessingRequest(session);
         MailboxPath path = MailboxPath.forUser(username, "INBOX");
         MailboxId mailboxId = mailboxManager.createMailbox(path, session).get();
-        mailboxManager.register(
+        retrieveEventBus(mailboxManager).register(
             event -> {
                 MessageUid u = ((MailboxListener.Added) event).getUids().iterator().next();
                 uList.add(u);
-            }, mailboxId);
+            }, new MailboxIdRegistrationKey(mailboxId));
         mailboxManager.endProcessingRequest(session);
         mailboxManager.logout(session, false);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
index 75b7b3c..94d3092 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
@@ -21,16 +21,16 @@ package org.apache.james.mailbox.cassandra;
 
 import org.apache.james.backends.cassandra.CassandraCluster;
 import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxManagerStressTest;
 import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
+import org.apache.james.mailbox.events.EventBus;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
 
-public class CassandraMailboxManagerStressTest extends MailboxManagerStressTest {
+public class CassandraMailboxManagerStressTest extends MailboxManagerStressTest<CassandraMailboxManager> {
     
     @ClassRule public static DockerCassandraRule cassandraServer = new DockerCassandraRule();
 
@@ -47,13 +47,17 @@ public class CassandraMailboxManagerStressTest extends MailboxManagerStressTest
     }
     
     @Override
-    protected MailboxManager provideManager() {
+    protected CassandraMailboxManager provideManager() {
         return CassandraMailboxManagerProvider.provideMailboxManager(cassandra.getConf(), cassandra.getTypesProvider());
     }
 
+    @Override
+    protected EventBus retrieveEventBus(CassandraMailboxManager mailboxManager) {
+        return mailboxManager.getEventBus();
+    }
 
     @After
-    public void tearDown() throws Exception {
+    public void tearDown() {
         cassandra.clearTables();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java
index 758bd66..f3a262a 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java
@@ -22,14 +22,13 @@ package org.apache.james.mailbox.jpa;
 import java.util.Optional;
 
 import org.apache.james.backends.jpa.JpaTestCluster;
-import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxManagerStressTest;
-import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.events.EventBus;
 import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager;
 import org.junit.After;
 import org.junit.Before;
 
-public class JpaMailboxManagerStressTest extends MailboxManagerStressTest {
+public class JpaMailboxManagerStressTest extends MailboxManagerStressTest<OpenJPAMailboxManager> {
 
     private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES);
     private Optional<OpenJPAMailboxManager> openJPAMailboxManager = Optional.empty();
@@ -41,15 +40,20 @@ public class JpaMailboxManagerStressTest extends MailboxManagerStressTest {
     }
     
     @Override
-    protected MailboxManager provideManager() {
+    protected OpenJPAMailboxManager provideManager() {
         if (!openJPAMailboxManager.isPresent()) {
             openJPAMailboxManager = Optional.of(JpaMailboxManagerProvider.provideMailboxManager(JPA_TEST_CLUSTER));
         }
         return openJPAMailboxManager.get();
     }
 
+    @Override
+    protected EventBus retrieveEventBus(OpenJPAMailboxManager mailboxManager) {
+        return mailboxManager.getEventBus();
+    }
+
     @After
-    public void tearDown() throws MailboxException {
+    public void tearDown() {
         JPA_TEST_CLUSTER.clear(JPAMailboxFixture.MAILBOX_TABLE_NAMES);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java
index 6e385e2..aaa895c 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java
@@ -19,13 +19,14 @@
 
 package org.apache.james.mailbox.maildir;
 
-import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxManagerStressTest;
+import org.apache.james.mailbox.events.EventBus;
+import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.rules.TemporaryFolder;
 
-public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest {
+public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> {
     @Rule
     public TemporaryFolder tmpFolder = new TemporaryFolder();
     
@@ -36,7 +37,7 @@ public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStr
     }
     
     @Override
-    protected MailboxManager provideManager() {
+    protected StoreMailboxManager provideManager() {
         try {
             return MaildirMailboxManagerProvider.createMailboxManager("/%domain/%user", tmpFolder);
         } catch (Exception e) {
@@ -44,4 +45,8 @@ public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStr
         }
     }
 
+    @Override
+    protected EventBus retrieveEventBus(StoreMailboxManager mailboxManager) {
+        return mailboxManager.getEventBus();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java
index dafe7e0..5eacedc 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java
@@ -19,13 +19,14 @@
 
 package org.apache.james.mailbox.maildir;
 
-import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxManagerStressTest;
+import org.apache.james.mailbox.events.EventBus;
+import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.rules.TemporaryFolder;
 
-public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest {
+public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> {
     @Rule
     public TemporaryFolder tmpFolder = new TemporaryFolder();
     
@@ -36,7 +37,7 @@ public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStres
     }
     
     @Override
-    protected MailboxManager provideManager() {
+    protected StoreMailboxManager provideManager() {
         try {
             return MaildirMailboxManagerProvider.createMailboxManager("/%fulluser", tmpFolder);
         } catch (Exception e) {
@@ -44,5 +45,8 @@ public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStres
         }
     }
 
-
+    @Override
+    protected EventBus retrieveEventBus(StoreMailboxManager mailboxManager) {
+        return mailboxManager.getEventBus();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java
index 05f55fe..457f12d 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java
@@ -19,13 +19,14 @@
 
 package org.apache.james.mailbox.maildir;
 
-import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxManagerStressTest;
+import org.apache.james.mailbox.events.EventBus;
+import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.rules.TemporaryFolder;
 
-public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTest {
+public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> {
     @Rule
     public TemporaryFolder tmpFolder = new TemporaryFolder();
     
@@ -36,7 +37,7 @@ public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTes
     }
     
     @Override
-    protected MailboxManager provideManager() {
+    protected StoreMailboxManager provideManager() {
         try {
             return MaildirMailboxManagerProvider.createMailboxManager("/%user", tmpFolder);
         } catch (Exception e) {
@@ -44,5 +45,8 @@ public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTes
         }
     }
 
-
+    @Override
+    protected EventBus retrieveEventBus(StoreMailboxManager mailboxManager) {
+        return mailboxManager.getEventBus();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java
index bc0f1e3..f264ef3 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java
@@ -19,12 +19,11 @@
 
 package org.apache.james.mailbox.inmemory;
 
-import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxManagerStressTest;
-import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.events.EventBus;
 import org.junit.Before;
 
-public class MemoryMailboxManagerStressTest extends MailboxManagerStressTest {
+public class MemoryMailboxManagerStressTest extends MailboxManagerStressTest<InMemoryMailboxManager> {
     
     @Override
     @Before
@@ -33,7 +32,12 @@ public class MemoryMailboxManagerStressTest extends MailboxManagerStressTest {
     }
     
     @Override
-    protected MailboxManager provideManager() throws MailboxException {
+    protected InMemoryMailboxManager provideManager() {
         return MemoryMailboxManagerProvider.provideMailboxManager();
     }
+
+    @Override
+    protected EventBus retrieveEventBus(InMemoryMailboxManager mailboxManager) {
+        return mailboxManager.getEventBus();
+    }
 }


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