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/15 03:21:51 UTC

[16/30] james-project git commit: JAMES-2641 MailboxAnnotationListener should depend on SessionProvider

JAMES-2641 MailboxAnnotationListener should depend on SessionProvider

Again this breaks a dependency loop


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

Branch: refs/heads/master
Commit: eb2d2cc3e30c98ae02e34270cda8eac2217c18c3
Parents: 14ca4fe
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Jan 8 17:29:32 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 15 10:10:04 2019 +0700

----------------------------------------------------------------------
 .../apache/james/mailbox/store/StoreMailboxManager.java   |  2 +-
 .../mailbox/store/event/MailboxAnnotationListener.java    | 10 +++++-----
 .../store/event/MailboxAnnotationListenerTest.java        |  8 ++++----
 3 files changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/eb2d2cc3/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index 388c81b..7fd17cf 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -174,7 +174,7 @@ public class StoreMailboxManager implements MailboxManager {
             this.addGlobalListener((MailboxListener) quotaUpdater, session);
         }
         if (hasCapability(MailboxCapabilities.Annotation)) {
-            this.addGlobalListener(new MailboxAnnotationListener(mailboxSessionMapperFactory, this), session);
+            this.addGlobalListener(new MailboxAnnotationListener(mailboxSessionMapperFactory, sessionProvider), session);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/eb2d2cc3/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
index b64dd6d..2514a40 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
@@ -24,12 +24,12 @@ import javax.inject.Inject;
 
 import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
-import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxAnnotation;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.SessionProvider;
 import org.apache.james.mailbox.store.mail.AnnotationMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -37,12 +37,12 @@ import org.slf4j.LoggerFactory;
 public class MailboxAnnotationListener implements MailboxListener {
     private static final Logger logger = LoggerFactory.getLogger(MailboxAnnotationListener.class);
     private final MailboxSessionMapperFactory mailboxSessionMapperFactory;
-    private final MailboxManager mailboxManager;
+    private final SessionProvider sessionProvider;
 
     @Inject
-    public MailboxAnnotationListener(MailboxSessionMapperFactory mailboxSessionMapperFactory, MailboxManager mailboxManager) {
+    public MailboxAnnotationListener(MailboxSessionMapperFactory mailboxSessionMapperFactory, SessionProvider sessionProvider) {
         this.mailboxSessionMapperFactory = mailboxSessionMapperFactory;
-        this.mailboxManager = mailboxManager;
+        this.sessionProvider = sessionProvider;
     }
     
     @Override
@@ -54,7 +54,7 @@ public class MailboxAnnotationListener implements MailboxListener {
     public void event(Event event) {
         if (event instanceof MailboxDeletion) {
             try {
-                MailboxSession mailboxSession = mailboxManager.createSystemSession(event.getUser().asString());
+                MailboxSession mailboxSession = sessionProvider.createSystemSession(event.getUser().asString());
                 AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(mailboxSession);
                 MailboxId mailboxId = ((MailboxDeletion) event).getMailboxId();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/eb2d2cc3/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java
index 13efd68..394b008 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java
@@ -32,7 +32,6 @@ import org.apache.james.core.quota.QuotaCount;
 import org.apache.james.core.quota.QuotaSize;
 import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
-import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MailboxSessionUtil;
 import org.apache.james.mailbox.model.MailboxAnnotation;
@@ -42,6 +41,7 @@ import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.QuotaRoot;
 import org.apache.james.mailbox.model.TestId;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.SessionProvider;
 import org.apache.james.mailbox.store.mail.AnnotationMapper;
 import org.junit.Before;
 import org.junit.Test;
@@ -63,7 +63,7 @@ public class MailboxAnnotationListenerTest {
     public static final int UID_VALIDITY = 145;
     public static final TestId MAILBOX_ID = TestId.of(45);
 
-    @Mock private MailboxManager mailboxManager;
+    @Mock private SessionProvider sessionProvider;
     @Mock private MailboxSessionMapperFactory mailboxSessionMapperFactory;
     @Mock private AnnotationMapper annotationMapper;
     @Mock private MailboxId mailboxId;
@@ -76,7 +76,7 @@ public class MailboxAnnotationListenerTest {
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
         mailboxSession = MailboxSessionUtil.create("test");
-        listener = new MailboxAnnotationListener(mailboxSessionMapperFactory, mailboxManager);
+        listener = new MailboxAnnotationListener(mailboxSessionMapperFactory, sessionProvider);
 
         deleteEvent = EventFactory.mailboxDeleted()
             .randomEventId()
@@ -88,7 +88,7 @@ public class MailboxAnnotationListenerTest {
             .quotaSize(QuotaSize.size(456))
             .build();
 
-        when(mailboxManager.createSystemSession(deleteEvent.getUser().asString()))
+        when(sessionProvider.createSystemSession(deleteEvent.getUser().asString()))
             .thenReturn(mailboxSession);
         when(mailboxSessionMapperFactory.getAnnotationMapper(eq(mailboxSession))).thenReturn(annotationMapper);
     }


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