[ 
https://issues.apache.org/jira/browse/OAK-343?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Parvulescu updated OAK-343:
--------------------------------

    Attachment: OAK-343-v2.patch

I took the patch for a spin, here's an updated version.

I took the liberty of extracting the diff mechanism into its dedicated class 
(and adding some tests to that), next the index just passes on the filter and 
based on that, the matching nodes are extracted from the diff.


feedback welcome!
                
> 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

Reply via email to