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