Author: rdonkin
Date: Sat Jan  3 11:00:53 2009
New Revision: 731064

URL: http://svn.apache.org/viewvc?rev=731064&view=rev
Log:
No need to cache mailbox manager

Modified:
    
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/AbstractMailboxAwareProcessor.java
    
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/ImapSessionUtils.java
    
james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/LSubProcessorTest.java
    
james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/SearchProcessorTest.java

Modified: 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/AbstractMailboxAwareProcessor.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/AbstractMailboxAwareProcessor.java?rev=731064&r1=731063&r2=731064&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/AbstractMailboxAwareProcessor.java
 (original)
+++ 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/AbstractMailboxAwareProcessor.java
 Sat Jan  3 11:00:53 2009
@@ -309,33 +309,8 @@
 
     public MailboxManager getMailboxManager(final ImapSession session)
             throws MailboxException {
-        // TODO: removed badly implemented and ineffective check that mailbox
-        // user matches current user
-        // TODO: add check into user login methods
-        // TODO: shouldn't need to cache mailbox manager
         // TODO: consolidate API by deleting provider and supply manager direct
-        MailboxManager result = (MailboxManager) session
-                
.getAttribute(ImapSessionUtils.MAILBOX_MANAGER_ATTRIBUTE_SESSION_KEY);
-        if (result == null) {
-            result = mailboxManagerProvider.getMailboxManager();
-            //
-            // Mailbox manager is the primary point of contact
-            // But not need to create mailbox until user is logged in
-            //
-            final String user = ImapSessionUtils.getUserName(session);
-            if (user != null) {
-                // TODO: reconsider decision not to sunchronise
-                // TODO: mailbox creation is ATM an expensive operation
-                // TODO: so caching is required
-                // TODO: caching in the session seems like the wrong design
-                // decision, though
-                // TODO: the mailbox provider should perform any caching that 
is
-                // required
-                session.setAttribute(
-                        ImapSessionUtils.MAILBOX_MANAGER_ATTRIBUTE_SESSION_KEY,
-                        result);
-            }
-        }
+        final MailboxManager result = 
mailboxManagerProvider.getMailboxManager();
         return result;
     }
 

Modified: 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/ImapSessionUtils.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/ImapSessionUtils.java?rev=731064&r1=731063&r2=731064&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/ImapSessionUtils.java
 (original)
+++ 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/base/ImapSessionUtils.java
 Sat Jan  3 11:00:53 2009
@@ -26,8 +26,6 @@
 
     public static final String MAILBOX_USER_ATTRIBUTE_SESSION_KEY = 
"org.apache.james.api.imap.MAILBOX_USER_ATTRIBUTE_SESSION_KEY";
 
-    public static final String MAILBOX_MANAGER_ATTRIBUTE_SESSION_KEY = 
"org.apache.james.api.imap.MAILBOX_MANAGER_ATTRIBUTE_SESSION_KEY";
-
     public static final String SELECTED_MAILBOX_ATTRIBUTE_SESSION_KEY = 
"org.apache.james.api.imap.SELECTED_MAILBOX_ATTRIBUTE_SESSION_KEY";
 
     public static final String MAILBOX_SESSION_ATTRIBUTE_SESSION_KEY = 
"org.apache.james.api.imap.MAILBOX_SESSION_ATTRIBUTE_SESSION_KEY";

Modified: 
james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/LSubProcessorTest.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/LSubProcessorTest.java?rev=731064&r1=731063&r2=731064&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/LSubProcessorTest.java
 (original)
+++ 
james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/LSubProcessorTest.java
 Sat Jan  3 11:00:53 2009
@@ -82,14 +82,14 @@
 
     Mock statusResponse;
 
-    Collection subscriptions;
+    Collection<String> subscriptions;
 
     ImapCommand imapCommand;
 
     private ImapProcessor.Responder responderImpl;
 
     protected void setUp() throws Exception {
-        subscriptions = new ArrayList();
+        subscriptions = new ArrayList<String>();
         serverResponseFactory = mock(StatusResponseFactory.class);
         session = mock(ImapSession.class);
         command = mock(ImapCommand.class);
@@ -104,6 +104,7 @@
         processor = new LSubProcessor((ImapProcessor) next.proxy(),
                 (MailboxManagerProvider) provider.proxy(),
                 (StatusResponseFactory) serverResponseFactory.proxy());
+        
provider.expects(atMostOnce()).method("getMailboxManager").will(returnValue(manager.proxy()));
     }
 
     protected void tearDown() throws Exception {
@@ -232,9 +233,6 @@
 
     private void expectSubscriptions() {
         session.expects(once()).method("getAttribute").with(
-                eq(ImapSessionUtils.MAILBOX_MANAGER_ATTRIBUTE_SESSION_KEY))
-                .will(returnValue(manager.proxy()));
-        session.expects(once()).method("getAttribute").with(
                 eq(ImapSessionUtils.MAILBOX_USER_ATTRIBUTE_SESSION_KEY)).will(
                 returnValue(USER));
 

Modified: 
james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/SearchProcessorTest.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/SearchProcessorTest.java?rev=731064&r1=731063&r2=731064&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/SearchProcessorTest.java
 (original)
+++ 
james/protocols/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/imap4rev1/SearchProcessorTest.java
 Sat Jan  3 11:00:53 2009
@@ -159,7 +159,6 @@
         
         
session.expects(atMostOnce()).method("getAttribute").with(eq(ImapSessionUtils.SELECTED_MAILBOX_ATTRIBUTE_SESSION_KEY)).will(returnValue(mailbox));
         
session.expects(atMostOnce()).method("getAttribute").with(eq(ImapSessionUtils.MAILBOX_USER_ATTRIBUTE_SESSION_KEY)).will(returnValue("user"));
-        
session.expects(atMostOnce()).method("getAttribute").with(eq(ImapSessionUtils.MAILBOX_MANAGER_ATTRIBUTE_SESSION_KEY)).will(returnValue(mailboxManager.proxy()));
         
session.expects(atMostOnce()).method("getAttribute").with(eq(ImapSessionUtils.MAILBOX_SESSION_ATTRIBUTE_SESSION_KEY)).will(returnValue(mailboxSession.proxy()));
         
         
mailboxManagerProvider.expects(atMostOnce()).method("getMailboxManager").will(returnValue(mailboxManager.proxy()));



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to