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: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org