jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Reschke (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-1773) shareable nodes: wrong path returned, causes remove() to delete wrong node
Date Fri, 26 Sep 2008 10:25:45 GMT
shareable nodes: wrong path returned, causes remove() to delete wrong node
--------------------------------------------------------------------------

                 Key: JCR-1773
                 URL: https://issues.apache.org/jira/browse/JCR-1773
             Project: Jackrabbit
          Issue Type: Bug
          Components: jackrabbit-core
            Reporter: Julian Reschke


It seems that for shareable nodes it can happen that getPath() returns the wrong path (one
of another node in the shared set):

/**
* Verify that shared nodes return correct paths.
*/
public void testPath() throws Exception {
   Node a1 = testRootNode.addNode("a1");
   Node a2 = a1.addNode("a2");
   Node b1 = a1.addNode("b1");
   b1.addMixin("mix:shareable");
   testRootNode.save();

   //now we have a shareable node N with path a1/b1

   Session session = testRootNode.getSession();
   Workspace workspace = session.getWorkspace();
   String path = a2.getPath() + "/b2";
   workspace.clone(workspace.getName(), b1.getPath(), path, false);

   //now we have another shareable node N' in the same shared set as N with path a1/a2/b2

   //using the path a1/a2/b2, we should get the node N' here
   Item item = session.getItem(path);
   String p = item.getPath();
   assertFalse("unexpectedly got the path from another node from the same shared set ", p.equals(b1.getPath()));
} 

Note that when this happens, a subsequent remove() deletes the wrong node.

(Thanks Manfred for spotting this one).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message