Author: norman
Date: Sun May 1 14:15:46 2011
New Revision: 1098311
URL: http://svn.apache.org/viewvc?rev=1098311&view=rev
Log:
Allow to fetch mailbox metadata without the need of counting any messages
Modified:
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
Modified:
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java?rev=1098311&r1=1098310&r2=1098311&view=diff
==============================================================================
---
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java
(original)
+++
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java
Sun May 1 14:15:46 2011
@@ -179,7 +179,7 @@ public interface MessageManager {
* Describes the optional data types.
*/
public enum FetchGroup {
- NO_UNSEEN, UNSEEN_COUNT, FIRST_UNSEEN
+ NO_UNSEEN, UNSEEN_COUNT, FIRST_UNSEEN, NO_COUNT
};
/**
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java?rev=1098311&r1=1098310&r2=1098311&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
Sun May 1 14:15:46 2011
@@ -403,21 +403,29 @@ public abstract class StoreMessageManage
final Flags permanentFlags = getPermanentFlags(mailboxSession);
final long uidValidity = getMailboxEntity().getUidValidity();
final long uidNext = uidProvider.lastUid(mailboxSession, mailbox) +1;
- final long messageCount = getMessageCount(mailboxSession);
+ final long messageCount;
final long unseenCount;
final Long firstUnseen;
switch (fetchGroup) {
case UNSEEN_COUNT:
unseenCount = countUnseenMessagesInMailbox(mailboxSession);
+ messageCount = getMessageCount(mailboxSession);
firstUnseen = null;
break;
case FIRST_UNSEEN:
firstUnseen = findFirstUnseenMessageUid(mailboxSession);
+ messageCount = getMessageCount(mailboxSession);
unseenCount = 0;
break;
+ case NO_UNSEEN:
+ firstUnseen = null;
+ unseenCount = 0;
+ messageCount = getMessageCount(mailboxSession);
+ break;
default:
firstUnseen = null;
unseenCount = 0;
+ messageCount = -1;
break;
}
return new MailboxMetaData(recent, permanentFlags, uidValidity,
uidNext, messageCount, unseenCount, firstUnseen, isWriteable(mailboxSession));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]