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