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

Jukka Zitting updated OAK-781:
------------------------------

    Attachment: memorynodebuilder-1.png

As additional {{MemoryNodeBuilder}} documentation I attached a class diagram 
that outlines key parts of the design.

bq. IMO we should even rename the rename addChild(String) to setNode(String) 
since it has the semantics of setNode("foo", EMPTY_NODE).

Agreed; or just drop the separate method signature in favor of {{setNode("foo", 
EMPTY_NODE)}}.

bq. What we need to do IMO is
update the Javadoc the current design

My take here was to start form a bit higher level before going directly to 
Javadoc, as earlier on I spent some hours of effort on MemoryNodeBuilder 
javadocs that nowadays are already out of date.

bq. don't access MutableNodeState's state directly but use accessors whose name 
capture the intended semantics

+1 We should also move MutableNodeState to a separate, package-private class 
instead of keeping it internal to MemoryNodeBuilder. It originally started as 
an internal class to keep it tightly hidden as a MemoryNodeBuilder 
implementation detail, but it's getting complex enough to warrant it's own 
source file and separate unit tests.

bq. purge logic

OK, let's follow up in OAK-659.


                
> Clarify / fix effects of MISSING_NODE as base state of NodeBuilder
> ------------------------------------------------------------------
>
>                 Key: OAK-781
>                 URL: https://issues.apache.org/jira/browse/OAK-781
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>            Reporter: Michael Dürig
>         Attachments: 
> 0001-OAK-781-Clarify-fix-effects-of-MISSING_NODE-as-base-.patch, 
> memorynodebuilder-1.png, OAK-781.patch
>
>
> Having a {{MISSING_NODE}} respectively a node state that returns false for 
> its {{exists}} method as a base state of a node builder results in undefined 
> behaviour. We need to clarify how to handle such cases for resolving OAK-766.

--
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