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]