[
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