JCR2SPI: remove node operation missing in submitted SPI batch
-------------------------------------------------------------
Key: JCR-1040
URL: https://issues.apache.org/jira/browse/JCR-1040
Project: Jackrabbit
Issue Type: Bug
Components: SPI
Reporter: Julian Reschke
In JCR2SPI, the following sequence of operations seems to lead to an incorrect
SPI batch being submitted:
1) remove "/a"
2) add "/a"
3) add "/a/b"
4) session.save()
This seems to create an SPI batch where the first remove operation is missing.
Note that the problem only seems to occur when step 3 is part of the sequence.
Full Java source for test:
try {
if
(session.getRepository().getDescriptor(Repository.LEVEL_2_SUPPORTED).equals("true"))
{
Node testnode;
String name = "delete-test";
Node root = session.getRootNode();
// make sure it's there
if (! root.hasNode(name)) {
root.addNode(name, "nt:folder");
session.save();
}
// now test remove/add in one batch
if (root.hasNode(name)) {
testnode = root.getNode(name);
testnode.remove();
// session.save(); // un-commenting this makes the test pass
}
testnode = root.addNode(name, "nt:folder");
// add one child
testnode.addNode(name, "nt:folder"); // commenting this out makes the
test pass
session.save();
}
} finally {
session.logout();
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.