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]

Reply via email to