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

Jukka Zitting updated JCR-1232:
-------------------------------

    Attachment: nodeid.patch

Attached a patch that merges NodeId and UUID. The patch is pretty 
straightforward and should cause no functional changes, but given the size of 
the patch and the central role of NodeId I wanted to put the patch up for 
review before committing it.

The main potential concerns that I could think of are the changed serialization 
format of NodeId and the removed SessionImpl.getNodeByUUID(UUID) method.

All of our persistence managers use a custom serialization mechanisms, so the 
change in the Java serialization format of NodeId should not cause problems.

I removed the SessionImpl.getNodeByUUID(UUID) method since we already have the 
standard Session.getNodeByUUID(String) and the internal 
SessionImpl.getNodeById(NodeId) methods that should cover all use cases. If 
someone wants, I can restore the method signature with a deprecation mark.

> Merge UUID to NodeId
> --------------------
>
>                 Key: JCR-1232
>                 URL: https://issues.apache.org/jira/browse/JCR-1232
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>         Attachments: nodeid.patch
>
>
> The current NodeId class is mostly just a wrapper around UUID, which causes 
> two objects to be instantiated for each node identifier that the system uses. 
> The memory and processing overhead is quite small, but given that there are 
> tons of NodeId instances it would be good to eliminate that overhead.
> There is also lots of code that just converts UUIDs to NodeIds and vice 
> versa. We could simplify such code if we just used NodeId everywhere.
> Also, we might want to open up the possibility of using non-UUID node 
> identifiers at some point in future, so it would make a lot of sense to 
> remove the NodeId.getUUID method and rely directly on NodeId and it's 
> equals(), hashCode(), and toString() methods in many places where we 
> currently use UUIDs.

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

Reply via email to