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 rd...@apache.org on 2008/03/09 23:49:46 UTC
svn commit: r635390 -
/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java
Author: rdonkin
Date: Sun Mar 9 15:49:44 2008
New Revision: 635390
URL: http://svn.apache.org/viewvc?rev=635390&view=rev
Log:
Fixed faulty coding in flag response. Always stick to one loop per method and this kind of bug doesn't happen.
Modified:
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java?rev=635390&r1=635389&r2=635390&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java Sun Mar 9 15:49:44 2008
@@ -131,28 +131,32 @@
private void addFlagsResponses(final List responses, boolean useUid, final ImapMailbox mailbox) {
try {
-
for (final Iterator it = events.flagUpdateUids(); it.hasNext();) {
Long uid = (Long) it.next();
GeneralMessageSet messageSet = GeneralMessageSetImpl.oneUid(uid.longValue());
- final Iterator messages = mailbox.getMessages(messageSet, FetchGroupImpl.FLAGS, mailboxSession);
- while (messages.hasNext()) {
- MessageResult mr = (MessageResult) it.next();
- int msn = msn(mr.getUid());
- final Flags flags = mr.getFlags();
- final Long uidOut;
- if (useUid) {
- uidOut = new Long(mr.getUid());
- } else {
- uidOut = null;
- }
- FetchResponse response = new FetchResponse(msn, flags, uidOut, null, null, null, null, null);
- responses.add(response);
- }
+ addFlagsResponses(responses, useUid, mailbox, messageSet);
}
} catch (MessagingException e) {
final String message = "Failed to retrieve flags data";
handleResponseException(responses, e, message);
+ }
+ }
+
+ private void addFlagsResponses(final List responses, boolean useUid, final ImapMailbox mailbox, GeneralMessageSet messageSet) throws MailboxManagerException {
+ final Iterator it = mailbox.getMessages(messageSet, FetchGroupImpl.FLAGS, mailboxSession);
+ while (it.hasNext()) {
+ MessageResult mr = (MessageResult) it.next();
+ final long uid = mr.getUid();
+ int msn = msn(uid);
+ final Flags flags = mr.getFlags();
+ final Long uidOut;
+ if (useUid) {
+ uidOut = new Long(uid);
+ } else {
+ uidOut = null;
+ }
+ FetchResponse response = new FetchResponse(msn, flags, uidOut, null, null, null, null, null);
+ responses.add(response);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org