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 2009/05/07 22:54:28 UTC
svn commit: r772770 - in /james/imap/trunk:
api/src/main/java/org/apache/james/imap/api/process/
processor/src/main/java/org/apache/james/imap/processor/
processor/src/main/java/org/apache/james/imap/processor/base/
seda/src/test/resources/org/apache/j...
Author: rdonkin
Date: Thu May 7 20:54:28 2009
New Revision: 772770
URL: http://svn.apache.org/viewvc?rev=772770&view=rev
Log:
Fixed ordering bug in EXPUNGE. IMAP-78 https://issues.apache.org/jira/browse/IMAP-78
Modified:
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/AppendExpunge.test
james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/ExpungeBasics.test
Modified: james/imap/trunk/api/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/api/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java?rev=772770&r1=772769&r2=772770&view=diff
==============================================================================
--- james/imap/trunk/api/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java (original)
+++ james/imap/trunk/api/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java Thu May 7 20:54:28 2009
@@ -60,7 +60,13 @@
public Collection<Long> expungedUids();
- public void expunged(Collection<Long> expungedUids);
+ /**
+ * Removes the given UID.
+ * @param uid not null
+ * @return the message sequence number that the UID held before
+ * being expunged
+ */
+ public int remove(Long uid);
public Collection<Long> flagUpdateUids();
}
\ No newline at end of file
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java?rev=772770&r1=772769&r2=772770&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java Thu May 7 20:54:28 2009
@@ -164,12 +164,11 @@
final Collection<Long> expungedUids = selected.expungedUids();
for (final Long uid: expungedUids) {
final long uidValue = uid.longValue();
- final int msn = selected.msn(uidValue);
+ final int msn = selected.remove(uidValue);
// TODO: use factory
ExpungeResponse response = new ExpungeResponse(msn);
responder.respond(response);
}
- selected.expunged(expungedUids);
}
private void addFlagsResponses(final ImapSession session, final SelectedMailbox selected,
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java?rev=772770&r1=772769&r2=772770&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java Thu May 7 20:54:28 2009
@@ -143,11 +143,10 @@
return events.expungedUids();
}
- public void expunged(Collection<Long> expungedUids) {
- for (final Long uid: expungedUids) {
- final long uidValue = uid.longValue();
- converter.expunge(uidValue);
- }
+ public int remove(Long uid) {
+ final int result = msn(uid);
+ converter.expunge(uid);
+ return result;
}
public Collection<Long> flagUpdateUids() {
Modified: james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/AppendExpunge.test
URL: http://svn.apache.org/viewvc/james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/AppendExpunge.test?rev=772770&r1=772769&r2=772770&view=diff
==============================================================================
--- james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/AppendExpunge.test (original)
+++ james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/AppendExpunge.test Thu May 7 20:54:28 2009
@@ -80,7 +80,7 @@
C: A007 EXPUNGE
S: \* 1 EXPUNGE
-S: \* 2 EXPUNGE
+S: \* 1 EXPUNGE
S: \* \d+ RECENT
S: A007 OK EXPUNGE completed.
Modified: james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/ExpungeBasics.test
URL: http://svn.apache.org/viewvc/james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/ExpungeBasics.test?rev=772770&r1=772769&r2=772770&view=diff
==============================================================================
--- james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/ExpungeBasics.test (original)
+++ james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/ExpungeBasics.test Thu May 7 20:54:28 2009
@@ -696,8 +696,8 @@
S: A17 OK STORE completed.
C: A18 EXPUNGE
S: \* 4 EXPUNGE
-S: \* 6 EXPUNGE
-S: \* 7 EXPUNGE
+S: \* 5 EXPUNGE
+S: \* 5 EXPUNGE
S: \* 7 RECENT
S: A18 OK EXPUNGE completed.
C: A19 SELECT testmailbox
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org