Author: rdonkin
Date: Wed May 14 13:24:28 2008
New Revision: 656409
URL: http://svn.apache.org/viewvc?rev=656409&view=rev
Log:
Moved resolution to MailboxManager from Provider
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManager.java
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractMailboxAwareProcessor.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapSessionImpl.java
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManager.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManager.java?rev=656409&r1=656408&r2=656409&view=diff
==============================================================================
---
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManager.java
(original)
+++
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManager.java
Wed May 14 13:24:28 2008
@@ -67,6 +67,14 @@
public static final String USER_NAMESPACE="#mail";
public static final String INBOX = "INBOX";
+
+ /**
+ * <p>Resolves a path for the given user.</p>
+ * TODO: Think about replacing this operation
+ * TODO: More elegant to pass in the username
+ * TODO: Or switch to URLs
+ */
+ String resolve(String userName, String mailboxPath);
/**
* Gets an session suitable for IMAP.
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java?rev=656409&r1=656408&r2=656409&view=diff
==============================================================================
---
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
(original)
+++
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
Wed May 14 13:24:28 2008
@@ -20,8 +20,6 @@
package org.apache.james.mailboxmanager.manager;
import org.apache.james.mailboxmanager.MailboxManagerException;
-import org.apache.james.mailboxmanager.Namespace;
-import org.apache.james.services.User;
public interface MailboxManagerProvider {
@@ -30,15 +28,4 @@
public MailboxManager getMailboxManager() throws MailboxManagerException;
- /**
- * To get the Inbox you can just to a mailbox
- * defaultNameSpace=ImapMailboxRepository.getPersonalDefaultNameSpace(user)
- *
inbox=defaultNameSpace.getName()+defaultNameSpace.getHierarchyDelimter()+"INBOX";
- * TODO add a convinience method to get directly a session mailbox for a
users inbox
- * @param forUser TODO
- *
- * @return <code>Namespace</code> TODO: allows nulls?
- */
- Namespace getPersonalDefaultNamespace(User forUser);
-
}
Modified:
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractMailboxAwareProcessor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractMailboxAwareProcessor.java?rev=656409&r1=656408&r2=656409&view=diff
==============================================================================
---
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractMailboxAwareProcessor.java
(original)
+++
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractMailboxAwareProcessor.java
Wed May 14 13:24:28 2008
@@ -42,9 +42,9 @@
return buildFullName(mailboxName, user);
}
- private String buildFullName(String mailboxName, User user) {
+ private String buildFullName(String mailboxName, User user) throws
MailboxManagerException {
if (!mailboxName.startsWith(NAMESPACE_PREFIX)) {
- mailboxName =
mailboxManagerProvider.getPersonalDefaultNamespace(user).getName()+HIERARCHY_DELIMITER+mailboxName;
+ mailboxName =
mailboxManagerProvider.getMailboxManager().resolve(user.getUserName(),mailboxName);
}
return mailboxName;
}
Modified:
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapSessionImpl.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapSessionImpl.java?rev=656409&r1=656408&r2=656409&view=diff
==============================================================================
---
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapSessionImpl.java
(original)
+++
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapSessionImpl.java
Wed May 14 13:24:28 2008
@@ -220,7 +220,7 @@
public String buildFullName(String mailboxName) throws
MailboxManagerException {
if (!mailboxName.startsWith(NAMESPACE_PREFIX)) {
- mailboxName =
mailboxManagerProvider.getPersonalDefaultNamespace(user).getName()+HIERARCHY_DELIMITER+mailboxName;
+ mailboxName =
mailboxManagerProvider.getMailboxManager().resolve(user.getUserName(),
mailboxName);
}
return mailboxName;
}
Modified:
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java?rev=656409&r1=656408&r2=656409&view=diff
==============================================================================
---
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java
(original)
+++
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java
Wed May 14 13:24:28 2008
@@ -38,8 +38,6 @@
import org.apache.james.mailboxmanager.mailbox.Mailbox;
import org.apache.james.mailboxmanager.manager.MailboxManager;
import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
-import org.apache.james.services.User;
-import org.apache.james.userrepository.DefaultUser;
import org.apache.james.util.mail.mdn.ActionModeAutomatic;
import org.apache.james.util.mail.mdn.Disposition;
import org.apache.james.util.mail.mdn.DispositionModifier;
@@ -104,7 +102,6 @@
.getAttribute(Constants.AVALON_COMPONENT_MANAGER);
String destinationMailbox = anAction.getDestination();
MailAddress recipient;
- User user;
MailboxManagerProvider mailboxManagerProvider;
boolean delivered = false;
try
@@ -112,7 +109,6 @@
mailboxManagerProvider = (MailboxManagerProvider) compMgr
.lookup(MailboxManagerProvider.class.getName());
recipient = getSoleRecipient(aMail);
- user=new DefaultUser(recipient.getUser(), null);
MimeMessage localMessage = createMimeMessage(aMail, recipient);
if (!(destinationMailbox.length() > 0
@@ -120,8 +116,7 @@
destinationMailbox = MailboxManager.HIERARCHY_DELIMITER +
destinationMailbox;
}
final String mailboxName =
-
mailboxManagerProvider.getPersonalDefaultNamespace(user).getName()
- + destinationMailbox;
+
mailboxManagerProvider.getMailboxManager().resolve(recipient.getUser(),
destinationMailbox);
final MailboxManager mailboxManager =
mailboxManagerProvider.getMailboxManager();
Mailbox mailbox=mailboxManager.getMailbox(mailboxName, true);
final MailboxSession session = mailboxManager.createSession();
Modified:
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java?rev=656409&r1=656408&r2=656409&view=diff
==============================================================================
---
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java
(original)
+++
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java
Wed May 14 13:24:28 2008
@@ -236,8 +236,7 @@
void storeMessageInbox(String username, MimeMessage message) throws
MessagingException {
final MailboxManagerProvider mailboxManagerProvider =
getMailboxManagerProvider();
- final String inboxName =
mailboxManagerProvider.getPersonalDefaultNamespace(new DefaultUser(username,
null))
- .getName() + MailboxManager.HIERARCHY_DELIMITER+"INBOX";
+ final String inboxName =
mailboxManagerProvider.getMailboxManager().resolve(username, "INBOX");
final MailboxManager mailboxManager =
mailboxManagerProvider.getMailboxManager();
final MailboxSession session = mailboxManager.createSession();
Modified:
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java?rev=656409&r1=656408&r2=656409&view=diff
==============================================================================
---
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
(original)
+++
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
Wed May 14 13:24:28 2008
@@ -301,4 +301,12 @@
return new TorqueMailboxSession(random.nextLong());
}
+ public String resolve(final String userName, String mailboxPath) {
+ if (mailboxPath.charAt(0) != HIERARCHY_DELIMITER) {
+ mailboxPath = HIERARCHY_DELIMITER + mailboxPath ;
+ }
+ final String result = USER_NAMESPACE + HIERARCHY_DELIMITER + userName
+ mailboxPath;
+ return result;
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]