Author: norman
Date: Thu Jul 1 18:09:57 2010
New Revision: 959737
URL: http://svn.apache.org/viewvc?rev=959737&view=rev
Log:
Escape mailboxname before create the node (IMAP-174)
Modified:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java
Modified:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java?rev=959737&r1=959736&r2=959737&view=diff
==============================================================================
---
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java
(original)
+++
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java
Thu Jul 1 18:09:57 2010
@@ -32,6 +32,7 @@ import javax.jcr.query.QueryResult;
import org.apache.commons.logging.Log;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.commons.JcrUtils;
+import org.apache.jackrabbit.util.Text;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.jcr.AbstractJCRScalingMapper;
import org.apache.james.imap.jcr.MailboxSessionJCRRepository;
@@ -191,9 +192,9 @@ public class JCRMailboxMapper extends Ab
//split the name so we can construct a nice node tree
final String nameParts[] = name.split("\\" +
String.valueOf(delimiter), 3);
- node = JcrUtils.getOrAddNode(node, nameParts[0],
"nt:unstructured");
- node = createUserPathStructure(node, nameParts[1]);
- node = JcrUtils.getOrAddNode(node, nameParts[2],
"nt:unstructured");
+ node = JcrUtils.getOrAddNode(node,
Text.escapeIllegalJcrChars(nameParts[0]), "nt:unstructured");
+ node = createUserPathStructure(node,
Text.escapeIllegalJcrChars(nameParts[1]));
+ node = JcrUtils.getOrAddNode(node,
Text.escapeIllegalJcrChars(nameParts[2]), "nt:unstructured");
node.addMixin("jamesMailbox:mailbox");
Modified:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java?rev=959737&r1=959736&r2=959737&view=diff
==============================================================================
---
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java
(original)
+++
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java
Thu Jul 1 18:09:57 2010
@@ -33,6 +33,7 @@ import javax.jcr.query.QueryResult;
import org.apache.commons.logging.Log;
import org.apache.jackrabbit.commons.JcrUtils;
+import org.apache.jackrabbit.util.Text;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.jcr.AbstractJCRScalingMapper;
import org.apache.james.imap.jcr.JCRImapConstants;
@@ -175,10 +176,10 @@ public class JCRSubscriptionMapper exten
// its a new subscription
if (sub == null) {
node = JcrUtils.getOrAddNode(getSession().getRootNode(),
MAILBOXES_PATH);
- node = JcrUtils.getOrAddNode(node,
StoreConstants.USER_NAMESPACE_PREFIX);
+ node = JcrUtils.getOrAddNode(node,
Text.escapeIllegalJcrChars(StoreConstants.USER_NAMESPACE_PREFIX));
// This is needed to minimize the child nodes a bit
- node = createUserPathStructure(node, username);
+ node = createUserPathStructure(node,
Text.escapeIllegalJcrChars(username));
} else {
node = sub.getNode();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]