Author: norman
Date: Wed Aug 18 13:10:04 2010
New Revision: 986656
URL: http://svn.apache.org/viewvc?rev=986656&view=rev
Log:
Allow the NAMESPACE to return the "real namespace" (IMAP-177)
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Namespace.test
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java?rev=986656&r1=986655&r2=986656&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
Wed Aug 18 13:10:04 2010
@@ -314,6 +314,10 @@ abstract public class AbstractMailboxPro
public MailboxPath buildFullPath(final ImapSession session, String
mailboxName) {
String namespace = null;
String name = null;
+
+ if (mailboxName == null || mailboxName.length() == 0) {
+ return new MailboxPath("", "", "");
+ }
if (mailboxName.charAt(0) == ImapConstants.NAMESPACE_PREFIX_CHAR) {
int namespaceLength =
mailboxName.indexOf(MailboxConstants.DEFAULT_DELIMITER);
if (namespaceLength > -1) {
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java?rev=986656&r1=986655&r2=986656&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
Wed Aug 18 13:10:04 2010
@@ -93,9 +93,11 @@ public class LSubProcessor extends Abstr
final Collection<String> mailboxes =
manager.subscriptions(mailboxSession);
// If the mailboxName is fully qualified, ignore the reference name.
String finalReferencename = referenceName;
+
if (mailboxName.charAt(0) == ImapConstants.NAMESPACE_PREFIX_CHAR) {
finalReferencename = "";
}
+
// Is the interpreted (combined) pattern relative?
boolean isRelative = ((finalReferencename + mailboxName).charAt(0) !=
ImapConstants.NAMESPACE_PREFIX_CHAR);
MailboxPath basePath = null;
@@ -106,7 +108,8 @@ public class LSubProcessor extends Abstr
else {
basePath = buildFullPath(session, finalReferencename);
}
-
+
+
final MailboxQuery expression = new MailboxQuery(basePath,
mailboxName, '*', '%');
final Collection<String> mailboxResponses = new ArrayList<String>();
for (final String mailbox: mailboxes) {
Modified:
james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Namespace.test
URL:
http://svn.apache.org/viewvc/james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Namespace.test?rev=986656&r1=986655&r2=986656&view=diff
==============================================================================
---
james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Namespace.test
(original)
+++
james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Namespace.test
Wed Aug 18 13:10:04 2010
@@ -17,6 +17,6 @@
# under the License. #
################################################################
C: A001 NAMESPACE
-S: \* NAMESPACE \(\((\"\"|\"#private\") \".\"\)\) NIL NIL
+S: \* NAMESPACE \(\((\"\"|\"#private\.\") \".\"\)\) NIL NIL
S: A001 OK NAMESPACE completed.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]