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]

Reply via email to