[ https://issues.apache.org/jira/browse/OAK-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13562735#comment-13562735 ]
Manfred Baedke commented on OAK-343: ------------------------------------ Found it. The childNodeChanged() implementation stops recursion if the childNodeCount did not change, which is of course nonsense. > Session.getNodeByUUID requires save call > ---------------------------------------- > > Key: OAK-343 > URL: https://issues.apache.org/jira/browse/OAK-343 > Project: Jackrabbit Oak > Issue Type: Bug > Components: core, jcr > Reporter: angela > Assignee: Thomas Mueller > Attachments: oak-343-QueryIndex.patch, OAK-343-v2.patch > > > 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))); > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira