Author: btellier
Date: Tue Sep 22 10:40:38 2015
New Revision: 1704566
URL: http://svn.apache.org/viewvc?rev=1704566&view=rev
Log:
PROTOCOLS-108 enabling Quota processors
Modified:
james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
Modified:
james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java?rev=1704566&r1=1704565&r2=1704566&view=diff
==============================================================================
---
james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
(original)
+++
james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
Tue Sep 22 10:40:38 2015
@@ -29,13 +29,18 @@ import org.apache.james.imap.api.process
import org.apache.james.imap.processor.fetch.FetchProcessor;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.SubscriptionManager;
+import org.apache.james.mailbox.quota.QuotaManager;
+import org.apache.james.mailbox.quota.QuotaRootResolver;
/**
* TODO: perhaps this should be a POJO
*/
public class DefaultProcessorChain {
- public static final ImapProcessor createDefaultChain(final ImapProcessor
chainEndProcessor, final MailboxManager mailboxManager, final
SubscriptionManager subscriptionManager, final StatusResponseFactory
statusResponseFactory, MailboxTyper mailboxTyper, long idleKeepAlive, TimeUnit
milliseconds, Set<String> disabledCaps) {
+ public static ImapProcessor createDefaultChain(final ImapProcessor
chainEndProcessor,
+ final MailboxManager mailboxManager, final
SubscriptionManager subscriptionManager,
+ final StatusResponseFactory statusResponseFactory,
MailboxTyper mailboxTyper, final QuotaManager quotaManager,
+ final QuotaRootResolver quotaRootResolver, long
idleKeepAlive, TimeUnit milliseconds, Set<String> disabledCaps) {
final SystemMessageProcessor systemProcessor = new
SystemMessageProcessor(chainEndProcessor, mailboxManager);
final LogoutProcessor logoutProcessor = new
LogoutProcessor(systemProcessor, mailboxManager, statusResponseFactory);
@@ -94,7 +99,10 @@ public class DefaultProcessorChain {
final MyRightsProcessor myRightsProcessor = new
MyRightsProcessor(listRightsProcessor, mailboxManager, statusResponseFactory);
final EnableProcessor enableProcessor = new
EnableProcessor(myRightsProcessor, mailboxManager, statusResponseFactory);
-
+
+ final GetQuotaProcessor getQuotaProcessor = new
GetQuotaProcessor(enableProcessor, mailboxManager, statusResponseFactory,
quotaManager, quotaRootResolver);
+ final SetQuotaProcessor setQuotaProcessor = new
SetQuotaProcessor(getQuotaProcessor, mailboxManager, statusResponseFactory);
+ final GetQuotaRootProcessor getQuotaRootProcessor = new
GetQuotaRootProcessor(setQuotaProcessor, mailboxManager, statusResponseFactory,
quotaRootResolver, quotaManager);
// add for QRESYNC
enableProcessor.addProcessor(selectProcessor);
@@ -121,7 +129,9 @@ public class DefaultProcessorChain {
capabilityProcessor.addProcessor(getACLProcessor);
- return enableProcessor;
+ capabilityProcessor.addProcessor(getQuotaRootProcessor);
+
+ return getQuotaRootProcessor;
}
Modified:
james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java?rev=1704566&r1=1704565&r2=1704566&view=diff
==============================================================================
---
james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
(original)
+++
james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
Tue Sep 22 10:40:38 2015
@@ -33,67 +33,84 @@ import org.apache.james.imap.processor.b
import org.apache.james.imap.processor.base.UnknownRequestProcessor;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.SubscriptionManager;
+import org.apache.james.mailbox.quota.QuotaManager;
+import org.apache.james.mailbox.quota.QuotaRootResolver;
/**
*
*/
public class DefaultImapProcessorFactory {
- public static final ImapProcessor createDefaultProcessor(final
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager) {
- return createXListSupportingProcessor(mailboxManager,
subscriptionManager, null, IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS,
new HashSet<String>());
+ public static ImapProcessor createDefaultProcessor(final MailboxManager
mailboxManager, final SubscriptionManager subscriptionManager, QuotaManager
quotaManager, QuotaRootResolver quotaRootResolver) {
+ return createXListSupportingProcessor(mailboxManager,
subscriptionManager, null, quotaManager, quotaRootResolver,
IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS, new HashSet<String>());
}
- public static final ImapProcessor createDefaultProcessor(final
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager,
long idleKeepAlive) {
- return createXListSupportingProcessor(mailboxManager,
subscriptionManager, null, idleKeepAlive, new HashSet<String>());
+ public static ImapProcessor createDefaultProcessor(final MailboxManager
mailboxManager, final SubscriptionManager subscriptionManager, QuotaManager
quotaManager, QuotaRootResolver quotaRootResolver, long idleKeepAlive) {
+ return createXListSupportingProcessor(mailboxManager,
subscriptionManager, null, quotaManager, quotaRootResolver, idleKeepAlive, new
HashSet<String>());
}
- public static final ImapProcessor createXListSupportingProcessor(final
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager,
MailboxTyper mailboxTyper) {
- return createXListSupportingProcessor(mailboxManager,
subscriptionManager, mailboxTyper,
IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS, new HashSet<String>());
+ public static ImapProcessor createXListSupportingProcessor(final
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager,
MailboxTyper mailboxTyper, QuotaManager quotaManager, QuotaRootResolver
quotaRootResolver) {
+ return createXListSupportingProcessor(mailboxManager,
subscriptionManager, mailboxTyper, quotaManager, quotaRootResolver,
IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS, new HashSet<String>());
}
- public static final ImapProcessor createXListSupportingProcessor(final
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager,
MailboxTyper mailboxTyper, long idleKeepAlive, Set<String> disabledCaps) {
+ public static ImapProcessor createXListSupportingProcessor(final
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager,
MailboxTyper mailboxTyper, QuotaManager quotaManager, QuotaRootResolver
quotaRootResolver, long idleKeepAlive, Set<String> disabledCaps) {
final StatusResponseFactory statusResponseFactory = new
UnpooledStatusResponseFactory();
final UnknownRequestProcessor unknownRequestImapProcessor = new
UnknownRequestProcessor(statusResponseFactory);
- final ImapProcessor imap4rev1Chain =
DefaultProcessorChain.createDefaultChain(unknownRequestImapProcessor,
mailboxManager, subscriptionManager, statusResponseFactory, mailboxTyper,
idleKeepAlive, TimeUnit.SECONDS, disabledCaps);
- final ImapProcessor result = new
ImapResponseMessageProcessor(imap4rev1Chain);
- return result;
+ final ImapProcessor imap4rev1Chain =
DefaultProcessorChain.createDefaultChain(unknownRequestImapProcessor,
mailboxManager, subscriptionManager, statusResponseFactory, mailboxTyper,
quotaManager, quotaRootResolver, idleKeepAlive, TimeUnit.SECONDS, disabledCaps);
+ return new ImapResponseMessageProcessor(imap4rev1Chain);
}
private MailboxManager mailboxManager;
-
- public final MailboxManager getMailboxManager() {
- return mailboxManager;
- }
+ private SubscriptionManager subscriptionManager;
+ private MailboxTyper mailboxTyper;
+ private QuotaManager quotaManager;
+ private QuotaRootResolver quotaRootResolver;
public final void setMailboxManager(MailboxManager mailboxManager) {
this.mailboxManager = mailboxManager;
}
- private SubscriptionManager subscriptionManager;
+ public final void setSubscriptionManager(SubscriptionManager
subscriptionManager) {
+ this.subscriptionManager = subscriptionManager;
+ }
- public final SubscriptionManager getSubscriptionManager() {
- return subscriptionManager;
+ public void setMailboxTyper(MailboxTyper mailboxTyper) {
+ this.mailboxTyper = mailboxTyper;
}
- public final void setSubscriptionManager(SubscriptionManager
subscriptionManager) {
- this.subscriptionManager = subscriptionManager;
+ public void setQuotaManager(QuotaManager quotaManager) {
+ this.quotaManager = quotaManager;
}
- /**
- * Create the {@link ImapProcessor}
- */
- public ImapProcessor buildImapProcessor() {
- return createDefaultProcessor(mailboxManager, subscriptionManager);
+ public void setQuotaRootResolver(QuotaRootResolver quotaRootResolver) {
+ this.quotaRootResolver = quotaRootResolver;
}
- private MailboxTyper mailboxTyper;
+ public final MailboxManager getMailboxManager() {
+ return mailboxManager;
+ }
+
+ public final SubscriptionManager getSubscriptionManager() {
+ return subscriptionManager;
+ }
public MailboxTyper getMailboxTyper() {
return mailboxTyper;
}
- public void setMailboxTyper(MailboxTyper mailboxTyper) {
- this.mailboxTyper = mailboxTyper;
+ public QuotaManager getQuotaManager() {
+ return quotaManager;
+ }
+
+ public QuotaRootResolver getQuotaRootResolver() {
+ return quotaRootResolver;
+ }
+
+ /**
+ * Create the {@link ImapProcessor}
+ */
+ public ImapProcessor buildImapProcessor() {
+ return createDefaultProcessor(mailboxManager, subscriptionManager,
quotaManager, quotaRootResolver);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]