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 2017/02/28 03:38:17 UTC
[6/6] james-project git commit: JAMES-1947 MessageManager should
support method to getApplicableFlag
JAMES-1947 MessageManager should support method to getApplicableFlag
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2d7b78a0
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2d7b78a0
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2d7b78a0
Branch: refs/heads/master
Commit: 2d7b78a05ec183ca8f747302c9b121e83c5a41a9
Parents: c7f3e37
Author: Quynh Nguyen <qn...@linagora.com>
Authored: Thu Feb 23 16:02:29 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Feb 28 10:37:20 2017 +0700
----------------------------------------------------------------------
.../src/main/java/org/apache/james/mailbox/MessageManager.java | 4 +++-
.../cassandra/CassandraMailboxSessionMapperFactory.java | 2 +-
.../org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java | 3 ++-
.../org/apache/james/mailbox/store/StoreMessageManager.java | 6 ++++++
.../apache/james/mailbox/store/mail/AbstractMessageMapper.java | 1 +
.../james/imap/processor/base/MailboxEventAnalyserTest.java | 5 +++++
.../apache/james/modules/mailbox/CassandraMailboxModule.java | 3 ++-
7 files changed, 20 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/2d7b78a0/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
index 596cb82..e0a2d40 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
@@ -169,7 +169,9 @@ public interface MessageManager {
* Gets the path of the referenced mailbox
*/
MailboxPath getMailboxPath() throws MailboxException;
-
+
+ Flags getApplicableFlag(MailboxSession session) throws MailboxException;
+
/**
* Gets current meta data for the mailbox.<br>
* Consolidates common calls together to allow improved performance.<br>
http://git-wip-us.apache.org/repos/asf/james-project/blob/2d7b78a0/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 12746f9..9ee5f19 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
@@ -109,7 +109,7 @@ public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFa
public CassandraMessageMapper createMessageMapper(MailboxSession mailboxSession) {
return new CassandraMessageMapper(uidProvider, modSeqProvider, null, maxRetry,
(CassandraAttachmentMapper) createAttachmentMapper(mailboxSession),
- messageDAO, messageIdDAO, imapUidDAO, mailboxCounterDAO, mailboxRecentsDAO, indexTableHandler, firstUnseenDAO);
+ messageDAO, messageIdDAO, imapUidDAO, mailboxCounterDAO, mailboxRecentsDAO, applicableFlagDAO, indexTableHandler, firstUnseenDAO);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/2d7b78a0/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
index 7d0d9a7..b36c783 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
@@ -289,7 +289,8 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM
@Override
public Flags getApplicableFlag(Mailbox mailbox) throws MailboxException {
- return new ApplicableFlagCalculator(findMessagesInMailbox((JPAId) mailbox.getMailboxId(), -1))
+ int maxBatchSize = -1;
+ return new ApplicableFlagCalculator(findMessagesInMailbox((JPAId) mailbox.getMailboxId(), maxBatchSize))
.computeApplicableFlags();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/2d7b78a0/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
index d48ce5d..71d1eb4 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
@@ -857,4 +857,10 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
public MailboxPath getMailboxPath() throws MailboxException {
return new StoreMailboxPath(getMailboxEntity());
}
+
+ @Override
+ public Flags getApplicableFlag(MailboxSession session) throws MailboxException {
+ return mapperFactory.getMessageMapper(session)
+ .getApplicableFlag(mailbox);
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/2d7b78a0/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
index 93e27c6..d63bd0e 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
@@ -24,6 +24,7 @@ import java.util.List;
import javax.mail.Flags;
+import org.apache.commons.lang.NotImplementedException;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
http://git-wip-us.apache.org/repos/asf/james-project/blob/2d7b78a0/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
index 5c53a8f..a02d070 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
@@ -322,6 +322,11 @@ public class MailboxEventAnalyserTest {
public MailboxPath getMailboxPath() {
return null;
}
+
+ @Override
+ public Flags getApplicableFlag(MailboxSession session) throws MailboxException {
+ throw new NotImplementedException();
+ }
};
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/2d7b78a0/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 cbc6575..291d154 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
@@ -116,7 +116,8 @@ public class CassandraMailboxModule extends AbstractModule {
cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule.class);
cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule.class);
cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule.class);
-
+ cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule.class);
+
Multibinder.newSetBinder(binder(), MailboxManagerDefinition.class).addBinding().to(CassandraMailboxManagerDefinition.class);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org