Repository: james-project
Updated Branches:
  refs/heads/master f8993a19f -> 2248c18cd


JAMES-1838 Extract Path building from AbstractMailboxProcessor


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/490bd69a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/490bd69a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/490bd69a

Branch: refs/heads/master
Commit: 490bd69aa59a8a67b51e76f06c4de11103e49b22
Parents: 8bba513
Author: Benoit Tellier <btell...@linagora.com>
Authored: Wed Oct 19 15:30:17 2016 +0200
Committer: Benoit Tellier <btell...@linagora.com>
Committed: Fri Oct 21 17:00:39 2016 +0200

----------------------------------------------------------------------
 .../apache/james/imap/main/PathConverter.java   | 78 ++++++++++++++++++++
 .../imap/processor/AbstractAuthProcessor.java   |  3 +-
 .../processor/AbstractMailboxProcessor.java     | 38 ----------
 .../AbstractMessageRangeProcessor.java          |  3 +-
 .../processor/AbstractSelectionProcessor.java   |  3 +-
 .../james/imap/processor/AppendProcessor.java   |  3 +-
 .../james/imap/processor/CreateProcessor.java   |  3 +-
 .../imap/processor/DeleteACLProcessor.java      |  3 +-
 .../james/imap/processor/DeleteProcessor.java   |  3 +-
 .../james/imap/processor/GetACLProcessor.java   |  3 +-
 .../imap/processor/GetAnnotationProcessor.java  |  3 +-
 .../imap/processor/GetQuotaRootProcessor.java   |  3 +-
 .../james/imap/processor/LSubProcessor.java     |  3 +-
 .../james/imap/processor/ListProcessor.java     |  3 +-
 .../imap/processor/ListRightsProcessor.java     |  3 +-
 .../james/imap/processor/MyRightsProcessor.java |  3 +-
 .../james/imap/processor/RenameProcessor.java   |  6 +-
 .../james/imap/processor/SetACLProcessor.java   |  3 +-
 .../imap/processor/SetAnnotationProcessor.java  |  3 +-
 .../james/imap/processor/StatusProcessor.java   |  3 +-
 20 files changed, 116 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/main/PathConverter.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/main/PathConverter.java 
b/protocols/imap/src/main/java/org/apache/james/imap/main/PathConverter.java
new file mode 100644
index 0000000..1f68601
--- /dev/null
+++ b/protocols/imap/src/main/java/org/apache/james/imap/main/PathConverter.java
@@ -0,0 +1,78 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.main;
+
+import org.apache.james.imap.api.ImapSessionUtils;
+import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.model.MailboxConstants;
+import org.apache.james.mailbox.model.MailboxPath;
+
+public class PathConverter {
+
+    public static PathConverter forSession(ImapSession session) {
+        return new PathConverter(session);
+    }
+
+    private final ImapSession session;
+
+    public PathConverter(ImapSession session) {
+        this.session = session;
+    }
+
+    public MailboxPath buildFullPath(String mailboxName) {
+        String namespace = null;
+        String name = null;
+        final MailboxSession mailboxSession = 
ImapSessionUtils.getMailboxSession(session);
+
+        if (mailboxName == null || mailboxName.length() == 0) {
+            return new MailboxPath("", "", "");
+        }
+        if (mailboxName.charAt(0) == MailboxConstants.NAMESPACE_PREFIX_CHAR) {
+            int namespaceLength = 
mailboxName.indexOf(mailboxSession.getPathDelimiter());
+            if (namespaceLength > -1) {
+                namespace = mailboxName.substring(0, namespaceLength);
+                if (mailboxName.length() > namespaceLength)
+                    name = mailboxName.substring(++namespaceLength);
+            } else {
+                namespace = mailboxName;
+            }
+        } else {
+            namespace = MailboxConstants.USER_NAMESPACE;
+            name = mailboxName;
+        }
+        String user = null;
+        // we only use the user as part of the MailboxPath if its a private 
user
+        // namespace
+        if (namespace.equals(MailboxConstants.USER_NAMESPACE)) {
+            user = ImapSessionUtils.getUserName(session);
+        }
+
+        // use uppercase for INBOX
+        //
+        // See IMAP-349
+        if (name.equalsIgnoreCase(MailboxConstants.INBOX)) {
+            name = MailboxConstants.INBOX;
+        }
+
+        return new MailboxPath(namespace, user, name);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
index d2e873e..be5460a 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
@@ -25,6 +25,7 @@ import org.apache.james.imap.api.message.request.ImapRequest;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.exception.BadCredentialsException;
@@ -56,7 +57,7 @@ public abstract class AbstractAuthProcessor<M extends 
ImapRequest> extends Abstr
                     final MailboxSession mailboxSession = 
mailboxManager.login(userid, passwd, session.getLog());
                     session.authenticated();
                     
session.setAttribute(ImapSessionUtils.MAILBOX_SESSION_ATTRIBUTE_SESSION_KEY, 
mailboxSession);
-                    final MailboxPath inboxPath = buildFullPath(session, 
MailboxConstants.INBOX);
+                    final MailboxPath inboxPath = 
PathConverter.forSession(session).buildFullPath(MailboxConstants.INBOX);
                     if (mailboxManager.mailboxExists(inboxPath, 
mailboxSession)) {
                         if (session.getLog().isDebugEnabled()) {
                             session.getLog().debug("INBOX exists. No need to 
create it.");

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
index 03dde23..2663b56 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
@@ -351,44 +351,6 @@ abstract public class AbstractMailboxProcessor<M extends 
ImapRequest> extends Ab
 
     protected abstract void doProcess(M message, ImapSession session, String 
tag, ImapCommand command, Responder responder);
 
-    public MailboxPath buildFullPath(ImapSession session, String mailboxName) {
-        String namespace = null;
-        String name = null;
-        final MailboxSession mailboxSession = 
ImapSessionUtils.getMailboxSession(session);
-
-        if (mailboxName == null || mailboxName.length() == 0) {
-            return new MailboxPath("", "", "");
-        }
-        if (mailboxName.charAt(0) == MailboxConstants.NAMESPACE_PREFIX_CHAR) {
-            int namespaceLength = 
mailboxName.indexOf(mailboxSession.getPathDelimiter());
-            if (namespaceLength > -1) {
-                namespace = mailboxName.substring(0, namespaceLength);
-                if (mailboxName.length() > namespaceLength)
-                    name = mailboxName.substring(++namespaceLength);
-            } else {
-                namespace = mailboxName;
-            }
-        } else {
-            namespace = MailboxConstants.USER_NAMESPACE;
-            name = mailboxName;
-        }
-        String user = null;
-        // we only use the user as part of the MailboxPath if its a private 
user
-        // namespace
-        if (namespace.equals(MailboxConstants.USER_NAMESPACE)) {
-            user = ImapSessionUtils.getUserName(session);
-        }
-        
-        // use uppercase for INBOX
-        //
-        // See IMAP-349
-        if (name.equalsIgnoreCase(MailboxConstants.INBOX)) {
-            name = MailboxConstants.INBOX;
-        }
-
-        return new MailboxPath(namespace, user, name);
-    }
-
     /**
      * Joins the elements of a mailboxPath together and returns them as a 
string
      * 

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
index 7dd271d..53f41d9 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
@@ -31,6 +31,7 @@ import 
org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.api.process.SelectedMailbox;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.AbstractMessageRangeRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -56,7 +57,7 @@ public abstract class AbstractMessageRangeProcessor<M extends 
AbstractMessageRan
 
     @Override
     protected void doProcess(M request, ImapSession session, String tag, 
ImapCommand command, Responder responder) {
-        final MailboxPath targetMailbox = buildFullPath(session, 
request.getMailboxName());
+        final MailboxPath targetMailbox = 
PathConverter.forSession(session).buildFullPath(request.getMailboxName());
         final IdRange[] idSet = request.getIdSet();
         final boolean useUids = request.isUseUids();
         final SelectedMailbox currentMailbox = session.getSelected();

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
index 3bd594f..9d9a7e0 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
@@ -38,6 +38,7 @@ import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.api.process.SearchResUtil;
 import org.apache.james.imap.api.process.SelectedMailbox;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.AbstractMailboxSelectionRequest;
 import org.apache.james.imap.message.response.ExistsResponse;
 import org.apache.james.imap.message.response.RecentResponse;
@@ -80,7 +81,7 @@ abstract class AbstractSelectionProcessor<M extends 
AbstractMailboxSelectionRequ
     protected void doProcess(M request, ImapSession session, String tag, 
ImapCommand command, Responder responder) {
         final String mailboxName = request.getMailboxName();
         try {
-            final MailboxPath fullMailboxPath = buildFullPath(session, 
mailboxName);
+            final MailboxPath fullMailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
 
             respond(tag, command, session, fullMailboxPath, request, 
responder);
            

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
index 05b2f76..4d85ce2 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
@@ -35,6 +35,7 @@ import 
org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.api.process.SelectedMailbox;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.AppendRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -64,7 +65,7 @@ public class AppendProcessor extends 
AbstractMailboxProcessor<AppendRequest> {
         final InputStream messageIn = request.getMessage();
         final Date datetime = request.getDatetime();
         final Flags flags = request.getFlags();
-        final MailboxPath mailboxPath = buildFullPath(session, mailboxName);
+        final MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
 
         try {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
index 27e46a0..71b78ef 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
@@ -25,6 +25,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.CreateRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -45,7 +46,7 @@ public class CreateProcessor extends 
AbstractMailboxProcessor<CreateRequest> {
      * org.apache.james.imap.api.process.ImapProcessor.Responder)
      */
     protected void doProcess(CreateRequest request, ImapSession session, 
String tag, ImapCommand command, Responder responder) {
-        final MailboxPath mailboxPath = buildFullPath(session, 
request.getMailboxName());
+        final MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(request.getMailboxName());
         try {
             final MailboxManager mailboxManager = getMailboxManager();
             mailboxManager.createMailbox(mailboxPath, 
ImapSessionUtils.getMailboxSession(session));

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
index 9a7f889..77ead95 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
@@ -29,6 +29,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.DeleteACLRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -65,7 +66,7 @@ public class DeleteACLProcessor extends 
AbstractMailboxProcessor<DeleteACLReques
         final String identifier = message.getIdentifier();
         try {
 
-            MailboxPath mailboxPath = buildFullPath(session, mailboxName);
+            MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
             // Check that mailbox exists
             mailboxManager.getMailbox(mailboxPath, mailboxSession);
             /*

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
index db3c5d4..4d1d600 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
@@ -26,6 +26,7 @@ import 
org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.api.process.SelectedMailbox;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.DeleteRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -46,7 +47,7 @@ public class DeleteProcessor extends 
AbstractMailboxProcessor<DeleteRequest> {
      * org.apache.james.imap.api.process.ImapProcessor.Responder)
      */
     protected void doProcess(DeleteRequest request, ImapSession session, 
String tag, ImapCommand command, Responder responder) {
-        final MailboxPath mailboxPath = buildFullPath(session, 
request.getMailboxName());
+        final MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(request.getMailboxName());
         try {
             final SelectedMailbox selected = session.getSelected();
             if (selected != null && selected.getPath().equals(mailboxPath)) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
index 33a848c..81a6994 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
@@ -29,6 +29,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.GetACLRequest;
 import org.apache.james.imap.message.response.ACLResponse;
 import org.apache.james.mailbox.MailboxManager;
@@ -62,7 +63,7 @@ public class GetACLProcessor extends 
AbstractMailboxProcessor<GetACLRequest> imp
         final String mailboxName = message.getMailboxName();
         try {
 
-            MailboxPath mailboxPath = buildFullPath(session, mailboxName);
+            MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
             // Check that mailbox exists
             MessageManager messageManager = 
mailboxManager.getMailbox(mailboxPath, mailboxSession);
             /*

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
index 052e533..596849f 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
@@ -34,6 +34,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.GetAnnotationRequest;
 import org.apache.james.imap.message.response.AnnotationResponse;
 import org.apache.james.mailbox.MailboxManager;
@@ -73,7 +74,7 @@ public class GetAnnotationProcessor extends 
AbstractMailboxProcessor<GetAnnotati
     private void proceed(GetAnnotationRequest message, ImapSession session, 
String tag, ImapCommand command, Responder responder) throws MailboxException {
         String mailboxName = message.getMailboxName();
         Optional<Integer> maxsize = message.getMaxsize();
-        MailboxPath mailboxPath = buildFullPath(session, mailboxName);
+        MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
 
         List<MailboxAnnotation> mailboxAnnotations = 
getMailboxAnnotations(session, message.getKeys(), message.getDepth(), 
mailboxPath);
         Optional<Integer> maximumOversizedSize = 
getMaxSizeValue(mailboxAnnotations, maxsize);

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
index bc977c4..5b2987f 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
@@ -26,6 +26,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.GetQuotaRootRequest;
 import org.apache.james.imap.message.response.QuotaRootResponse;
 import org.apache.james.imap.message.response.QuotaResponse;
@@ -66,7 +67,7 @@ public class GetQuotaRootProcessor extends 
AbstractMailboxProcessor<GetQuotaRoot
         final MailboxSession mailboxSession = 
ImapSessionUtils.getMailboxSession(session);
         final MailboxManager mailboxManager = getMailboxManager();
 
-        final MailboxPath mailboxPath = buildFullPath(session, 
message.getMailboxName());
+        final MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(message.getMailboxName());
 
         // First check mailbox exists
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
index 3a57e50..c8ebdde 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
@@ -29,6 +29,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.LsubRequest;
 import org.apache.james.imap.message.response.LSubResponse;
 import org.apache.james.mailbox.MailboxManager;
@@ -62,7 +63,7 @@ public class LSubProcessor extends 
AbstractSubscriptionProcessor<LsubRequest> {
         if (isRelative) {
             basePath = new MailboxPath(MailboxConstants.USER_NAMESPACE, 
mailboxSession.getUser().getUserName(), 
CharsetUtil.decodeModifiedUTF7(finalReferencename));
         } else {
-            basePath = buildFullPath(session, 
CharsetUtil.decodeModifiedUTF7(finalReferencename));
+            basePath = 
PathConverter.forSession(session).buildFullPath(CharsetUtil.decodeModifiedUTF7(finalReferencename));
         }
 
         final MailboxQuery expression = new MailboxQuery(basePath, 
CharsetUtil.decodeModifiedUTF7(mailboxName), mailboxSession.getPathDelimiter());

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
index a6416bd..c9200a2 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
@@ -33,6 +33,7 @@ import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.api.process.MailboxType;
 import org.apache.james.imap.api.process.MailboxTyper;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.ListRequest;
 import org.apache.james.imap.message.response.ListResponse;
 import org.apache.james.mailbox.MailboxManager;
@@ -169,7 +170,7 @@ public class ListProcessor extends 
AbstractMailboxProcessor<ListRequest> {
                 if (isRelative) {
                     basePath = new 
MailboxPath(MailboxConstants.USER_NAMESPACE, user, finalReferencename);
                 } else {
-                    basePath = buildFullPath(session, finalReferencename);
+                    basePath = 
PathConverter.forSession(session).buildFullPath(finalReferencename);
                 }
 
                 results = getMailboxManager().search(new 
MailboxQuery(basePath, CharsetUtil.decodeModifiedUTF7(mailboxName), 
mailboxSession.getPathDelimiter()), mailboxSession);

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
index da4e899..b465a3e 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
@@ -29,6 +29,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.ListRightsRequest;
 import org.apache.james.imap.message.response.ListRightsResponse;
 import org.apache.james.mailbox.MailboxManager;
@@ -64,7 +65,7 @@ public class ListRightsProcessor extends 
AbstractMailboxProcessor<ListRightsRequ
         final String identifier = message.getIdentifier();
         try {
 
-            MailboxPath mailboxPath = buildFullPath(session, mailboxName);
+            MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
             // Check that mailbox exists
             mailboxManager.getMailbox(mailboxPath, mailboxSession);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java
index 48f7a36..163e02f 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java
@@ -29,6 +29,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.MyRightsRequest;
 import org.apache.james.imap.message.response.MyRightsResponse;
 import org.apache.james.mailbox.MailboxManager;
@@ -61,7 +62,7 @@ public class MyRightsProcessor extends 
AbstractMailboxProcessor<MyRightsRequest>
         final String mailboxName = message.getMailboxName();
         try {
 
-            MailboxPath mailboxPath = buildFullPath(session, mailboxName);
+            MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
             // Check that mailbox exists
             mailboxManager.getMailbox(mailboxPath, mailboxSession);
             MailboxACLRights myRights = mailboxManager.myRights(mailboxPath, 
mailboxSession);

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
index 5cf5133..6d83a21 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
@@ -26,6 +26,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.RenameRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -49,8 +50,9 @@ public class RenameProcessor extends 
AbstractMailboxProcessor<RenameRequest> {
      * org.apache.james.imap.api.process.ImapProcessor.Responder)
      */
     protected void doProcess(RenameRequest request, ImapSession session, 
String tag, ImapCommand command, Responder responder) {
-        final MailboxPath existingPath = buildFullPath(session, 
request.getExistingName());
-        final MailboxPath newPath = buildFullPath(session, 
request.getNewName());
+        PathConverter pathConverter = PathConverter.forSession(session);
+        MailboxPath existingPath = 
pathConverter.buildFullPath(request.getExistingName());
+        MailboxPath newPath = 
pathConverter.buildFullPath(request.getNewName());
         try {
             final MailboxManager mailboxManager = getMailboxManager();
             MailboxSession mailboxsession = 
ImapSessionUtils.getMailboxSession(session);

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java
index 6b0c2a2..f521a8f 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java
@@ -29,6 +29,7 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.SetACLRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -84,7 +85,7 @@ public class SetACLProcessor extends 
AbstractMailboxProcessor<SetACLRequest> imp
             }
             MailboxACLRights mailboxAclRights = new Rfc4314Rights(rights);
 
-            MailboxPath mailboxPath = buildFullPath(session, mailboxName);
+            MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
             // Check that mailbox exists
             mailboxManager.getMailbox(mailboxPath, mailboxSession);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java
index 0a5bdc6..4ce0fee 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java
@@ -29,6 +29,7 @@ import 
org.apache.james.imap.api.message.response.StatusResponse;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.SetAnnotationRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -54,7 +55,7 @@ public class SetAnnotationProcessor extends 
AbstractMailboxProcessor<SetAnnotati
         final MailboxSession mailboxSession = 
ImapSessionUtils.getMailboxSession(session);
         final String mailboxName = message.getMailboxName();
         try {
-            MailboxPath mailboxPath = buildFullPath(session, mailboxName);
+            MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(mailboxName);
 
             mailboxManager.updateAnnotations(mailboxPath, mailboxSession, 
message.getMailboxAnnotations());
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/490bd69a/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java
index 34b7308..8c853e3 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java
@@ -26,6 +26,7 @@ import org.apache.james.imap.api.message.StatusDataItems;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.main.PathConverter;
 import org.apache.james.imap.message.request.StatusRequest;
 import org.apache.james.imap.message.response.MailboxStatusResponse;
 import org.apache.james.mailbox.MailboxManager;
@@ -51,7 +52,7 @@ public class StatusProcessor extends 
AbstractMailboxProcessor<StatusRequest> {
      * org.apache.james.imap.api.process.ImapProcessor.Responder)
      */
     protected void doProcess(StatusRequest request, ImapSession session, 
String tag, ImapCommand command, Responder responder) {
-        final MailboxPath mailboxPath = buildFullPath(session, 
request.getMailboxName());
+        final MailboxPath mailboxPath = 
PathConverter.forSession(session).buildFullPath(request.getMailboxName());
         final StatusDataItems statusDataItems = request.getStatusDataItems();
         final Logger logger = session.getLog();
         final MailboxSession mailboxSession = 
ImapSessionUtils.getMailboxSession(session);


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to