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

Michael Dürig commented on OAK-781:
-----------------------------------

As discussed off line I'd prefer a solution where the state tracking is more 
explicit. The magic constant -1 obfuscates the intended semantics which in the 
end leads to faster deterioration of the code.

bq. some weird behavior when I tried to adjust the way the isModified() method 
works
Good catch! The semantics of that method is determined by {{Node.isModified}}. 
That is, it should not take the state of child nodes into account. Probably the 
easiest solution here is to use {{NodeStateDiff}} and ignore 
{{childNodeChanged}}.

                
> 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