jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Parvulescu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-343) Session.getNodeByUUID requires save call
Date Fri, 25 Jan 2013 09:57:13 GMT

    [ https://issues.apache.org/jira/browse/OAK-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13562564#comment-13562564
] 

Alex Parvulescu commented on OAK-343:
-------------------------------------

I pushed the patch with rev 1438403.

There was a small bug, Thomas pointed it out which is now fixed - the UUIDDiffIndexProviderWrapper
would always return an empty list.
Interestingly enough, being an empty list the Query would fallback to the Traversing index
so the test would still not fail (at least I think that was the reason)
Anyway, the code is in, the tests pass.

The score and the plan are still not properly put in place. That is not a big deal, but it
is the reason I'm not marking this issue as resolved.
I'll also have to add some documentation to the code :)


                
> 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

Mime
View raw message