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:22:05 UTC
[30/30] james-project git commit: JAMES-2641 Stop lazy initialization
of Quota components in MailboxManager
JAMES-2641 Stop lazy initialization of Quota components in MailboxManager
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d86e8b70
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d86e8b70
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d86e8b70
Branch: refs/heads/master
Commit: d86e8b70d786ca2d9750948aa71b00fd8e87775d
Parents: 61dd6e2
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Jan 9 10:37:08 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 15 10:10:05 2019 +0700
----------------------------------------------------------------------
.../manager/InMemoryIntegrationResources.java | 90 ++++++++++----------
...ticSearchQuotaSearchTestSystemExtension.java | 9 +-
.../MemoryQuotaSearchTestSystemExtension.java | 11 ++-
.../mailbox/store/quota/QuotaComponents.java | 5 +-
.../inmemory/host/InMemoryHostSystem.java | 7 +-
.../mpt/imapmailbox/jpa/host/JPAHostSystem.java | 2 +-
.../transport/matchers/IsOverQuotaTest.java | 19 ++---
.../ElasticSearchQuotaSearchExtension.java | 9 +-
.../routes/ScanningQuotaSearchExtension.java | 12 ++-
9 files changed, 84 insertions(+), 80 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/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 ef0d21b..d2d57b1 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
@@ -35,13 +35,11 @@ import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.quota.MaxQuotaManager;
import org.apache.james.mailbox.quota.QuotaManager;
-import org.apache.james.mailbox.quota.QuotaRootResolver;
import org.apache.james.mailbox.store.Authenticator;
import org.apache.james.mailbox.store.Authorizator;
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;
@@ -65,11 +63,21 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
private final InMemoryMailboxManager mailboxManager;
private final StoreRightManager storeRightManager;
private final MessageId.Factory messageIdFactory;
+ private final InMemoryCurrentQuotaManager currentQuotaManager;
+ private final DefaultUserQuotaRootResolver defaultUserQuotaRootResolver;
+ private final InMemoryPerUserMaxQuotaManager maxQuotaManager;
- Resources(InMemoryMailboxManager mailboxManager, StoreRightManager storeRightManager, MessageId.Factory messageIdFactory) {
+ Resources(InMemoryMailboxManager mailboxManager, StoreRightManager storeRightManager, MessageId.Factory messageIdFactory, InMemoryCurrentQuotaManager currentQuotaManager, DefaultUserQuotaRootResolver defaultUserQuotaRootResolver, InMemoryPerUserMaxQuotaManager maxQuotaManager) {
this.mailboxManager = mailboxManager;
this.storeRightManager = storeRightManager;
this.messageIdFactory = messageIdFactory;
+ this.currentQuotaManager = currentQuotaManager;
+ this.defaultUserQuotaRootResolver = defaultUserQuotaRootResolver;
+ this.maxQuotaManager = maxQuotaManager;
+ }
+
+ public DefaultUserQuotaRootResolver getDefaultUserQuotaRootResolver() {
+ return defaultUserQuotaRootResolver;
}
public InMemoryMailboxManager getMailboxManager() {
@@ -77,7 +85,7 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
}
public InMemoryCurrentQuotaManager getCurrentQuotaManager() {
- return (InMemoryCurrentQuotaManager) mailboxManager.getQuotaComponents().getMaxQuotaManager();
+ return currentQuotaManager;
}
public StoreRightManager getStoreRightManager() {
@@ -87,6 +95,10 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
public MessageId.Factory getMessageIdFactory() {
return messageIdFactory;
}
+
+ public InMemoryPerUserMaxQuotaManager getMaxQuotaManager() {
+ return maxQuotaManager;
+ }
}
private SimpleGroupMembershipResolver groupMembershipResolver;
@@ -102,19 +114,41 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE);
}
- public Resources createResources(GroupMembershipResolver groupMembershipResolver,
- int limitAnnotationCount, int limitAnnotationSize) throws MailboxException {
+ public Resources createResources(GroupMembershipResolver groupMembershipResolver, int limitAnnotationCount, int limitAnnotationSize) throws MailboxException {
FakeAuthenticator fakeAuthenticator = new FakeAuthenticator();
fakeAuthenticator.addUser(ManagerTestResources.USER, ManagerTestResources.USER_PASS);
fakeAuthenticator.addUser(ManagerTestResources.OTHER_USER, ManagerTestResources.OTHER_USER_PASS);
+
+ return createResources(groupMembershipResolver, fakeAuthenticator, FakeAuthorizator.defaultReject(), limitAnnotationCount, limitAnnotationSize);
+ }
+
+ public StoreMailboxManager createMailboxManager(GroupMembershipResolver groupMembershipResolver, Authenticator authenticator, Authorizator authorizator) throws MailboxException {
+ return createResources(groupMembershipResolver, authenticator, authorizator).mailboxManager;
+ }
+
+ public Resources createResources(GroupMembershipResolver groupMembershipResolver, Authenticator authenticator, Authorizator authorizator) throws MailboxException {
+ return createResources(groupMembershipResolver, authenticator, authorizator, MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE);
+ }
+
+ private Resources createResources(GroupMembershipResolver groupMembershipResolver,
+ Authenticator authenticator, Authorizator authorizator,
+ int limitAnnotationCount, int limitAnnotationSize) throws MailboxException {
+
InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory();
DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener();
StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(),
groupMembershipResolver, delegatingListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager, limitAnnotationCount, limitAnnotationSize);
- SessionProvider sessionProvider = new SessionProvider(fakeAuthenticator, FakeAuthorizator.defaultReject());
- QuotaComponents quotaComponents = createQuotaComponents(mailboxSessionMapperFactory, delegatingListener, sessionProvider);
+ SessionProvider sessionProvider = new SessionProvider(authenticator, authorizator);
+
+ InMemoryPerUserMaxQuotaManager maxQuotaManager = new InMemoryPerUserMaxQuotaManager();
+ DefaultUserQuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(sessionProvider, mailboxSessionMapperFactory);
+ InMemoryCurrentQuotaManager currentQuotaManager = new InMemoryCurrentQuotaManager(new CurrentQuotaCalculator(mailboxSessionMapperFactory, quotaRootResolver), sessionProvider);
+ StoreQuotaManager quotaManager = new StoreQuotaManager(currentQuotaManager, maxQuotaManager);
+ ListeningCurrentQuotaUpdater listeningCurrentQuotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaManager, quotaRootResolver, delegatingListener, quotaManager);
+ QuotaComponents quotaComponents = new QuotaComponents(maxQuotaManager, quotaManager, quotaRootResolver, listeningCurrentQuotaUpdater);
+
MessageSearchIndex index = new SimpleMessageSearchIndex(mailboxSessionMapperFactory, mailboxSessionMapperFactory, new DefaultTextExtractor());
InMemoryMailboxManager manager = new InMemoryMailboxManager(
@@ -133,50 +167,12 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
delegatingListener.addGlobalListener(new MailboxAnnotationListener(mailboxSessionMapperFactory, sessionProvider), sessionProvider.createSystemSession("admin"));
try {
- return new Resources(manager, storeRightManager, new InMemoryMessageId.Factory());
+ return new Resources(manager, storeRightManager, new InMemoryMessageId.Factory(), currentQuotaManager, quotaRootResolver, maxQuotaManager);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
- private QuotaComponents createQuotaComponents(InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory, DefaultDelegatingMailboxListener delegatingListener, SessionProvider sessionProvider) {
- MaxQuotaManager maxQuotaManager = new InMemoryPerUserMaxQuotaManager();
- QuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(sessionProvider, mailboxSessionMapperFactory);
- InMemoryCurrentQuotaManager currentQuotaManager = new InMemoryCurrentQuotaManager(new CurrentQuotaCalculator(mailboxSessionMapperFactory, quotaRootResolver), sessionProvider);
- StoreQuotaManager quotaManager = new StoreQuotaManager(currentQuotaManager, maxQuotaManager);
- ListeningCurrentQuotaUpdater listeningCurrentQuotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaManager, quotaRootResolver, delegatingListener, quotaManager);
- return new QuotaComponents(maxQuotaManager, quotaManager, quotaRootResolver, listeningCurrentQuotaUpdater);
- }
-
- public StoreMailboxManager createMailboxManager(GroupMembershipResolver groupMembershipResolver,
- Authenticator authenticator, Authorizator authorizator) throws MailboxException {
- InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory();
- DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener();
- StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), groupMembershipResolver, delegatingListener);
- StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager);
-
- SessionProvider sessionProvider = new SessionProvider(authenticator, authorizator);
- QuotaComponents quotaComponents = createQuotaComponents(mailboxSessionMapperFactory, delegatingListener, sessionProvider);
-
- MessageSearchIndex index = new SimpleMessageSearchIndex(mailboxSessionMapperFactory, mailboxSessionMapperFactory, new DefaultTextExtractor());
-
- StoreMailboxManager manager = new InMemoryMailboxManager(
- mailboxSessionMapperFactory,
- sessionProvider,
- new NoMailboxPathLocker(),
- new MessageParser(),
- new InMemoryMessageId.Factory(),
- delegatingListener,
- annotationManager,
- storeRightManager,
- quotaComponents,
- index);
-
- delegatingListener.addGlobalListener((ListeningCurrentQuotaUpdater) quotaComponents.getQuotaUpdater(), sessionProvider.createSystemSession("admin"));
- delegatingListener.addGlobalListener(new MailboxAnnotationListener(mailboxSessionMapperFactory, sessionProvider), sessionProvider.createSystemSession("admin"));
- return manager;
- }
-
@Override
public MessageIdManager createMessageIdManager(StoreMailboxManager mailboxManager) {
return createMessageIdManager(mailboxManager, new InMemoryMessageId.Factory());
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java
----------------------------------------------------------------------
diff --git a/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java b/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java
index aba78c9..ae50774 100644
--- a/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java
+++ b/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java
@@ -33,6 +33,7 @@ import org.apache.james.domainlist.memory.MemoryDomainList;
import org.apache.james.mailbox.MailboxSessionUtil;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
+import org.apache.james.mailbox.store.quota.QuotaComponents;
import org.apache.james.quota.search.QuotaSearchTestSystem;
import org.apache.james.quota.search.elasticsearch.events.ElasticSearchQuotaMailboxListener;
import org.apache.james.quota.search.elasticsearch.json.QuotaRatioToElasticSearchJson;
@@ -81,11 +82,13 @@ public class ElasticSearchQuotaSearchTestSystemExtension implements ParameterRes
resources.getMailboxManager()
.addGlobalListener(listener, MailboxSessionUtil.create("ANY"));
+ QuotaComponents quotaComponents = resources.getMailboxManager().getQuotaComponents();
+
return new QuotaSearchTestSystem(
- resources.getMaxQuotaManager(),
+ quotaComponents.getMaxQuotaManager(),
resources.getMailboxManager(),
- resources.getQuotaManager(),
- resources.getQuotaRootResolver(),
+ quotaComponents.getQuotaManager(),
+ resources.getDefaultUserQuotaRootResolver(),
new ElasticSearchQuotaSearcher(client,
QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_READ_ALIAS),
usersRepository,
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java
----------------------------------------------------------------------
diff --git a/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java b/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java
index 12394e7..65a5fa3 100644
--- a/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java
+++ b/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java
@@ -25,6 +25,7 @@ import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.memory.MemoryDomainList;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
+import org.apache.james.mailbox.store.quota.QuotaComponents;
import org.apache.james.quota.search.QuotaSearchTestSystem;
import org.apache.james.user.memory.MemoryUsersRepository;
import org.junit.jupiter.api.extension.ExtensionContext;
@@ -52,13 +53,15 @@ public class MemoryQuotaSearchTestSystemExtension implements ParameterResolver {
MemoryDomainList domainList = new MemoryDomainList(dnsService);
usersRepository.setDomainList(domainList);
+ QuotaComponents quotaComponents = resources.getMailboxManager().getQuotaComponents();
+
return new QuotaSearchTestSystem(
- resources.getMaxQuotaManager(),
+ quotaComponents.getMaxQuotaManager(),
resources.getMailboxManager(),
- resources.getQuotaManager(),
- resources.getQuotaRootResolver(),
+ quotaComponents.getQuotaManager(),
+ resources.getDefaultUserQuotaRootResolver(),
new ScanningQuotaSearcher(usersRepository,
- new ClauseConverter(resources.getQuotaRootResolver(), resources.getQuotaManager())),
+ new ClauseConverter(resources.getDefaultUserQuotaRootResolver(), quotaComponents.getQuotaManager())),
usersRepository,
domainList,
resources.getCurrentQuotaManager(),
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaComponents.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaComponents.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaComponents.java
index 35326bc..340b153 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaComponents.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaComponents.java
@@ -19,6 +19,8 @@
package org.apache.james.mailbox.store.quota;
+import javax.inject.Inject;
+
import org.apache.james.mailbox.quota.MaxQuotaManager;
import org.apache.james.mailbox.quota.QuotaManager;
import org.apache.james.mailbox.quota.QuotaRootResolver;
@@ -26,7 +28,7 @@ import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
import org.apache.james.mailbox.store.SessionProvider;
public class QuotaComponents {
- public static final QuotaComponents disabled(SessionProvider sessionProvider, MailboxSessionMapperFactory mailboxSessionMapperFactory) {
+ public static QuotaComponents disabled(SessionProvider sessionProvider, MailboxSessionMapperFactory mailboxSessionMapperFactory) {
return new QuotaComponents(
new NoMaxQuotaManager(),
new NoQuotaManager(),
@@ -39,6 +41,7 @@ public class QuotaComponents {
private final QuotaRootResolver quotaRootResolver;
private final QuotaUpdater quotaUpdater;
+ @Inject
public QuotaComponents(MaxQuotaManager maxQuotaManager, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, QuotaUpdater quotaUpdater) {
this.maxQuotaManager = maxQuotaManager;
this.quotaManager = quotaManager;
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
index 0880cda..740f385 100644
--- a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
+++ b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
@@ -52,10 +52,9 @@ public class InMemoryHostSystem extends JamesImapHostSystem {
@Override
public void beforeTest() throws Exception {
super.beforeTest();
- this.mailboxManager = new InMemoryIntegrationResources()
- .createMailboxManager(new SimpleGroupMembershipResolver(), authenticator, authorizator);
-
- perUserMaxQuotaManager = (InMemoryPerUserMaxQuotaManager) mailboxManager.getQuotaComponents().getMaxQuotaManager();
+ InMemoryIntegrationResources.Resources resources = new InMemoryIntegrationResources().createResources(new SimpleGroupMembershipResolver(), authenticator, authorizator);
+ this.mailboxManager = resources.getMailboxManager();
+ this.perUserMaxQuotaManager = resources.getMaxQuotaManager();
ImapProcessor defaultImapProcessorFactory = DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, new StoreSubscriptionManager(mailboxManager.getMapperFactory()),
mailboxManager.getQuotaComponents().getQuotaManager(), mailboxManager.getQuotaComponents().getQuotaRootResolver(), new DefaultMetricFactory());
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/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 4fd803c..cf3c594 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
@@ -105,7 +105,7 @@ public class JPAHostSystem extends JamesImapHostSystem {
StoreRightManager storeRightManager = new StoreRightManager(mapperFactory, aclResolver, groupMembershipResolver, delegatingListener);
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mapperFactory, storeRightManager);
SessionProvider sessionProvider = new SessionProvider(authenticator, authorizator);
- DefaultUserQuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(mailboxManager.getSessionProvider(), mapperFactory);
+ DefaultUserQuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(sessionProvider, mapperFactory);
JpaCurrentQuotaManager currentQuotaManager = new JpaCurrentQuotaManager(entityManagerFactory);
maxQuotaManager = new JPAPerUserMaxQuotaManager(new JPAPerUserMaxQuotaDAO(entityManagerFactory));
StoreQuotaManager storeQuotaManager = new StoreQuotaManager(currentQuotaManager, maxQuotaManager);
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java
index 4f27422..1c65ad1 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java
@@ -30,14 +30,11 @@ import org.apache.james.core.quota.QuotaCount;
import org.apache.james.core.quota.QuotaSize;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
-import org.apache.james.mailbox.inmemory.quota.InMemoryCurrentQuotaManager;
import org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.store.StoreMailboxManager;
-import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
import org.apache.james.mailbox.store.quota.DefaultUserQuotaRootResolver;
-import org.apache.james.mailbox.store.quota.StoreQuotaManager;
import org.apache.james.user.api.UsersRepository;
import org.apache.mailet.base.MailAddressFixture;
import org.apache.mailet.base.test.FakeMail;
@@ -54,18 +51,14 @@ public class IsOverQuotaTest {
@Before
public void setUp() throws Exception {
- mailboxManager = new InMemoryIntegrationResources().createMailboxManager(new SimpleGroupMembershipResolver());
+ InMemoryIntegrationResources.Resources resources = new InMemoryIntegrationResources().createResources(new SimpleGroupMembershipResolver());
+ mailboxManager = resources.getMailboxManager();
- quotaRootResolver = new DefaultUserQuotaRootResolver(mailboxManager.getSessionProvider(), mailboxManager.getMapperFactory());
- maxQuotaManager = new InMemoryPerUserMaxQuotaManager();
- CurrentQuotaCalculator quotaCalculator = new CurrentQuotaCalculator(mailboxManager.getMapperFactory(), quotaRootResolver);
- InMemoryCurrentQuotaManager currentQuotaManager = new InMemoryCurrentQuotaManager(quotaCalculator, mailboxManager);
- StoreQuotaManager quotaManager = new StoreQuotaManager(currentQuotaManager, maxQuotaManager);
- usersRepository = mock(UsersRepository.class);
- testee = new IsOverQuota(quotaRootResolver, quotaManager, mailboxManager, usersRepository);
+ quotaRootResolver = resources.getDefaultUserQuotaRootResolver();
+ maxQuotaManager = resources.getMaxQuotaManager();
- mailboxManager.setQuotaRootResolver(quotaRootResolver);
- mailboxManager.setQuotaManager(quotaManager);
+ usersRepository = mock(UsersRepository.class);
+ testee = new IsOverQuota(quotaRootResolver, resources.getMailboxManager().getQuotaComponents().getQuotaManager(), mailboxManager, usersRepository);
testee.init(FakeMatcherConfig.builder().matcherName("IsOverQuota").build());
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
index a833156..4db355b 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
@@ -33,6 +33,7 @@ import org.apache.james.domainlist.memory.MemoryDomainList;
import org.apache.james.mailbox.MailboxSessionUtil;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
+import org.apache.james.mailbox.store.quota.QuotaComponents;
import org.apache.james.quota.search.QuotaSearchTestSystem;
import org.apache.james.quota.search.elasticsearch.ElasticSearchQuotaSearcher;
import org.apache.james.quota.search.elasticsearch.QuotaRatioElasticSearchConstants;
@@ -84,11 +85,13 @@ public class ElasticSearchQuotaSearchExtension implements ParameterResolver, Bef
resources.getMailboxManager()
.addGlobalListener(listener, MailboxSessionUtil.create("ANY"));
+ QuotaComponents quotaComponents = resources.getMailboxManager().getQuotaComponents();
+
QuotaSearchTestSystem quotaSearchTestSystem = new QuotaSearchTestSystem(
- resources.getMaxQuotaManager(),
+ quotaComponents.getMaxQuotaManager(),
resources.getMailboxManager(),
- resources.getQuotaManager(),
- resources.getQuotaRootResolver(),
+ quotaComponents.getQuotaManager(),
+ resources.getDefaultUserQuotaRootResolver(),
new ElasticSearchQuotaSearcher(client,
QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_READ_ALIAS),
usersRepository,
http://git-wip-us.apache.org/repos/asf/james-project/blob/d86e8b70/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
index 552f3d2..e55c34b 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
@@ -26,6 +26,7 @@ import org.apache.james.domainlist.lib.DomainListConfiguration;
import org.apache.james.domainlist.memory.MemoryDomainList;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
+import org.apache.james.mailbox.store.quota.QuotaComponents;
import org.apache.james.quota.search.QuotaSearchTestSystem;
import org.apache.james.quota.search.scanning.ClauseConverter;
import org.apache.james.quota.search.scanning.ScanningQuotaSearcher;
@@ -56,13 +57,16 @@ public class ScanningQuotaSearchExtension implements ParameterResolver, BeforeEa
.autoDetectIp(false));
usersRepository.setDomainList(domainList);
+
+ QuotaComponents quotaComponents = resources.getMailboxManager().getQuotaComponents();
+
QuotaSearchTestSystem quotaSearchTestSystem = new QuotaSearchTestSystem(
- resources.getMaxQuotaManager(),
+ quotaComponents.getMaxQuotaManager(),
resources.getMailboxManager(),
- resources.getQuotaManager(),
- resources.getQuotaRootResolver(),
+ quotaComponents.getQuotaManager(),
+ resources.getDefaultUserQuotaRootResolver(),
new ScanningQuotaSearcher(usersRepository,
- new ClauseConverter(resources.getQuotaRootResolver(), resources.getQuotaManager())),
+ new ClauseConverter(resources.getDefaultUserQuotaRootResolver(), quotaComponents.getQuotaManager())),
usersRepository,
domainList,
resources.getCurrentQuotaManager(),
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org