@Override public QuotaManager createQuotaManager(MaxQuotaManager maxQuotaManager, StoreMailboxManager mailboxManager) throws Exception { QuotaRootResolver quotaRootResolver = createQuotaRootResolver(mailboxManager); InMemoryCurrentQuotaManager currentQuotaManager = createCurrentQuotaManager(mailboxManager); StoreQuotaManager quotaManager = new StoreQuotaManager(currentQuotaManager, maxQuotaManager); ListeningCurrentQuotaUpdater listeningCurrentQuotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaManager, quotaRootResolver, mailboxManager.getEventDispatcher(), quotaManager); mailboxManager.setQuotaManager(quotaManager); mailboxManager.addGlobalListener(listeningCurrentQuotaUpdater, null); return quotaManager; }
public static MessageIdManagerTestSystem createTestingDataWithQuota(CassandraCluster cassandra, QuotaManager quotaManager, CurrentQuotaManager currentQuotaManager) throws Exception { CassandraMailboxSessionMapperFactory mapperFactory = CassandraTestSystemFixture.createMapperFactory(cassandra); CassandraMailboxManager mailboxManager = CassandraTestSystemFixture.createMailboxManager(mapperFactory); ListeningCurrentQuotaUpdater listeningCurrentQuotaUpdater = new ListeningCurrentQuotaUpdater( (StoreCurrentQuotaManager) currentQuotaManager, mailboxManager.getQuotaRootResolver(), mailboxManager.getEventDispatcher(), quotaManager); mailboxManager.addGlobalListener(listeningCurrentQuotaUpdater, mailboxManager.createSystemSession("System")); return new MessageIdManagerTestSystem(CassandraTestSystemFixture.createMessageIdManager(mapperFactory, quotaManager, mailboxManager.getEventDispatcher()), new CassandraMessageId.Factory(), mapperFactory, mailboxManager); }
QuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(mapperFactory); ListeningCurrentQuotaUpdater quotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaUpdater, quotaRootResolver, mailboxEventDispatcher, storeQuotaManager); manager.setQuotaManager(storeQuotaManager); manager.setQuotaUpdater(quotaUpdater);