You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2009/09/25 17:29:42 UTC

[jira] Created: (JCR-2330) Restore mix:referenceable check to SessionImpl.getNodeByUUID

Restore mix:referenceable check to SessionImpl.getNodeByUUID
------------------------------------------------------------

                 Key: JCR-2330
                 URL: https://issues.apache.org/jira/browse/JCR-2330
             Project: Jackrabbit Content Repository
          Issue Type: Improvement
          Components: jackrabbit-core
            Reporter: Jukka Zitting
            Priority: Minor


In revision 504623 we commented out the mix:referenceable check in the SessionImpl.getNodeByUUID() method:

    // since the uuid of a node is only exposed through jcr:uuid declared
    // by mix:referenceable it's rather unlikely that a client can possibly
    // know the internal uuid of a non-referenceable node; omitting the
    // check for mix:referenceable seems therefore to be a reasonable
    // compromise in order to improve performance.
    /*
    if (node.isNodeType(Name.MIX_REFERENCEABLE)) {
        return node;
    } else {
        // there is a node with that uuid but the node does not expose it
        throw new ItemNotFoundException(uuid.toString());
    }
    */

This solved a minor performance issue issue with client code that used the node UUID as a quick way to access a node. The downside was a slight incompatibility with the spec that says that the getNodeByUUID method is only supposed to work with mix:referenceable nodes.

Now with JCR 2.0 clients can (and should) use the Session.getNodeByIdentifier method that does not have the mix:referenceable limitation. Thus we can restore the original and correct functionality of the getNodeByUUID method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (JCR-2330) Restore mix:referenceable check to SessionImpl.getNodeByUUID

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting resolved JCR-2330.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.0
         Assignee: Jukka Zitting

Check restored in revision 818886.

> Restore mix:referenceable check to SessionImpl.getNodeByUUID
> ------------------------------------------------------------
>
>                 Key: JCR-2330
>                 URL: https://issues.apache.org/jira/browse/JCR-2330
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Assignee: Jukka Zitting
>            Priority: Minor
>             Fix For: 2.0.0
>
>
> In revision 504623 we commented out the mix:referenceable check in the SessionImpl.getNodeByUUID() method:
>     // since the uuid of a node is only exposed through jcr:uuid declared
>     // by mix:referenceable it's rather unlikely that a client can possibly
>     // know the internal uuid of a non-referenceable node; omitting the
>     // check for mix:referenceable seems therefore to be a reasonable
>     // compromise in order to improve performance.
>     /*
>     if (node.isNodeType(Name.MIX_REFERENCEABLE)) {
>         return node;
>     } else {
>         // there is a node with that uuid but the node does not expose it
>         throw new ItemNotFoundException(uuid.toString());
>     }
>     */
> This solved a minor performance issue issue with client code that used the node UUID as a quick way to access a node. The downside was a slight incompatibility with the spec that says that the getNodeByUUID method is only supposed to work with mix:referenceable nodes.
> Now with JCR 2.0 clients can (and should) use the Session.getNodeByIdentifier method that does not have the mix:referenceable limitation. Thus we can restore the original and correct functionality of the getNodeByUUID method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.