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/05/13 18:18:56 UTC

svn commit: r943927 - /james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java

Author: norman
Date: Thu May 13 16:18:56 2010
New Revision: 943927

URL: http://svn.apache.org/viewvc?rev=943927&view=rev
Log:
More work on re-layout JCR data (IMAP-140)

Modified:
    james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.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=943927&r1=943926&r2=943927&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 May 13 16:18:56 2010
@@ -98,27 +98,9 @@ public class JCRMailboxMapper extends Ab
     public void delete(Mailbox<String> mailbox) throws StorageException {
         try {
             Node node = getSession().getNodeByUUID(((JCRMailbox) mailbox).getMailboxId());
+                   
+            node.remove();
             
-            // if the node has subnodes we need to just cleanup the properties and emails, because it 
-            // seems like it holding an other mailbox
-            if (node.hasNodes()) {
-                NodeIterator it = node.getNodes();
-                while(it.hasNext()) {
-                    Node n = it.nextNode();
-                    // check if we have nodes which hold emails, and if so delete the nodes
-                    if (n.isNodeType("imap:mailbox") == false && n.isNodeType("nt:folder")) {
-                        n.remove();
-                    }
-                    
-                }
-                // remove all imap specifc properties
-                PropertyIterator propIt = node.getProperties("imap:*");
-                while(propIt.hasNext()) {
-                    propIt.nextProperty().remove();
-                }
-            } else {
-                node.remove();
-            }
         } catch (PathNotFoundException e) {
             // mailbox does not exists..
         } catch (RepositoryException e) {
@@ -260,10 +242,10 @@ public class JCRMailboxMapper extends Ab
                         final String name = jcrMailbox.getName();
                         
                         //split the name so we can construct a nice node tree
-                        final String nameParts[] = name.split("\\" +String.valueOf(delimiter));
+                        final String nameParts[] = name.split("\\" +String.valueOf(delimiter),3);
                         
                         for (int i = 0; i < nameParts.length; i++) {                          
-                           node = JcrUtils.getOrAddNode(node, nameParts[i], "imap:mailbox");                           
+                           node = JcrUtils.getOrAddNode(node, nameParts[i], "imap:mailbox");    
                         }
                         jcrMailbox.merge(node);
 



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