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

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

bq. another possibility would be to change the NodeBuilder such that it can 
recalcuate the pending changes against a provider NodeState (which in our case 
was the non-secure base).

This could come in the flavour of 

{code}
NodeBuilder.getNodeState(base)
{code}

The implementation of such a method would in the simplest case be the same as 
we currently do with the {{PurgeRebaseDiff}} in {{RootImpl}} but could possibly 
be further optimised since {{NodeBuilder}} implementations posses internal 
information about what changed. 


bq. RootImpl#purgePendingChanges would compare the non-secured base against the 
non-secured head

No need for comparing any more at all here. Just get the current state form the 
builder using above method and apply it to the branch.

bq. special cases such as 'add new item' that exists but is not 
accessible/writable to

We'd still have these issues. The problem is just moved to the node builder 
then. But see also me previous comment.
                
> Consider moving permission evaluation to the node state level
> -------------------------------------------------------------
>
>                 Key: OAK-709
>                 URL: https://issues.apache.org/jira/browse/OAK-709
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: core
>            Reporter: angela
>         Attachments: 
> 0001-OAK-709-Consider-moving-permission-evaluation-to-the.patch, 
> 0001-OAK-709-Consider-moving-permission-evaluation-to-the.patch, 
> 0001-OAK-709-Consider-moving-permission-evaluation-to-the.patch, 
> 0001-OAK-709-Consider-moving-permission-evaluation-to-the.patch, 
> OAK-709_2.patch, OAK-709_3.patch, OAK-709_4.patch, OAK-709-equals_hack.patch, 
> OAK-709.patch, SecureNodeState.java
>
>


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