Author: norman
Date: Fri Jul 29 10:48:58 2011
New Revision: 1152161
URL: http://svn.apache.org/viewvc?rev=1152161&view=rev
Log:
Update to latest mailbox SNAPSHOT
Modified:
james/imap/trunk/pom.xml
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/AbstractSelectionProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
Modified: james/imap/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/james/imap/trunk/pom.xml?rev=1152161&r1=1152160&r2=1152161&view=diff
==============================================================================
--- james/imap/trunk/pom.xml (original)
+++ james/imap/trunk/pom.xml Fri Jul 29 10:48:58 2011
@@ -383,12 +383,12 @@
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-james-mailbox-api</artifactId>
- <version>0.3</version>
+ <version>0.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-james-mailbox-api</artifactId>
- <version>0.3</version>
+ <version>0.4-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
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=1152161&r1=1152160&r2=1152161&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
Fri Jul 29 10:48:58 2011
@@ -56,6 +56,7 @@ import org.apache.james.mailbox.MessageM
import org.apache.james.mailbox.MessageRange;
import org.apache.james.mailbox.MessageRangeException;
import org.apache.james.mailbox.MessageResult;
+import org.apache.james.mailbox.MessageResultIterator;
import org.apache.james.mailbox.SearchQuery;
import org.apache.james.mailbox.MessageManager.MetaData;
import org.apache.james.mailbox.MessageManager.MetaData.FetchGroup;
@@ -224,7 +225,7 @@ abstract public class AbstractMailboxPro
protected void addFlagsResponses(final ImapSession session, final
SelectedMailbox selected, final ImapProcessor.Responder responder, boolean
useUid, MessageRange messageSet, MessageManager mailbox, MailboxSession
mailboxSession) throws MailboxException {
- final Iterator<MessageResult> it = mailbox.getMessages(messageSet,
FetchGroupImpl.MINIMAL, mailboxSession);
+ final MessageResultIterator it = mailbox.getMessages(messageSet,
FetchGroupImpl.MINIMAL, -1, mailboxSession);
while (it.hasNext()) {
MessageResult mr = it.next();
final long uid = mr.getUid();
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java?rev=1152161&r1=1152160&r2=1152161&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
Fri Jul 29 10:48:58 2011
@@ -53,6 +53,7 @@ import org.apache.james.mailbox.MailboxS
import org.apache.james.mailbox.MessageManager;
import org.apache.james.mailbox.MessageManager.MetaData.FetchGroup;
import org.apache.james.mailbox.MessageRangeException;
+import org.apache.james.mailbox.MessageResultIterator;
import org.apache.james.mailbox.SearchQuery;
import org.apache.james.mailbox.MessageManager.MetaData;
import org.apache.james.mailbox.MessageRange;
@@ -103,11 +104,7 @@ abstract class AbstractSelectionProcesso
} catch (MailboxException e) {
session.getLog().debug("Select failed", e);
no(command, tag, responder, HumanReadableText.SELECT);
- } catch (MessageRangeException e) {
- session.getLog().debug("Select failed", e);
- no(command, tag, responder, HumanReadableText.SELECT);
-
- }
+ }
}
private void respond(String tag, ImapCommand command, ImapSession session,
MailboxPath fullMailboxPath, AbstractMailboxSelectionRequest request, Responder
responder) throws MailboxException, MessageRangeException {
@@ -419,7 +416,7 @@ abstract class AbstractSelectionProcesso
private SelectedMailbox createNewSelectedMailbox(final MessageManager
mailbox, final MailboxSession mailboxSession, ImapSession session, MailboxPath
path) throws MailboxException {
- Iterator<MessageResult> messages =
mailbox.getMessages(MessageRange.all(), FetchGroupImpl.MINIMAL, mailboxSession);
+ MessageResultIterator messages =
mailbox.getMessages(MessageRange.all(), FetchGroupImpl.MINIMAL, -1,
mailboxSession);
Flags applicableFlags = new Flags(flags);
List<Long> uids = new ArrayList<Long>();
while(messages.hasNext()) {
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java?rev=1152161&r1=1152160&r2=1152161&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
Fri Jul 29 10:48:58 2011
@@ -55,7 +55,7 @@ import org.apache.james.mailbox.MessageM
import org.apache.james.mailbox.MessageManager.MetaData;
import org.apache.james.mailbox.MessageRange;
import org.apache.james.mailbox.MessageRangeException;
-import org.apache.james.mailbox.MessageResult;
+import org.apache.james.mailbox.MessageResultIterator;
import org.apache.james.mailbox.SearchQuery;
import org.apache.james.mailbox.SearchQuery.AddressType;
import org.apache.james.mailbox.SearchQuery.Criterion;
@@ -238,7 +238,7 @@ public class SearchProcessor extends Abs
// Reverse loop over the ranges as its more likely that we find a
match at the end
int size = ranges.size();
for (int i = size -1 ; i > 0; i--) {
- Iterator<MessageResult> results =
mailbox.getMessages(ranges.get(i), FetchGroupImpl.MINIMAL, session);
+ MessageResultIterator results = mailbox.getMessages(ranges.get(i),
FetchGroupImpl.MINIMAL, -1, session);
while(results.hasNext()) {
long modSeq = results.next().getModSeq();
if (highestModSeq == null || modSeq > highestModSeq) {
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java?rev=1152161&r1=1152160&r2=1152161&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
Fri Jul 29 10:48:58 2011
@@ -22,7 +22,6 @@ package org.apache.james.imap.processor;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -47,11 +46,13 @@ import org.apache.james.mailbox.MailboxE
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageManager;
+import org.apache.james.mailbox.MessageManager.MetaData;
import org.apache.james.mailbox.MessageManager.MetaData.FetchGroup;
import org.apache.james.mailbox.MessageRange;
import org.apache.james.mailbox.MessageRange.Type;
import org.apache.james.mailbox.MessageRangeException;
import org.apache.james.mailbox.MessageResult;
+import org.apache.james.mailbox.MessageResultIterator;
public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> {
@@ -80,7 +81,8 @@ public class StoreProcessor extends Abst
final Flags flags = request.getFlags();
if (unchangedSince != -1) {
- if (mailbox.isModSeqPermanent(mailboxSession) == false) {
+ MetaData metaData = mailbox.getMetaData(false, mailboxSession,
FetchGroup.NO_COUNT);
+ if (metaData.isModSeqPermanent() == false) {
// Check if the mailbox did not support modsequences. If
so return a tagged bad response.
// See RFC4551 3.1.2. NOMODSEQ Response Code
taggedBad(command, tag, responder,
HumanReadableText.NO_MOD_SEQ);
@@ -115,7 +117,7 @@ public class StoreProcessor extends Abst
List<Long> uids = new ArrayList<Long>();
- Iterator<MessageResult> results =
mailbox.getMessages(messageSet, FetchGroupImpl.MINIMAL, mailboxSession);
+ MessageResultIterator results =
mailbox.getMessages(messageSet, FetchGroupImpl.MINIMAL, -1, mailboxSession);
while(results.hasNext()) {
MessageResult r = results.next();
long uid = r.getUid();
@@ -259,7 +261,7 @@ public class StoreProcessor extends Abst
// - QRESYNC was enabled via ENABLE QRESYNC
//
if (unchangedSince != -1 || qresyncEnabled || condstoreEnabled) {
- Iterator<MessageResult> results =
mailbox.getMessages(messageSet, FetchGroupImpl.MINIMAL, mailboxSession);
+ MessageResultIterator results =
mailbox.getMessages(messageSet, FetchGroupImpl.MINIMAL, -1, mailboxSession);
while(results.hasNext()) {
MessageResult r = results.next();
// Store the modseq for the uid for later usage in the
response
@@ -292,8 +294,6 @@ public class StoreProcessor extends Abst
resultFlags.add(Flags.Flag.RECENT);
}
- session.getLog().debug("CONDSTORE="
+enabled.contains(ImapConstants.SUPPORTS_CONDSTORE));
-
final FetchResponse response;
// For more informations related to the FETCH response see
//
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java?rev=1152161&r1=1152160&r2=1152161&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
Fri Jul 29 10:48:58 2011
@@ -43,7 +43,7 @@ import org.apache.james.mailbox.MailboxE
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageManager;
-import org.apache.james.mailbox.MessageManager.MessageCallback;
+import org.apache.james.mailbox.MessageResultIterator;
import org.apache.james.mailbox.MessageManager.MetaData;
import org.apache.james.mailbox.MessageRange;
import org.apache.james.mailbox.MessageRangeException;
@@ -109,7 +109,7 @@ public class FetchProcessor extends Abst
MessageRange messageSet = messageRange(session.getSelected(),
idSet[i], useUids);
if (messageSet != null) {
MessageRange normalizedMessageSet =
normalizeMessageRange(session.getSelected(), messageSet);
- MessageRange batchedMessageSet =
MessageRange.range(normalizedMessageSet.getUidFrom(),
normalizedMessageSet.getUidTo(), batchSize);
+ MessageRange batchedMessageSet =
MessageRange.range(normalizedMessageSet.getUidFrom(),
normalizedMessageSet.getUidTo());
ranges.add(batchedMessageSet);
}
}
@@ -161,26 +161,27 @@ public class FetchProcessor extends Abst
FetchGroup resultToFetch = getFetchGroup(fetch);
for (int i = 0; i < ranges.size(); i++) {
- mailbox.getMessages(ranges.get(i), resultToFetch, mailboxSession,
new MessageCallback() {
-
- public void onMessages(Iterator<MessageResult> it) throws
MailboxException {
- while (it.hasNext()) {
- final MessageResult result = it.next();
- try {
- final FetchResponse response =
builder.build(fetch, result, mailbox, session, useUids);
- responder.respond(response);
- } catch (ParseException e) {
- // we can't for whatever reason parse the message
so
- // just skip it and log it to debug
- session.getLog().debug("Unable to parse message
with uid " + result.getUid(), e);
- } catch (MessageRangeException e) {
- // we can't for whatever reason find the message so
- // just skip it and log it to debug
- session.getLog().debug("Unable to find message
with uid " + result.getUid(), e);
- }
- }
+ MessageResultIterator messages =
mailbox.getMessages(ranges.get(i), resultToFetch, batchSize, mailboxSession);
+ while (messages.hasNext()) {
+ final MessageResult result = messages.next();
+ try {
+ final FetchResponse response = builder.build(fetch,
result, mailbox, session, useUids);
+ responder.respond(response);
+ } catch (ParseException e) {
+ // we can't for whatever reason parse the message so
+ // just skip it and log it to debug
+ session.getLog().debug("Unable to parse message with uid "
+ result.getUid(), e);
+ } catch (MessageRangeException e) {
+ // we can't for whatever reason find the message so
+ // just skip it and log it to debug
+ session.getLog().debug("Unable to find message with uid "
+ result.getUid(), e);
}
- });
+ }
+
+ // Throw the exception if we received one
+ if (messages.getException() != null) {
+ throw messages.getException();
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]