Description
while adding mix:referenceable to a new node immediately assigns a
uuid and makes the node referenceable, session.getNodeByUUID only works
after saving the changes.
the following test illustrates this behavior:
@Test
public void getNodeByUUID() throws RepositoryException {
Node node = getNode("/foo").addNode("boo");
node.addMixin(JcrConstants.MIX_REFERENCEABLE);
assertTrue(node.isNodeType(JcrConstants.MIX_REFERENCEABLE));
String uuid = node.getUUID();
assertNotNull(uuid);
assertEquals(uuid, node.getIdentifier());
Node nAgain = node.getSession().getNodeByUUID(uuid);
assertTrue(nAgain.isSame(node));
assertTrue(nAgain.isSame(node.getSession().getNodeByIdentifier(uuid)));
}