MAILBOX-307 CassandraACLMapper should not be initialized in MailboxMapper
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/10da4351 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/10da4351 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/10da4351 Branch: refs/heads/master Commit: 10da4351c65d1e0b53066921a7bece59d58cf792 Parents: 3682a4a Author: benwa <btell...@linagora.com> Authored: Tue Oct 3 08:15:48 2017 +0700 Committer: benwa <btell...@linagora.com> Committed: Wed Oct 4 16:27:40 2017 +0700 ---------------------------------------------------------------------- .../cassandra/CassandraMailboxSessionMapperFactory.java | 10 +++++++--- .../james/mailbox/cassandra/mail/CassandraACLMapper.java | 3 +++ .../mailbox/cassandra/mail/CassandraMailboxMapper.java | 5 ++--- .../cassandra/CassandraSubscriptionManagerTest.java | 3 +++ .../TestCassandraMailboxSessionMapperFactory.java | 2 ++ .../mail/CassandraMailboxMapperConcurrencyTest.java | 6 +++++- .../cassandra/mail/CassandraMailboxMapperTest.java | 6 +++++- .../cassandra/mail/CassandraModSeqProviderTest.java | 6 +++++- .../mailbox/cassandra/mail/CassandraUidProviderTest.java | 7 ++++++- 9 files changed, 38 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java index 6806e42..d23d46c 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java @@ -24,6 +24,7 @@ import javax.inject.Inject; import org.apache.james.backends.cassandra.init.CassandraConfiguration; import org.apache.james.backends.cassandra.utils.CassandraUtils; import org.apache.james.mailbox.MailboxSession; +import org.apache.james.mailbox.cassandra.mail.CassandraACLMapper; import org.apache.james.mailbox.cassandra.mail.CassandraAnnotationMapper; import org.apache.james.mailbox.cassandra.mail.CassandraApplicableFlagDAO; import org.apache.james.mailbox.cassandra.mail.CassandraAttachmentDAO; @@ -86,6 +87,7 @@ public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFa private final CassandraBlobsDAO blobsDAO; private final CassandraAttachmentMessageIdDAO attachmentMessageIdDAO; private final CassandraAttachmentOwnerDAO ownerDAO; + private final CassandraACLMapper aclMapper; private final CassandraUtils cassandraUtils; private final CassandraConfiguration cassandraConfiguration; @@ -97,7 +99,8 @@ public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFa CassandraMailboxPathDAO mailboxPathDAO, CassandraFirstUnseenDAO firstUnseenDAO, CassandraApplicableFlagDAO applicableFlagDAO, CassandraAttachmentDAO attachmentDAO, CassandraAttachmentDAOV2 attachmentDAOV2, CassandraDeletedMessageDAO deletedMessageDAO, CassandraBlobsDAO blobsDAO, CassandraAttachmentMessageIdDAO attachmentMessageIdDAO, - CassandraAttachmentOwnerDAO ownerDAO, CassandraUtils cassandraUtils, CassandraConfiguration cassandraConfiguration) { + CassandraAttachmentOwnerDAO ownerDAO, CassandraACLMapper aclMapper, + CassandraUtils cassandraUtils, CassandraConfiguration cassandraConfiguration) { this.uidProvider = uidProvider; this.modSeqProvider = modSeqProvider; this.session = session; @@ -115,6 +118,7 @@ public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFa this.applicableFlagDAO = applicableFlagDAO; this.blobsDAO = blobsDAO; this.attachmentMessageIdDAO = attachmentMessageIdDAO; + this.aclMapper = aclMapper; this.cassandraUtils = cassandraUtils; this.ownerDAO = ownerDAO; this.cassandraConfiguration = cassandraConfiguration; @@ -148,14 +152,14 @@ public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFa @Override public MessageIdMapper createMessageIdMapper(MailboxSession mailboxSession) throws MailboxException { return new CassandraMessageIdMapper(getMailboxMapper(mailboxSession), mailboxDAO, - (CassandraAttachmentMapper) createAttachmentMapper(mailboxSession), + createAttachmentMapper(mailboxSession), imapUidDAO, messageIdDAO, messageDAO, indexTableHandler, modSeqProvider, mailboxSession, cassandraConfiguration); } @Override public MailboxMapper createMailboxMapper(MailboxSession mailboxSession) { - return new CassandraMailboxMapper(session, mailboxDAO, mailboxPathDAO, cassandraConfiguration); + return new CassandraMailboxMapper(mailboxDAO, mailboxPathDAO, aclMapper, cassandraConfiguration); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java index 1e67d41..32a2c5d 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java @@ -31,6 +31,8 @@ import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.function.Function; +import javax.inject.Inject; + import org.apache.james.backends.cassandra.init.CassandraConfiguration; import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor; import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry; @@ -69,6 +71,7 @@ public class CassandraACLMapper { private final PreparedStatement conditionalUpdateStatement; private final PreparedStatement readStatement; + @Inject public CassandraACLMapper(Session session, CassandraConfiguration cassandraConfiguration) { this(session, cassandraConfiguration, () -> {}); } http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java index f1e37b5..f76c308 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java @@ -49,7 +49,6 @@ import org.apache.james.util.OptionalUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.datastax.driver.core.Session; import com.datastax.driver.core.exceptions.InvalidQueryException; import com.github.steveash.guavate.Guavate; import com.google.common.base.Preconditions; @@ -66,10 +65,10 @@ public class CassandraMailboxMapper implements MailboxMapper { private final CassandraACLMapper cassandraACLMapper; @Inject - public CassandraMailboxMapper(Session session, CassandraMailboxDAO mailboxDAO, CassandraMailboxPathDAO mailboxPathDAO, CassandraConfiguration cassandraConfiguration) { + public CassandraMailboxMapper(CassandraMailboxDAO mailboxDAO, CassandraMailboxPathDAO mailboxPathDAO, CassandraACLMapper aclMapper, CassandraConfiguration cassandraConfiguration) { this.mailboxDAO = mailboxDAO; this.mailboxPathDAO = mailboxPathDAO; - this.cassandraACLMapper = new CassandraACLMapper(session, cassandraConfiguration); + this.cassandraACLMapper = aclMapper; } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java index bcf3e6b..c1286f8 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java @@ -26,6 +26,7 @@ import org.apache.james.backends.cassandra.init.CassandraModuleComposite; import org.apache.james.backends.cassandra.utils.CassandraUtils; import org.apache.james.mailbox.AbstractSubscriptionManagerTest; import org.apache.james.mailbox.SubscriptionManager; +import org.apache.james.mailbox.cassandra.mail.CassandraACLMapper; import org.apache.james.mailbox.cassandra.mail.CassandraApplicableFlagDAO; import org.apache.james.mailbox.cassandra.mail.CassandraAttachmentDAO; import org.apache.james.mailbox.cassandra.mail.CassandraAttachmentDAOV2; @@ -95,6 +96,7 @@ public class CassandraSubscriptionManagerTest extends AbstractSubscriptionManage CassandraBlobsDAO cassandraBlobsDAO = null; CassandraAttachmentMessageIdDAO attachmentMessageIdDAO = null; CassandraAttachmentOwnerDAO ownerDAO = null; + CassandraACLMapper aclMapper = null; return new CassandraSubscriptionManager( new CassandraMailboxSessionMapperFactory( new CassandraUidProvider(cassandra.getConf()), @@ -115,6 +117,7 @@ public class CassandraSubscriptionManagerTest extends AbstractSubscriptionManage cassandraBlobsDAO, attachmentMessageIdDAO, ownerDAO, + aclMapper, CassandraUtils.WITH_DEFAULT_CONFIGURATION, CassandraConfiguration.DEFAULT_CONFIGURATION)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/TestCassandraMailboxSessionMapperFactory.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/TestCassandraMailboxSessionMapperFactory.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/TestCassandraMailboxSessionMapperFactory.java index d5e450c..6896d63 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/TestCassandraMailboxSessionMapperFactory.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/TestCassandraMailboxSessionMapperFactory.java @@ -23,6 +23,7 @@ import org.apache.james.backends.cassandra.init.CassandraConfiguration; import org.apache.james.backends.cassandra.init.CassandraTypesProvider; import org.apache.james.backends.cassandra.utils.CassandraUtils; import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; +import org.apache.james.mailbox.cassandra.mail.CassandraACLMapper; import org.apache.james.mailbox.cassandra.mail.CassandraApplicableFlagDAO; import org.apache.james.mailbox.cassandra.mail.CassandraAttachmentDAO; import org.apache.james.mailbox.cassandra.mail.CassandraAttachmentDAOV2; @@ -66,6 +67,7 @@ public class TestCassandraMailboxSessionMapperFactory { cassandraBlobsDAO, new CassandraAttachmentMessageIdDAO(session, factory, CassandraUtils.WITH_DEFAULT_CONFIGURATION), new CassandraAttachmentOwnerDAO(session, CassandraUtils.WITH_DEFAULT_CONFIGURATION), + new CassandraACLMapper(session, CassandraConfiguration.DEFAULT_CONFIGURATION), CassandraUtils.WITH_DEFAULT_CONFIGURATION, CassandraConfiguration.DEFAULT_CONFIGURATION); } http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java index 2facbfa..42ed3a9 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java @@ -57,7 +57,11 @@ public class CassandraMailboxMapperConcurrencyTest { cassandra = CassandraCluster.create(modules, cassandraServer.getIp(), cassandraServer.getBindingPort()); CassandraMailboxDAO mailboxDAO = new CassandraMailboxDAO(cassandra.getConf(), cassandra.getTypesProvider()); CassandraMailboxPathDAO mailboxPathDAO = new CassandraMailboxPathDAO(cassandra.getConf(), cassandra.getTypesProvider()); - testee = new CassandraMailboxMapper(cassandra.getConf(), mailboxDAO, mailboxPathDAO, CassandraConfiguration.DEFAULT_CONFIGURATION); + testee = new CassandraMailboxMapper( + mailboxDAO, + mailboxPathDAO, + new CassandraACLMapper(cassandra.getConf(), CassandraConfiguration.DEFAULT_CONFIGURATION), + CassandraConfiguration.DEFAULT_CONFIGURATION); } @After http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java index 3cd7828..1c7d9ea 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java @@ -61,7 +61,11 @@ public class CassandraMailboxMapperTest { cassandra = CassandraCluster.create(modules, cassandraServer.getIp(), cassandraServer.getBindingPort()); CassandraMailboxDAO mailboxDAO = new CassandraMailboxDAO(cassandra.getConf(), cassandra.getTypesProvider()); mailboxPathDAO = new CassandraMailboxPathDAO(cassandra.getConf(), cassandra.getTypesProvider()); - testee = new CassandraMailboxMapper(cassandra.getConf(), mailboxDAO, mailboxPathDAO, CassandraConfiguration.DEFAULT_CONFIGURATION); + testee = new CassandraMailboxMapper( + mailboxDAO, + mailboxPathDAO, + new CassandraACLMapper(cassandra.getConf(), CassandraConfiguration.DEFAULT_CONFIGURATION), + CassandraConfiguration.DEFAULT_CONFIGURATION); } @After http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java index becbeac..2d4e4c9 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java @@ -60,7 +60,11 @@ public class CassandraModSeqProviderTest { modSeqProvider = new CassandraModSeqProvider(cassandra.getConf()); CassandraMailboxDAO mailboxDAO = new CassandraMailboxDAO(cassandra.getConf(), cassandra.getTypesProvider()); CassandraMailboxPathDAO mailboxPathDAO = new CassandraMailboxPathDAO(cassandra.getConf(), cassandra.getTypesProvider()); - mapper = new CassandraMailboxMapper(cassandra.getConf(), mailboxDAO, mailboxPathDAO, CassandraConfiguration.DEFAULT_CONFIGURATION); + mapper = new CassandraMailboxMapper( + mailboxDAO, + mailboxPathDAO, + new CassandraACLMapper(cassandra.getConf(), CassandraConfiguration.DEFAULT_CONFIGURATION), + CassandraConfiguration.DEFAULT_CONFIGURATION); MailboxPath path = new MailboxPath("gsoc", "ieugen", "Trash"); mailbox = new SimpleMailbox(path, 1234); mapper.save(mailbox); http://git-wip-us.apache.org/repos/asf/james-project/blob/10da4351/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java index 8f71f05..9380ba5 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java @@ -19,6 +19,7 @@ package org.apache.james.mailbox.cassandra.mail; import static org.assertj.core.api.Assertions.assertThat; + import java.util.Optional; import java.util.stream.LongStream; @@ -60,7 +61,11 @@ public class CassandraUidProviderTest { uidProvider = new CassandraUidProvider(cassandra.getConf()); CassandraMailboxDAO mailboxDAO = new CassandraMailboxDAO(cassandra.getConf(), cassandra.getTypesProvider()); CassandraMailboxPathDAO mailboxPathDAO = new CassandraMailboxPathDAO(cassandra.getConf(), cassandra.getTypesProvider()); - mapper = new CassandraMailboxMapper(cassandra.getConf(), mailboxDAO, mailboxPathDAO, CassandraConfiguration.DEFAULT_CONFIGURATION); + mapper = new CassandraMailboxMapper( + mailboxDAO, + mailboxPathDAO, + new CassandraACLMapper(cassandra.getConf(), CassandraConfiguration.DEFAULT_CONFIGURATION), + CassandraConfiguration.DEFAULT_CONFIGURATION); MailboxPath path = new MailboxPath("gsoc", "ieugen", "Trash"); mailbox = new SimpleMailbox(path, 1234); mapper.save(mailbox); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org