Author: wstrzalka
Date: Sun Feb 20 08:06:21 2011
New Revision: 1072524

URL: http://svn.apache.org/viewvc?rev=1072524&view=rev
Log:
Add possibility to configure batch size for FETCH command. See IMAP-259

Modified:
    
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/ImapConstants.java
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java

Modified: 
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/ImapConstants.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/api/src/main/java/org/apache/james/imap/api/ImapConstants.java?rev=1072524&r1=1072523&r2=1072524&view=diff
==============================================================================
--- 
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/ImapConstants.java 
(original)
+++ 
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/ImapConstants.java 
Sun Feb 20 08:06:21 2011
@@ -242,5 +242,7 @@ public interface ImapConstants {
     public static final long MIN_NZ_NUMBER = 1L;
 
     public static final String COMPRESS_COMMAND_NAME = "COMPRESS";
+    
+    public static final int DEFAULT_BATCH_SIZE = 100;
 
 }

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java?rev=1072524&r1=1072523&r2=1072524&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
 Sun Feb 20 08:06:21 2011
@@ -36,16 +36,7 @@ public class DefaultProcessorChain {
             final ImapProcessor chainEndProcessor,
             final MailboxManager mailboxManager,
             final SubscriptionManager subscriptionManager,
-            final StatusResponseFactory statusResponseFactory,MailboxTyper 
mailboxTyper) {
-        return createDefaultChain(chainEndProcessor, mailboxManager, 
subscriptionManager, statusResponseFactory, mailboxTyper,100);
-        
-    }  
-    
-    public static final ImapProcessor createDefaultChain(
-            final ImapProcessor chainEndProcessor,
-            final MailboxManager mailboxManager,
-            final SubscriptionManager subscriptionManager,
-            final StatusResponseFactory statusResponseFactory, MailboxTyper 
mailboxTyper,int batchSize) {
+            final StatusResponseFactory statusResponseFactory, MailboxTyper 
mailboxTyper, int batchSize) {
         final SystemMessageProcessor systemProcessor = new 
SystemMessageProcessor(chainEndProcessor, mailboxManager);
         final LogoutProcessor logoutProcessor = new LogoutProcessor(
                 systemProcessor, mailboxManager, statusResponseFactory);

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java?rev=1072524&r1=1072523&r2=1072524&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
 Sun Feb 20 08:06:21 2011
@@ -19,6 +19,7 @@
 
 package org.apache.james.imap.processor.main;
 
+import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.MailboxTyper;
@@ -35,16 +36,24 @@ import org.apache.james.mailbox.Subscrip
 public class DefaultImapProcessorFactory {
 
     public static final ImapProcessor createDefaultProcessor(final 
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager) {
-        return createXListSupportingProcessor(mailboxManager, 
subscriptionManager, null);
+        return createXListSupportingProcessor(mailboxManager, 
subscriptionManager, null, ImapConstants.DEFAULT_BATCH_SIZE);
     }
 
+    public static final ImapProcessor createDefaultProcessor(final 
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager, 
int batchSize) {
+        return createXListSupportingProcessor(mailboxManager, 
subscriptionManager, null, batchSize);
+    }
+    
     public static final ImapProcessor createXListSupportingProcessor(final 
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager, 
MailboxTyper mailboxTyper) {
+       return createXListSupportingProcessor(mailboxManager, 
subscriptionManager, mailboxTyper, ImapConstants.DEFAULT_BATCH_SIZE);
+    }
+    
+    public static final ImapProcessor createXListSupportingProcessor(final 
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager, 
MailboxTyper mailboxTyper, int batchSize) {
         final StatusResponseFactory statusResponseFactory = new 
UnpooledStatusResponseFactory();
         final UnknownRequestProcessor unknownRequestImapProcessor = new 
UnknownRequestProcessor(
                 statusResponseFactory);
         final ImapProcessor imap4rev1Chain = DefaultProcessorChain
                 .createDefaultChain(unknownRequestImapProcessor,
-                        mailboxManager, subscriptionManager, 
statusResponseFactory, mailboxTyper);
+                        mailboxManager, subscriptionManager, 
statusResponseFactory, mailboxTyper, batchSize);
         final ImapProcessor result = new ImapResponseMessageProcessor(
                 imap4rev1Chain);
         return result;



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to