Author: norman
Date: Mon Mar 29 06:52:44 2010
New Revision: 928612
URL: http://svn.apache.org/viewvc?rev=928612&view=rev
Log:
Fix stat command, which was failing on empty inbox. This effected thunderbird
sometimes.. (Thx Eric for the pointer)
Modified:
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
Modified:
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java?rev=928612&r1=928611&r2=928612&view=diff
==============================================================================
---
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
(original)
+++
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
Mon Mar 29 06:52:44 2010
@@ -58,19 +58,21 @@ public class StatCmdHandler implements C
try {
List<Long> uidList = (List<Long>)
session.getState().get(POP3Session.UID_LIST);
List<Long> deletedUidList = (List<Long>)
session.getState().get(POP3Session.DELETED_UID_LIST);
-
- MailboxSession mailboxSession = (MailboxSession)
session.getState().get(POP3Session.MAILBOX_SESSION);
- Iterator<MessageResult> results =
session.getUserMailbox().getMessages(MessageRange.range(uidList.get(0),
uidList.get(uidList.size() -1)), new FetchGroupImpl(FetchGroup.MINIMAL),
mailboxSession);
-
long size = 0;
int count = 0;
- List<MessageResult> validResults = new
ArrayList<MessageResult>();
- while (results.hasNext()) {
- MessageResult result = results.next();
- if (deletedUidList.contains(result.getUid()) == false) {
- size += result.getSize();
- count++;
- validResults.add(result);
+ if (uidList.isEmpty() == false) {
+ MailboxSession mailboxSession = (MailboxSession)
session.getState().get(POP3Session.MAILBOX_SESSION);
+ Iterator<MessageResult> results =
session.getUserMailbox().getMessages(MessageRange.range(uidList.get(0),
uidList.get(uidList.size() -1)), new FetchGroupImpl(FetchGroup.MINIMAL),
mailboxSession);
+
+
+ List<MessageResult> validResults = new
ArrayList<MessageResult>();
+ while (results.hasNext()) {
+ MessageResult result = results.next();
+ if (deletedUidList.contains(result.getUid()) == false)
{
+ size += result.getSize();
+ count++;
+ validResults.add(result);
+ }
}
}
StringBuilder responseBuffer =
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]