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:55 UTC
[20/30] james-project git commit: JAMES-2641 Make
StoreMailboxManager::batchSizes final
JAMES-2641 Make StoreMailboxManager::batchSizes final
To do this we need to let the injection system providing the built value.
Note that we inject a more generic "MailboxManagerConfiguration" class in order to make
future parameters addition easier in the future.
Note that Sprint (& memory) did not configure the batch size. Thus to reduce diff size the constructors directly provide default value as a temporary solution.
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/55208516
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/55208516
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/55208516
Branch: refs/heads/master
Commit: 55208516fd5081696c26f0dfeb1073112568f9e5
Parents: ff7f30e
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Jan 8 11:26:03 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 15 10:10:04 2019 +0700
----------------------------------------------------------------------
.../cassandra/CassandraMailboxManager.java | 9 ++-
.../CassandraMailboxManagerProvider.java | 3 +-
.../cassandra/CassandraTestSystemFixture.java | 3 +-
.../CassandraMailboxManagerAttachmentTest.java | 5 +-
.../james/mailbox/jpa/JPAMailboxManager.java | 5 +-
.../jpa/openjpa/OpenJPAMailboxManager.java | 2 +-
.../inmemory/InMemoryMailboxManager.java | 5 +-
.../store/MailboxManagerConfiguration.java | 48 ++++++++++++++
.../mailbox/store/StoreMailboxManager.java | 66 +++++---------------
.../cassandra/host/CassandraHostSystem.java | 3 +-
.../modules/mailbox/CassandraMailboxModule.java | 6 +-
.../james/modules/ConfigurationProbe.java | 12 ++--
12 files changed, 94 insertions(+), 73 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 f963706..e539e57 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
@@ -31,6 +31,7 @@ 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.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreMessageManager;
@@ -61,7 +62,8 @@ public class CassandraMailboxManager extends StoreMailboxManager {
public CassandraMailboxManager(CassandraMailboxSessionMapperFactory mapperFactory, Authenticator authenticator, Authorizator authorizator,
MailboxPathLocker locker, MessageParser messageParser,
MessageId.Factory messageIdFactory, DelegatingMailboxListener delegatingMailboxListener,
- StoreMailboxAnnotationManager annotationManager, StoreRightManager storeRightManager) {
+ StoreMailboxAnnotationManager annotationManager, StoreRightManager storeRightManager,
+ MailboxManagerConfiguration configuration) {
super(mapperFactory,
authenticator,
authorizator,
@@ -70,7 +72,8 @@ public class CassandraMailboxManager extends StoreMailboxManager {
messageIdFactory,
annotationManager,
delegatingMailboxListener,
- storeRightManager);
+ storeRightManager,
+ configuration);
this.locker = locker;
this.mapperFactory = mapperFactory;
}
@@ -109,7 +112,7 @@ public class CassandraMailboxManager extends StoreMailboxManager {
getQuotaRootResolver(),
getMessageParser(),
getMessageIdFactory(),
- getBatchSizes(),
+ configuration.getBatchSizes(),
getStoreRightManager());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 8656080..122b211 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
@@ -34,6 +34,7 @@ import org.apache.james.mailbox.exception.MailboxException;
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.MailboxManagerConfiguration;
import org.apache.james.mailbox.store.NoMailboxPathLocker;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
@@ -69,7 +70,7 @@ public class CassandraMailboxManagerProvider {
LIMIT_ANNOTATIONS, LIMIT_ANNOTATION_SIZE);
CassandraMailboxManager manager = new CassandraMailboxManager(mapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(),
- messageParser, messageIdFactory, delegatingMailboxListener, annotationManager, storeRightManager);
+ messageParser, messageIdFactory, delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
CassandraPerUserMaxQuotaManager maxQuotaManager = new CassandraPerUserMaxQuotaManager(new CassandraPerUserMaxQuotaDao(session),
new CassandraPerDomainMaxQuotaDao(session),
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 916029a..51d937f 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
@@ -35,6 +35,7 @@ import org.apache.james.mailbox.quota.MaxQuotaManager;
import org.apache.james.mailbox.quota.QuotaManager;
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.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMessageIdManager;
@@ -65,7 +66,7 @@ public class CassandraTestSystemFixture {
CassandraMailboxManager cassandraMailboxManager = new CassandraMailboxManager(mapperFactory, mock(Authenticator.class), mock(Authorizator.class),
new NoMailboxPathLocker(), new MessageParser(), new CassandraMessageId.Factory(),
- delegatingMailboxListener, annotationManager, storeRightManager);
+ delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
cassandraMailboxManager.init();
return cassandraMailboxManager;
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 be88f00..ceffb79 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
@@ -34,6 +34,7 @@ import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
import org.apache.james.mailbox.store.AbstractMailboxManagerAttachmentTest;
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.NoMailboxPathLocker;
import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
@@ -92,14 +93,14 @@ public class CassandraMailboxManagerAttachmentTest extends AbstractMailboxManage
mailboxManager = new CassandraMailboxManager(mailboxSessionMapperFactory,
noAuthenticator, noAuthorizator, new NoMailboxPathLocker(), new MessageParser(),
- messageIdFactory, delegatingMailboxListener, annotationManager, storeRightManager);
+ 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,
new NoMailboxPathLocker(), failingMessageParser, messageIdFactory,
- delegatingMailboxListener, annotationManager, storeRightManager);
+ delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
parseFailingMailboxManager.init();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 d8e9759..8b581ed 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
@@ -29,6 +29,7 @@ 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.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreRightManager;
@@ -58,11 +59,11 @@ public abstract class JPAMailboxManager extends StoreMailboxManager {
StoreRightManager storeRightManager) {
super(mailboxSessionMapperFactory, authenticator, authorizator, locker,
messageParser, messageIdFactory, annotationManager,
- delegatingMailboxListener, storeRightManager);
+ delegatingMailboxListener, storeRightManager, MailboxManagerConfiguration.DEFAULT);
}
@Override
- protected Mailbox doCreateMailbox(MailboxPath path, MailboxSession session) throws MailboxException {
+ protected Mailbox doCreateMailbox(MailboxPath path, MailboxSession session) {
return new JPAMailbox(path, randomUidValidity());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 2d637f4..121dc9d 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
@@ -71,7 +71,7 @@ public class OpenJPAMailboxManager extends JPAMailboxManager {
getQuotaRootResolver(),
getMessageParser(),
getMessageIdFactory(),
- getBatchSizes(),
+ configuration.getBatchSizes(),
getStoreRightManager());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 821e4e3..4326f6a 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
@@ -28,6 +28,7 @@ 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.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreMailboxManager;
@@ -55,7 +56,7 @@ public class InMemoryMailboxManager extends StoreMailboxManager {
StoreMailboxAnnotationManager annotationManager,
StoreRightManager storeRightManager) {
super(mailboxSessionMapperFactory, authenticator, authorizator, locker, messageParser, messageIdFactory,
- annotationManager, delegatingMailboxListener, storeRightManager);
+ annotationManager, delegatingMailboxListener, storeRightManager, MailboxManagerConfiguration.DEFAULT);
}
@Override
@@ -85,7 +86,7 @@ public class InMemoryMailboxManager extends StoreMailboxManager {
getQuotaRootResolver(),
getMessageParser(),
getMessageIdFactory(),
- getBatchSizes(),
+ configuration.getBatchSizes(),
getStoreRightManager());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxManagerConfiguration.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxManagerConfiguration.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxManagerConfiguration.java
new file mode 100644
index 0000000..63c47e7
--- /dev/null
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxManagerConfiguration.java
@@ -0,0 +1,48 @@
+/****************************************************************
+ * 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 javax.inject.Inject;
+
+public class MailboxManagerConfiguration {
+ public static final MailboxManagerConfiguration DEFAULT = new MailboxManagerConfiguration(BatchSizes.builder()
+ .copyBatchSize(MessageBatcher.NO_BATCH_SIZE)
+ .moveBatchSize(MessageBatcher.NO_BATCH_SIZE)
+ .build());
+
+ private final BatchSizes batchSizes;
+
+ @Inject
+ public MailboxManagerConfiguration(BatchSizes batchSizes) {
+ this.batchSizes = batchSizes;
+ }
+
+ public BatchSizes getBatchSizes() {
+ return batchSizes;
+ }
+
+ public MessageBatcher getCopyBatcher() {
+ return new MessageBatcher(batchSizes.getCopyBatchSize());
+ }
+
+ public MessageBatcher getMoveBatcher() {
+ return new MessageBatcher(batchSizes.getMoveBatchSize());
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 e9b062d..04cdc7d 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
@@ -119,21 +119,20 @@ public class StoreMailboxManager implements MailboxManager {
private final MessageParser messageParser;
private final Factory messageIdFactory;
private final MailboxSessionIdGenerator idGenerator;
+ protected final MailboxManagerConfiguration configuration;
private Authorizator authorizator;
- private MessageBatcher copyBatcher;
- private MessageBatcher moveBatcher;
private MessageSearchIndex index;
private QuotaManager quotaManager;
private QuotaRootResolver quotaRootResolver;
private QuotaUpdater quotaUpdater;
- private BatchSizes batchSizes = BatchSizes.defaultValues();
@Inject
public StoreMailboxManager(MailboxSessionMapperFactory mailboxSessionMapperFactory, Authenticator authenticator, Authorizator authorizator,
MailboxPathLocker locker, MessageParser messageParser,
MessageId.Factory messageIdFactory, MailboxAnnotationManager annotationManager,
- DelegatingMailboxListener delegatingListener, StoreRightManager storeRightManager) {
+ DelegatingMailboxListener delegatingListener, StoreRightManager storeRightManager,
+ MailboxManagerConfiguration configuration) {
Preconditions.checkNotNull(delegatingListener);
Preconditions.checkNotNull(mailboxSessionMapperFactory);
@@ -147,6 +146,7 @@ public class StoreMailboxManager implements MailboxManager {
this.delegatingListener = delegatingListener;
this.storeRightManager = storeRightManager;
this.idGenerator = new RandomMailboxSessionIdGenerator();
+ this.configuration = configuration;
}
public Factory getMessageIdFactory() {
@@ -165,30 +165,6 @@ public class StoreMailboxManager implements MailboxManager {
this.quotaUpdater = quotaUpdater;
}
- public void setCopyBatchSize(BatchSizes batchSizes) {
- this.copyBatcher = new MessageBatcher(batchSizes.getCopyBatchSize());
- }
-
- public int getCopyBatchSize() {
- return copyBatcher.getBatchSize();
- }
-
- public void setMoveBatchSize(BatchSizes batchSizes) {
- this.moveBatcher = new MessageBatcher(batchSizes.getMoveBatchSize());
- }
-
- public int getMoveBatchSize() {
- return moveBatcher.getBatchSize();
- }
-
- public void setBatchSizes(BatchSizes batchSizes) {
- this.batchSizes = batchSizes;
- }
-
- public BatchSizes getBatchSizes() {
- return batchSizes;
- }
-
/**
* Init the {@link MailboxManager}
*
@@ -212,12 +188,6 @@ public class StoreMailboxManager implements MailboxManager {
if (quotaUpdater != null && quotaUpdater instanceof MailboxListener) {
this.addGlobalListener((MailboxListener) quotaUpdater, session);
}
- if (copyBatcher == null) {
- copyBatcher = new MessageBatcher(MessageBatcher.NO_BATCH_SIZE);
- }
- if (moveBatcher == null) {
- moveBatcher = new MessageBatcher(MessageBatcher.NO_BATCH_SIZE);
- }
if (hasCapability(MailboxCapabilities.Annotation)) {
this.addGlobalListener(new MailboxAnnotationListener(mailboxSessionMapperFactory, this), session);
}
@@ -400,7 +370,7 @@ public class StoreMailboxManager implements MailboxManager {
protected StoreMessageManager createMessageManager(Mailbox mailbox, MailboxSession session) throws MailboxException {
return new StoreMessageManager(DEFAULT_NO_MESSAGE_CAPABILITIES, getMapperFactory(), getMessageSearchIndex(), getDelegationListener(),
getLocker(), mailbox, getQuotaManager(),
- getQuotaRootResolver(), getMessageParser(), getMessageIdFactory(), getBatchSizes(),
+ getQuotaRootResolver(), getMessageParser(), getMessageIdFactory(), configuration.getBatchSizes(),
getStoreRightManager());
}
@@ -621,35 +591,33 @@ public class StoreMailboxManager implements MailboxManager {
}
@Override
- public List<MessageRange> copyMessages(MessageRange set, MailboxPath from, MailboxPath to, final MailboxSession session) throws MailboxException {
- final StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session);
- final StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session);
+ public List<MessageRange> copyMessages(MessageRange set, MailboxPath from, MailboxPath to, MailboxSession session) throws MailboxException {
+ StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session);
+ StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session);
return copyMessages(set, session, toMailbox, fromMailbox);
}
@Override
- public List<MessageRange> copyMessages(MessageRange set, MailboxId from, MailboxId to, final MailboxSession session) throws MailboxException {
- final StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session);
- final StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session);
+ public List<MessageRange> copyMessages(MessageRange set, MailboxId from, MailboxId to, MailboxSession session) throws MailboxException {
+ StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session);
+ StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session);
return copyMessages(set, session, toMailbox, fromMailbox);
}
- private List<MessageRange> copyMessages(MessageRange set, final MailboxSession session,
- final StoreMessageManager toMailbox, final StoreMessageManager fromMailbox) throws MailboxException {
- return copyBatcher.batchMessages(set,
+ private List<MessageRange> copyMessages(MessageRange set, MailboxSession session, StoreMessageManager toMailbox, StoreMessageManager fromMailbox) throws MailboxException {
+ return configuration.getCopyBatcher().batchMessages(set,
messageRange -> fromMailbox.copyTo(messageRange, toMailbox, session));
}
@Override
- public List<MessageRange> moveMessages(MessageRange set, MailboxPath from, MailboxPath to, final MailboxSession session) throws MailboxException {
- final StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session);
- final StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session);
+ public List<MessageRange> moveMessages(MessageRange set, MailboxPath from, MailboxPath to, MailboxSession session) throws MailboxException {
+ StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session);
+ StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session);
- return moveBatcher.batchMessages(set,
- messageRange -> fromMailbox.moveTo(messageRange, toMailbox, session));
+ return configuration.getMoveBatcher().batchMessages(set, messageRange -> fromMailbox.moveTo(messageRange, toMailbox, session));
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/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 b78c89f..7b9c160 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
@@ -40,6 +40,7 @@ import org.apache.james.mailbox.cassandra.quota.CassandraPerUserMaxQuotaDao;
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.StoreMailboxAnnotationManager;
import org.apache.james.mailbox.store.StoreRightManager;
import org.apache.james.mailbox.store.StoreSubscriptionManager;
@@ -89,7 +90,7 @@ public class CassandraHostSystem extends JamesImapHostSystem {
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mapperFactory, storeRightManager);
mailboxManager = new CassandraMailboxManager(mapperFactory, authenticator, authorizator,
new JVMMailboxPathLocker(), new MessageParser(), messageIdFactory,
- delegatingMailboxListener, annotationManager, storeRightManager);
+ delegatingMailboxListener, annotationManager, storeRightManager, MailboxManagerConfiguration.DEFAULT);
QuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(mailboxManager, mapperFactory);
perUserMaxQuotaManager = new CassandraPerUserMaxQuotaManager(
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
index ebd268f..07aaf33 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
@@ -76,7 +76,6 @@ 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.BatchSizes;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
import org.apache.james.mailbox.store.NoMailboxPathLocker;
import org.apache.james.mailbox.store.StoreAttachmentManager;
@@ -193,13 +192,10 @@ public class CassandraMailboxModule extends AbstractModule {
@Named(Names.MAILBOXMANAGER_NAME)
@Singleton
public MailboxManager provideMailboxManager(CassandraMailboxManager cassandraMailboxManager, ListeningCurrentQuotaUpdater quotaUpdater,
- QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, BatchSizes batchSizes) throws MailboxException {
+ QuotaManager quotaManager, QuotaRootResolver quotaRootResolver) throws MailboxException {
cassandraMailboxManager.setQuotaUpdater(quotaUpdater);
cassandraMailboxManager.setQuotaManager(quotaManager);
cassandraMailboxManager.setQuotaRootResolver(quotaRootResolver);
- cassandraMailboxManager.setBatchSizes(batchSizes);
- cassandraMailboxManager.setMoveBatchSize(batchSizes);
- cassandraMailboxManager.setCopyBatchSize(batchSizes);
cassandraMailboxManager.init();
return cassandraMailboxManager;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/55208516/server/container/guice/mailbox/src/main/java/org/apache/james/modules/ConfigurationProbe.java
----------------------------------------------------------------------
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/ConfigurationProbe.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/ConfigurationProbe.java
index de934c3..25209bf 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/ConfigurationProbe.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/ConfigurationProbe.java
@@ -21,23 +21,23 @@ package org.apache.james.modules;
import javax.inject.Inject;
-import org.apache.james.mailbox.store.StoreMailboxManager;
+import org.apache.james.mailbox.store.MailboxManagerConfiguration;
import org.apache.james.utils.GuiceProbe;
public class ConfigurationProbe implements GuiceProbe {
- private final StoreMailboxManager storeMailboxManager;
+ private final MailboxManagerConfiguration configuration;
@Inject
- private ConfigurationProbe(StoreMailboxManager storeMailboxManager) {
- this.storeMailboxManager = storeMailboxManager;
+ private ConfigurationProbe(MailboxManagerConfiguration configuration) {
+ this.configuration = configuration;
}
public int getMoveBatchSize() {
- return storeMailboxManager.getMoveBatchSize();
+ return configuration.getBatchSizes().getMoveBatchSize();
}
public int getCopyBatchSize() {
- return storeMailboxManager.getCopyBatchSize();
+ return configuration.getBatchSizes().getCopyBatchSize();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org