You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/03/27 17:56:50 UTC

svn commit: r928230 - in /james/imap/trunk: deployment/src/test/java/org/apache/james/imap/functional/jcr/ jcr/src/main/java/org/apache/james/imap/jcr/ jcr/src/main/java/org/apache/james/imap/jcr/mail/ jcr/src/main/java/org/apache/james/imap/jcr/user/

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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org