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]