You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2015/09/22 12:40:42 UTC
svn commit: r1704566 - in
/james/protocols/trunk/imap/src/main/java/org/apache/james/imap/processor:
DefaultProcessorChain.java main/DefaultImapProcessorFactory.java
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org