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:54 UTC
[19/30] james-project git commit: JAMES-2641 Extract Session
management from StoreMailboxManager
JAMES-2641 Extract Session management from StoreMailboxManager
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/90af6143
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/90af6143
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/90af6143
Branch: refs/heads/master
Commit: 90af61430ff4f4067adc7fbd0b06c026e424baf9
Parents: aeffba8
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Jan 8 12:03:30 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 15 10:10:04 2019 +0700
----------------------------------------------------------------------
.../cassandra/CassandraMailboxManager.java | 8 +-
.../CassandraMailboxManagerProvider.java | 5 +-
.../cassandra/CassandraTestSystemFixture.java | 4 +-
.../CassandraMailboxManagerAttachmentTest.java | 8 +-
.../james/mailbox/jpa/JPAMailboxManager.java | 8 +-
.../jpa/openjpa/OpenJPAMailboxManager.java | 8 +-
.../mailbox/jpa/JpaMailboxManagerProvider.java | 4 +-
.../maildir/MaildirMailboxManagerProvider.java | 7 +-
.../inmemory/InMemoryMailboxManager.java | 7 +-
.../InMemoryMailboxManagerAttachmentTest.java | 7 +-
.../manager/InMemoryIntegrationResources.java | 11 +-
.../InMemoryMessageIdManagerSideEffectTest.java | 5 +-
.../james/mailbox/store/SessionProvider.java | 107 +++++++++++++++++++
.../mailbox/store/StoreMailboxManager.java | 81 ++------------
.../mailbox/store/StoreMailboxManagerTest.java | 5 +-
.../cassandra/host/CassandraHostSystem.java | 4 +-
.../mpt/imapmailbox/jpa/host/JPAHostSystem.java | 4 +-
.../host/LuceneSearchHostSystem.java | 5 +-
.../maildir/host/MaildirHostSystem.java | 7 +-
19 files changed, 180 insertions(+), 115 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
index e539e57..9dc55dd 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
@@ -29,9 +29,8 @@ import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.model.MailboxACL;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageId;
-import org.apache.james.mailbox.store.Authenticator;
-import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.MailboxManagerConfiguration;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreMessageManager;
@@ -59,14 +58,13 @@ public class CassandraMailboxManager extends StoreMailboxManager {
private final CassandraMailboxSessionMapperFactory mapperFactory;
@Inject
- public CassandraMailboxManager(CassandraMailboxSessionMapperFactory mapperFactory, Authenticator authenticator, Authorizator authorizator,
+ public CassandraMailboxManager(CassandraMailboxSessionMapperFactory mapperFactory, SessionProvider sessionProvider,
MailboxPathLocker locker, MessageParser messageParser,
MessageId.Factory messageIdFactory, DelegatingMailboxListener delegatingMailboxListener,
StoreMailboxAnnotationManager annotationManager, StoreRightManager storeRightManager,
MailboxManagerConfiguration configuration) {
super(mapperFactory,
- authenticator,
- authorizator,
+ sessionProvider,
locker,
messageParser,
messageIdFactory,
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java
index 122b211..c6e8cbb 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java
@@ -36,6 +36,7 @@ import org.apache.james.mailbox.store.Authenticator;
import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.MailboxManagerConfiguration;
import org.apache.james.mailbox.store.NoMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
import org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener;
@@ -69,7 +70,9 @@ public class CassandraMailboxManagerProvider {
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mapperFactory, storeRightManager,
LIMIT_ANNOTATIONS, LIMIT_ANNOTATION_SIZE);
- CassandraMailboxManager manager = new CassandraMailboxManager(mapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(),
+ SessionProvider sessionProvider = new SessionProvider(noAuthenticator, noAuthorizator);
+
+ CassandraMailboxManager manager = new CassandraMailboxManager(mapperFactory, sessionProvider, new NoMailboxPathLocker(),
messageParser, messageIdFactory, delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
CassandraPerUserMaxQuotaManager maxQuotaManager = new CassandraPerUserMaxQuotaManager(new CassandraPerUserMaxQuotaDao(session),
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
index 51d937f..4cc4470 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
@@ -37,6 +37,7 @@ import org.apache.james.mailbox.store.Authenticator;
import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.MailboxManagerConfiguration;
import org.apache.james.mailbox.store.NoMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMessageIdManager;
import org.apache.james.mailbox.store.StoreRightManager;
@@ -64,7 +65,8 @@ public class CassandraTestSystemFixture {
StoreRightManager storeRightManager = new StoreRightManager(mapperFactory, new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), delegatingMailboxListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mapperFactory, storeRightManager);
- CassandraMailboxManager cassandraMailboxManager = new CassandraMailboxManager(mapperFactory, mock(Authenticator.class), mock(Authorizator.class),
+ SessionProvider sessionProvider = new SessionProvider(mock(Authenticator.class), mock(Authorizator.class));
+ CassandraMailboxManager cassandraMailboxManager = new CassandraMailboxManager(mapperFactory, sessionProvider,
new NoMailboxPathLocker(), new MessageParser(), new CassandraMessageId.Factory(),
delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
cassandraMailboxManager.init();
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
index ceffb79..6a0e60b 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
@@ -37,6 +37,7 @@ import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.MailboxManagerConfiguration;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
import org.apache.james.mailbox.store.NoMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
import org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener;
@@ -91,14 +92,15 @@ public class CassandraMailboxManagerAttachmentTest extends AbstractMailboxManage
StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), delegatingMailboxListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager);
- mailboxManager = new CassandraMailboxManager(mailboxSessionMapperFactory,
- noAuthenticator, noAuthorizator, new NoMailboxPathLocker(), new MessageParser(),
+ SessionProvider sessionProvider = new SessionProvider(noAuthenticator, noAuthorizator);
+
+ mailboxManager = new CassandraMailboxManager(mailboxSessionMapperFactory, sessionProvider, new NoMailboxPathLocker(), new MessageParser(),
messageIdFactory, delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
mailboxManager.init();
MessageParser failingMessageParser = mock(MessageParser.class);
when(failingMessageParser.retrieveAttachments(any()))
.thenThrow(new RuntimeException("Message parser set to fail"));
- parseFailingMailboxManager = new CassandraMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator,
+ parseFailingMailboxManager = new CassandraMailboxManager(mailboxSessionMapperFactory, sessionProvider,
new NoMailboxPathLocker(), failingMessageParser, messageIdFactory,
delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
parseFailingMailboxManager.init();
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
index 8b581ed..c3af7db 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
@@ -27,9 +27,8 @@ import org.apache.james.mailbox.jpa.mail.JPAMailboxMapper;
import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageId;
-import org.apache.james.mailbox.store.Authenticator;
-import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.MailboxManagerConfiguration;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreRightManager;
@@ -49,15 +48,14 @@ public abstract class JPAMailboxManager extends StoreMailboxManager {
MailboxCapabilities.Annotation);
public JPAMailboxManager(JPAMailboxSessionMapperFactory mailboxSessionMapperFactory,
- Authenticator authenticator,
- Authorizator authorizator,
+ SessionProvider sessionProvider,
MailboxPathLocker locker,
MessageParser messageParser,
MessageId.Factory messageIdFactory,
DelegatingMailboxListener delegatingMailboxListener,
StoreMailboxAnnotationManager annotationManager,
StoreRightManager storeRightManager) {
- super(mailboxSessionMapperFactory, authenticator, authorizator, locker,
+ super(mailboxSessionMapperFactory, sessionProvider, locker,
messageParser, messageIdFactory, annotationManager,
delegatingMailboxListener, storeRightManager, MailboxManagerConfiguration.DEFAULT);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java
index 121dc9d..bedd47f 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java
@@ -26,9 +26,8 @@ import org.apache.james.mailbox.jpa.JPAMailboxManager;
import org.apache.james.mailbox.jpa.JPAMailboxSessionMapperFactory;
import org.apache.james.mailbox.jpa.openjpa.OpenJPAMessageManager.AdvancedFeature;
import org.apache.james.mailbox.model.MessageId;
-import org.apache.james.mailbox.store.Authenticator;
-import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMessageManager;
import org.apache.james.mailbox.store.StoreRightManager;
@@ -44,14 +43,13 @@ public class OpenJPAMailboxManager extends JPAMailboxManager {
@Inject
public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory,
- Authenticator authenticator,
- Authorizator authorizator,
+ SessionProvider sessionProvider,
MessageParser messageParser,
MessageId.Factory messageIdFactory,
DelegatingMailboxListener delegatingMailboxListener,
StoreMailboxAnnotationManager annotationManager,
StoreRightManager storeRightManager) {
- super(mapperFactory, authenticator, authorizator, new JVMMailboxPathLocker(), messageParser,
+ super(mapperFactory, sessionProvider, new JVMMailboxPathLocker(), messageParser,
messageIdFactory, delegatingMailboxListener, annotationManager, storeRightManager);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java
index c66a734..960db5e 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java
@@ -33,6 +33,7 @@ import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager;
import org.apache.james.mailbox.store.Authenticator;
import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
import org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener;
@@ -59,7 +60,8 @@ public class JpaMailboxManagerProvider {
StoreRightManager storeRightManager = new StoreRightManager(mf, aclResolver, groupMembershipResolver, delegatingListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mf, storeRightManager,
LIMIT_ANNOTATIONS, LIMIT_ANNOTATION_SIZE);
- OpenJPAMailboxManager openJPAMailboxManager = new OpenJPAMailboxManager(mf, noAuthenticator, noAuthorizator,
+ SessionProvider sessionProvider = new SessionProvider(noAuthenticator, noAuthorizator);
+ OpenJPAMailboxManager openJPAMailboxManager = new OpenJPAMailboxManager(mf, sessionProvider,
messageParser, new DefaultMessageId.Factory(),
delegatingListener, annotationManager,
storeRightManager);
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerProvider.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerProvider.java
index 2d5165c..c071e39 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerProvider.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerProvider.java
@@ -30,6 +30,8 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.store.Authenticator;
import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
+import org.apache.james.mailbox.store.MailboxManagerConfiguration;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreRightManager;
@@ -55,10 +57,11 @@ public class MaildirMailboxManagerProvider {
Authenticator noAuthenticator = null;
Authorizator noAuthorizator = null;
+ SessionProvider sessionProvider = new SessionProvider(noAuthenticator, noAuthorizator);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mf, storeRightManager);
- StoreMailboxManager manager = new StoreMailboxManager(mf, noAuthenticator, noAuthorizator, new JVMMailboxPathLocker(),
- messageParser, new DefaultMessageId.Factory(), annotationManager, delegatingListener, storeRightManager);
+ StoreMailboxManager manager = new StoreMailboxManager(mf, sessionProvider, new JVMMailboxPathLocker(),
+ messageParser, new DefaultMessageId.Factory(), annotationManager, delegatingListener, storeRightManager, MailboxManagerConfiguration.DEFAULT);
manager.init();
return manager;
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java
index 4326f6a..9fc1763 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java
@@ -26,10 +26,9 @@ import javax.inject.Inject;
import org.apache.james.mailbox.MailboxPathLocker;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.model.MessageId;
-import org.apache.james.mailbox.store.Authenticator;
-import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.MailboxManagerConfiguration;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreMessageManager;
@@ -50,12 +49,12 @@ public class InMemoryMailboxManager extends StoreMailboxManager {
public static final EnumSet<MessageCapabilities> MESSAGE_CAPABILITIES = EnumSet.of(MessageCapabilities.UniqueID);
@Inject
- public InMemoryMailboxManager(MailboxSessionMapperFactory mailboxSessionMapperFactory, Authenticator authenticator, Authorizator authorizator,
+ public InMemoryMailboxManager(MailboxSessionMapperFactory mailboxSessionMapperFactory, SessionProvider sessionProvider,
MailboxPathLocker locker, MessageParser messageParser, MessageId.Factory messageIdFactory,
DelegatingMailboxListener delegatingMailboxListener,
StoreMailboxAnnotationManager annotationManager,
StoreRightManager storeRightManager) {
- super(mailboxSessionMapperFactory, authenticator, authorizator, locker, messageParser, messageIdFactory,
+ super(mailboxSessionMapperFactory, sessionProvider, locker, messageParser, messageIdFactory,
annotationManager, delegatingMailboxListener, storeRightManager, MailboxManagerConfiguration.DEFAULT);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java
index 8217e54..11cb4b6 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java
@@ -37,6 +37,7 @@ import org.apache.james.mailbox.store.Authenticator;
import org.apache.james.mailbox.store.Authorizator;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
import org.apache.james.mailbox.store.NoMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
import org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener;
@@ -63,14 +64,16 @@ public class InMemoryMailboxManagerAttachmentTest extends AbstractMailboxManager
UnionMailboxACLResolver aclResolver = new UnionMailboxACLResolver();
StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, aclResolver, groupMembershipResolver, delegatingListener);
+ SessionProvider sessionProvider = new SessionProvider(noAuthenticator, noAuthorizator);
+
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager);
- mailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(),
+ mailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, sessionProvider, new NoMailboxPathLocker(),
new MessageParser(), messageIdFactory, delegatingListener, annotationManager, storeRightManager);
mailboxManager.init();
MessageParser failingMessageParser = mock(MessageParser.class);
when(failingMessageParser.retrieveAttachments(any(InputStream.class)))
.thenThrow(new RuntimeException("Message parser set to fail"));
- parseFailingMailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(),
+ parseFailingMailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, sessionProvider, new NoMailboxPathLocker(),
failingMessageParser, messageIdFactory, delegatingListener, annotationManager, storeRightManager);
parseFailingMailboxManager.init();
super.setUp();
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java
index 829ef92..3df7a75 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java
@@ -43,6 +43,7 @@ import org.apache.james.mailbox.store.FakeAuthenticator;
import org.apache.james.mailbox.store.FakeAuthorizator;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
import org.apache.james.mailbox.store.NoMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreMessageIdManager;
@@ -145,10 +146,11 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
StoreMailboxAnnotationManager annotationManager = annotationManagerBiFunction
.apply(storeRightManager, mailboxSessionMapperFactory);
+ SessionProvider sessionProvider = new SessionProvider(fakeAuthenticator, FakeAuthorizator.defaultReject());
+
InMemoryMailboxManager manager = new InMemoryMailboxManager(
mailboxSessionMapperFactory,
- fakeAuthenticator,
- FakeAuthorizator.defaultReject(),
+ sessionProvider,
new JVMMailboxPathLocker(),
new MessageParser(),
new InMemoryMessageId.Factory(),
@@ -179,10 +181,11 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), groupMembershipResolver, delegatingListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager);
+ SessionProvider sessionProvider = new SessionProvider(authenticator, authorizator);
+
StoreMailboxManager manager = new InMemoryMailboxManager(
mailboxSessionMapperFactory,
- authenticator,
- authorizator,
+ sessionProvider,
new NoMailboxPathLocker(),
new MessageParser(),
new InMemoryMessageId.Factory(),
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java
index 329181d..dcddfbd 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java
@@ -31,6 +31,7 @@ import org.apache.james.mailbox.store.FakeAuthenticator;
import org.apache.james.mailbox.store.FakeAuthorizator;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
import org.apache.james.mailbox.store.MessageIdManagerTestSystem;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMessageIdManager;
import org.apache.james.mailbox.store.StoreRightManager;
@@ -59,9 +60,9 @@ public class InMemoryMessageIdManagerSideEffectTest extends AbstractMessageIdMan
StoreRightManager rightManager = new StoreRightManager(mapperFactory, new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), delegatingMailboxListener);
JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory();
+ SessionProvider sessionProvider = new SessionProvider(fakeAuthenticator, fakeAuthorizator);
InMemoryMailboxManager mailboxManager = new InMemoryMailboxManager(mapperFactory,
- fakeAuthenticator,
- fakeAuthorizator,
+ sessionProvider,
locker,
new MessageParser(),
messageIdFactory,
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/store/src/main/java/org/apache/james/mailbox/store/SessionProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SessionProvider.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SessionProvider.java
new file mode 100644
index 0000000..992ad15
--- /dev/null
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SessionProvider.java
@@ -0,0 +1,107 @@
+/****************************************************************
+ * 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.mailbox.store;
+
+import java.util.ArrayList;
+
+import javax.inject.Inject;
+
+import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.MailboxSessionIdGenerator;
+import org.apache.james.mailbox.exception.BadCredentialsException;
+import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.exception.NotAdminException;
+import org.apache.james.mailbox.exception.UserDoesNotExistException;
+import org.apache.james.mailbox.model.MailboxConstants;
+
+public class SessionProvider {
+ private final MailboxSessionIdGenerator idGenerator;
+ private final Authenticator authenticator;
+ private final Authorizator authorizator;
+
+ @Inject
+ public SessionProvider(Authenticator authenticator, Authorizator authorizator) {
+ this.idGenerator = new RandomMailboxSessionIdGenerator();
+ this.authenticator = authenticator;
+ this.authorizator = authorizator;
+ }
+
+ public char getDelimiter() {
+ return MailboxConstants.DEFAULT_DELIMITER;
+ }
+
+ public MailboxSession createSystemSession(String userName) {
+ return createSession(userName, MailboxSession.SessionType.System);
+ }
+
+ public MailboxSession login(String userid, String passwd) throws MailboxException {
+ if (isValidLogin(userid, passwd)) {
+ return createSession(userid, MailboxSession.SessionType.User);
+ } else {
+ throw new BadCredentialsException();
+ }
+ }
+
+ public MailboxSession loginAsOtherUser(String adminUserid, String passwd, String otherUserId) throws MailboxException {
+ if (! isValidLogin(adminUserid, passwd)) {
+ throw new BadCredentialsException();
+ }
+ Authorizator.AuthorizationState authorizationState = authorizator.canLoginAsOtherUser(adminUserid, otherUserId);
+ switch (authorizationState) {
+ case ALLOWED:
+ return createSystemSession(otherUserId);
+ case NOT_ADMIN:
+ throw new NotAdminException();
+ case UNKNOWN_USER:
+ throw new UserDoesNotExistException(otherUserId);
+ default:
+ throw new RuntimeException("Unknown AuthorizationState " + authorizationState);
+ }
+ }
+
+ public void logout(MailboxSession session) {
+ if (session != null) {
+ session.close();
+ }
+ }
+
+ private MailboxSession createSession(String userName, MailboxSession.SessionType type) {
+ return new MailboxSession(newSessionId(), userName, new ArrayList<>(), getDelimiter(), type);
+ }
+
+ private MailboxSession.SessionId newSessionId() {
+ return MailboxSession.SessionId.of(randomId());
+ }
+
+ private long randomId() {
+ return idGenerator.nextId();
+ }
+
+ /**
+ * Log in the user with the given userid and password
+ *
+ * @param userid the username
+ * @param passwd the password
+ * @return success true if login success false otherwise
+ */
+ private boolean isValidLogin(String userid, String passwd) throws MailboxException {
+ return authenticator.isAuthentic(userid, passwd);
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/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 2cc5566..3106688 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
@@ -38,17 +38,12 @@ import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxPathLocker;
import org.apache.james.mailbox.MailboxPathLocker.LockAwareExecution;
import org.apache.james.mailbox.MailboxSession;
-import org.apache.james.mailbox.MailboxSession.SessionType;
-import org.apache.james.mailbox.MailboxSessionIdGenerator;
import org.apache.james.mailbox.MessageManager;
import org.apache.james.mailbox.StandardMailboxMetaDataComparator;
-import org.apache.james.mailbox.exception.BadCredentialsException;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxExistsException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
-import org.apache.james.mailbox.exception.NotAdminException;
import org.apache.james.mailbox.exception.TooLongMailboxNameException;
-import org.apache.james.mailbox.exception.UserDoesNotExistException;
import org.apache.james.mailbox.model.MailboxACL;
import org.apache.james.mailbox.model.MailboxACL.Rfc4314Rights;
import org.apache.james.mailbox.model.MailboxACL.Right;
@@ -113,13 +108,11 @@ public class StoreMailboxManager implements MailboxManager {
private final StoreRightManager storeRightManager;
private final DelegatingMailboxListener delegatingListener;
private final MailboxSessionMapperFactory mailboxSessionMapperFactory;
- private final Authenticator authenticator;
- private final Authorizator authorizator;
private final MailboxAnnotationManager annotationManager;
private final MailboxPathLocker locker;
private final MessageParser messageParser;
private final Factory messageIdFactory;
- private final MailboxSessionIdGenerator idGenerator;
+ private final SessionProvider sessionProvider;
protected final MailboxManagerConfiguration configuration;
private MessageSearchIndex index;
@@ -128,7 +121,7 @@ public class StoreMailboxManager implements MailboxManager {
private QuotaUpdater quotaUpdater;
@Inject
- public StoreMailboxManager(MailboxSessionMapperFactory mailboxSessionMapperFactory, Authenticator authenticator, Authorizator authorizator,
+ public StoreMailboxManager(MailboxSessionMapperFactory mailboxSessionMapperFactory, SessionProvider sessionProvider,
MailboxPathLocker locker, MessageParser messageParser,
MessageId.Factory messageIdFactory, MailboxAnnotationManager annotationManager,
DelegatingMailboxListener delegatingListener, StoreRightManager storeRightManager,
@@ -137,15 +130,13 @@ public class StoreMailboxManager implements MailboxManager {
Preconditions.checkNotNull(mailboxSessionMapperFactory);
this.annotationManager = annotationManager;
- this.authenticator = authenticator;
- this.authorizator = authorizator;
+ this.sessionProvider = sessionProvider;
this.locker = locker;
this.mailboxSessionMapperFactory = mailboxSessionMapperFactory;
this.messageParser = messageParser;
this.messageIdFactory = messageIdFactory;
this.delegatingListener = delegatingListener;
this.storeRightManager = storeRightManager;
- this.idGenerator = new RandomMailboxSessionIdGenerator();
this.configuration = configuration;
}
@@ -279,84 +270,30 @@ public class StoreMailboxManager implements MailboxManager {
@Override
public MailboxSession createSystemSession(String userName) {
- return createSession(userName, SessionType.System);
- }
-
- /**
- * Create Session
- *
- * @param userName
- * @return session
- */
-
- protected MailboxSession createSession(String userName, SessionType type) {
- return new MailboxSession(newSessionId(), userName, new ArrayList<>(), getDelimiter(), type);
- }
-
- private MailboxSession.SessionId newSessionId() {
- return MailboxSession.SessionId.of(randomId());
- }
-
- /**
- * Generate and return the next id to use
- *
- * @return id
- */
- protected long randomId() {
- return idGenerator.nextId();
+ return sessionProvider.createSystemSession(userName);
}
@Override
public char getDelimiter() {
- return MailboxConstants.DEFAULT_DELIMITER;
- }
-
- /**
- * Log in the user with the given userid and password
- *
- * @param userid the username
- * @param passwd the password
- * @return success true if login success false otherwise
- */
- private boolean isValidLogin(String userid, String passwd) throws MailboxException {
- return authenticator.isAuthentic(userid, passwd);
+ return sessionProvider.getDelimiter();
}
@Override
public MailboxSession login(String userid, String passwd) throws MailboxException {
- if (isValidLogin(userid, passwd)) {
- return createSession(userid, SessionType.User);
- } else {
- throw new BadCredentialsException();
- }
+ return sessionProvider.login(userid, passwd);
}
@Override
public MailboxSession loginAsOtherUser(String adminUserid, String passwd, String otherUserId) throws MailboxException {
- if (! isValidLogin(adminUserid, passwd)) {
- throw new BadCredentialsException();
- }
- Authorizator.AuthorizationState authorizationState = authorizator.canLoginAsOtherUser(adminUserid, otherUserId);
- switch (authorizationState) {
- case ALLOWED:
- return createSystemSession(otherUserId);
- case NOT_ADMIN:
- throw new NotAdminException();
- case UNKNOWN_USER:
- throw new UserDoesNotExistException(otherUserId);
- default:
- throw new RuntimeException("Unknown AuthorizationState " + authorizationState);
- }
+ return sessionProvider.loginAsOtherUser(adminUserid, passwd, otherUserId);
}
/**
* Close the {@link MailboxSession} if not null
*/
@Override
- public void logout(MailboxSession session, boolean force) throws MailboxException {
- if (session != null) {
- session.close();
- }
+ public void logout(MailboxSession session, boolean force) {
+ sessionProvider.logout(session);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java
index 71e0e93..760d9d5 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java
@@ -81,9 +81,10 @@ public class StoreMailboxManagerTest {
new SimpleGroupMembershipResolver(), delegatingListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mockedMapperFactory, storeRightManager);
- storeMailboxManager = new StoreMailboxManager(mockedMapperFactory, authenticator, FakeAuthorizator.forUserAndAdmin(ADMIN, CURRENT_USER),
+ SessionProvider sessionProvider = new SessionProvider(authenticator, FakeAuthorizator.forUserAndAdmin(ADMIN, CURRENT_USER));
+ storeMailboxManager = new StoreMailboxManager(mockedMapperFactory, sessionProvider,
new JVMMailboxPathLocker(), new MessageParser(), messageIdFactory,
- annotationManager, delegatingListener, storeRightManager);
+ annotationManager, delegatingListener, storeRightManager, MailboxManagerConfiguration.DEFAULT);
storeMailboxManager.init();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
index 7b9c160..d789fc0 100644
--- a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
+++ b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
@@ -41,6 +41,7 @@ import org.apache.james.mailbox.cassandra.quota.CassandraPerUserMaxQuotaManager;
import org.apache.james.mailbox.quota.QuotaRootResolver;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
import org.apache.james.mailbox.store.MailboxManagerConfiguration;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
import org.apache.james.mailbox.store.StoreSubscriptionManager;
@@ -88,7 +89,8 @@ public class CassandraHostSystem extends JamesImapHostSystem {
StoreRightManager storeRightManager = new StoreRightManager(mapperFactory, new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), delegatingMailboxListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mapperFactory, storeRightManager);
- mailboxManager = new CassandraMailboxManager(mapperFactory, authenticator, authorizator,
+ SessionProvider sessionProvider = new SessionProvider(authenticator, authorizator);
+ mailboxManager = new CassandraMailboxManager(mapperFactory, sessionProvider,
new JVMMailboxPathLocker(), new MessageParser(), messageIdFactory,
delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
QuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(mailboxManager, mapperFactory);
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
index 641f0e3..3f92176 100644
--- a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
+++ b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
@@ -45,6 +45,7 @@ import org.apache.james.mailbox.jpa.quota.JPAPerUserMaxQuotaDAO;
import org.apache.james.mailbox.jpa.quota.JPAPerUserMaxQuotaManager;
import org.apache.james.mailbox.jpa.quota.JpaCurrentQuotaManager;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
import org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener;
@@ -98,7 +99,8 @@ public class JPAHostSystem extends JamesImapHostSystem {
DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener();
StoreRightManager storeRightManager = new StoreRightManager(mapperFactory, aclResolver, groupMembershipResolver, delegatingListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mapperFactory, storeRightManager);
- mailboxManager = new OpenJPAMailboxManager(mapperFactory, authenticator, authorizator,
+ SessionProvider sessionProvider = new SessionProvider(authenticator, authorizator);
+ mailboxManager = new OpenJPAMailboxManager(mapperFactory, sessionProvider,
messageParser, new DefaultMessageId.Factory(), delegatingListener, annotationManager, storeRightManager);
DefaultUserQuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(mailboxManager, mapperFactory);
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
index 8a62e53..8e15468 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
@@ -42,6 +42,7 @@ import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
import org.apache.james.mailbox.inmemory.InMemoryMessageId;
import org.apache.james.mailbox.lucene.search.LuceneMessageSearchIndex;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
import org.apache.james.mailbox.store.StoreSubscriptionManager;
@@ -102,9 +103,9 @@ public class LuceneSearchHostSystem extends JamesImapHostSystem {
StoreRightManager rightManager = new StoreRightManager(mapperFactory, new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), delegatingMailboxListener);
JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory();
+ SessionProvider sessionProvider = new SessionProvider(authenticator, authorizator);
mailboxManager = new InMemoryMailboxManager(mapperFactory,
- authenticator,
- authorizator,
+ sessionProvider,
locker,
new MessageParser(),
messageIdFactory,
http://git-wip-us.apache.org/repos/asf/james-project/blob/90af6143/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
index 04ba896..83fa1eb 100644
--- a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
+++ b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
@@ -36,6 +36,8 @@ import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
import org.apache.james.mailbox.maildir.MaildirMailboxSessionMapperFactory;
import org.apache.james.mailbox.maildir.MaildirStore;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
+import org.apache.james.mailbox.store.MailboxManagerConfiguration;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreRightManager;
@@ -77,8 +79,9 @@ public class MaildirHostSystem extends JamesImapHostSystem {
DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener();
StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, aclResolver, groupMembershipResolver, delegatingListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager);
- mailboxManager = new StoreMailboxManager(mailboxSessionMapperFactory, authenticator, authorizator, locker,
- messageParser, new DefaultMessageId.Factory(), annotationManager, delegatingListener, storeRightManager);
+ SessionProvider sessionProvider = new SessionProvider(authenticator, authorizator);
+ mailboxManager = new StoreMailboxManager(mailboxSessionMapperFactory, sessionProvider, locker,
+ messageParser, new DefaultMessageId.Factory(), annotationManager, delegatingListener, storeRightManager, MailboxManagerConfiguration.DEFAULT);
mailboxManager.init();
ImapProcessor defaultImapProcessorFactory =
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org