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]

Reply via email to