Author: norman
Date: Sat Mar 27 16:56:50 2010
New Revision: 928230
URL: http://svn.apache.org/viewvc?rev=928230&view=rev
Log:
Fix the node escape stuff.. This shows that the current scaling stuff does not
work as aspected. So use MIN_SCALING for now.. This needs to get fixed..
Modified:
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java
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/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java?rev=928230&r1=928229&r2=928230&view=diff
==============================================================================
---
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java
(original)
+++
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java
Sat Mar 27 16:56:50 2010
@@ -28,6 +28,7 @@ import org.apache.james.imap.functional.
import org.apache.james.imap.functional.InMemoryUserManager;
import org.apache.james.imap.jcr.JCRGlobalUserMailboxManager;
import org.apache.james.imap.jcr.JCRGlobalUserSubscriptionManager;
+import org.apache.james.imap.jcr.JCRImapConstants;
import org.apache.james.imap.jcr.JCRUtils;
import org.apache.james.imap.main.DefaultImapDecoderFactory;
import org.apache.james.imap.processor.main.DefaultImapProcessorFactory;
@@ -65,7 +66,8 @@ public class JCRHostSystem extends ImapH
userManager = new InMemoryUserManager();
- mailboxManager = new JCRGlobalUserMailboxManager(userManager, new
JCRGlobalUserSubscriptionManager(repository, workspace, user, pass),
repository, workspace, user, pass);
+ //TODO: Fix the scaling stuff so the tests will pass with max
scaling too
+ mailboxManager = new JCRGlobalUserMailboxManager(userManager, new
JCRGlobalUserSubscriptionManager(repository, workspace, user, pass,
JCRImapConstants.MIN_SCALING), repository, workspace, user, pass,
JCRImapConstants.MIN_SCALING);
final DefaultImapProcessorFactory defaultImapProcessorFactory =
new DefaultImapProcessorFactory();
resetUserMetaData();
Modified:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java?rev=928230&r1=928229&r2=928230&view=diff
==============================================================================
---
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
(original)
+++
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
Sat Mar 27 16:56:50 2010
@@ -67,7 +67,7 @@ public class JCRMailboxManager extends S
public JCRMailboxManager(final Authenticator authenticator, final
Subscriber subscriber, final Repository repository, final String workspace) {
- this(authenticator, subscriber, repository, workspace, MAX_SCALING);
+ this(authenticator, subscriber, repository, workspace, MIN_SCALING);
}
/**
Modified:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java?rev=928230&r1=928229&r2=928230&view=diff
==============================================================================
---
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java
(original)
+++
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java
Sat Mar 27 16:56:50 2010
@@ -58,7 +58,7 @@ public class JCRSubscriptionManager exte
public JCRSubscriptionManager(final Repository repository, final String
workspace) {
- this(repository, workspace, MAX_SCALING);
+ this(repository, workspace, MIN_SCALING);
}
Modified:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java?rev=928230&r1=928229&r2=928230&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java
(original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java
Sat Mar 27 16:56:50 2010
@@ -83,7 +83,7 @@ public class JCRUtils implements JCRImap
String[] pathParts = path.split(NODE_DELIMITER);
for (int a = 0; a < pathParts.length; a++) {
- String subPath = pathParts[a];
+ String subPath =escape(pathParts[a]);
for (int i = 0; i < subPath.length(); i++) {
@@ -106,6 +106,10 @@ public class JCRUtils implements JCRImap
return buffer.toString();
}
}
+
+ public static String escape(String string) {
+ return Text.escapeIllegalJcrChars(string);
+ }
public static String createScaledPath(String[] paths, int scaling) {
StringBuffer sb = new StringBuffer();
@@ -143,7 +147,7 @@ public class JCRUtils implements JCRImap
Node parent = rootNode;
String nodeNames[] = nodePath.split(NODE_DELIMITER);
for (int i = 0; i < nodeNames.length; i++) {
- String nodeName = Text.escapeIllegalJcrChars(nodeNames[i]);
+ String nodeName = escape(nodeNames[i]);
if (parent.hasNode(nodeName)) {
parent = parent.getNode(nodeName);
} else {
@@ -167,11 +171,7 @@ public class JCRUtils implements JCRImap
for (int i = 0; i < subNodes.length; i++) {
String path = subNodes[i];
- /*
- * if (path.startsWith(PROPERTY_PREFIX) == false) {
- * pathBuf.append(PROPERTY_PREFIX); }
- */
- pathBuf.append(Text.escapeIllegalJcrChars(path));
+ pathBuf.append(escape(path));
if (i + 1 != subNodes.length) {
pathBuf.append(NODE_DELIMITER);
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=928230&r1=928229&r2=928230&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
Sat Mar 27 16:56:50 2010
@@ -225,7 +225,7 @@ public class JCRMailboxMapper extends Ab
node = getSession().getNodeByUUID(jcrMailbox.getMailboxId());
}
if (node == null) {
- String nodePath =
JCRUtils.escapePath(PATH,JCRUtils.createScaledPath(mailbox.getName(),
getScaling()));
+ String nodePath = PATH + NODE_DELIMITER +
JCRUtils.createScaledPath(mailbox.getName(), getScaling());
node =
JCRUtils.createNodeRecursive(getSession().getRootNode(), nodePath,
"imap:mailbox");
node.addMixin(JcrConstants.MIX_REFERENCEABLE);
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=928230&r1=928229&r2=928230&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
Sat Mar 27 16:56:50 2010
@@ -153,7 +153,7 @@ public class JCRSubscriptionMapper exten
// its a new subscription
if (sub == null) {
- String nodePath =
JCRUtils.escapePath(PATH,JCRUtils.createScaledPath(new String[] {username,
mailbox}, getScaling()));
+ String nodePath = PATH + NODE_DELIMITER +
JCRUtils.createScaledPath(new String[] {username, mailbox}, getScaling());
node =
JCRUtils.createNodeRecursive(getSession().getRootNode(), nodePath,
"imap:subscription");
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]