[
https://issues.apache.org/jira/browse/OAK-2413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Dürig updated OAK-2413:
-------------------------------
Description:
The current contract for {{Editor.childNodeChanged()}} does not specify if this
method may also be called when the child node did not actually change. The
method {{NodeStateDiff.childNodeChanged()}} explicitly states that there may be
such calls. Looking at the implementation connecting the two classes,
{{EditorDiff.childNodeChange()}} simply calls the editor without checking
whether the child node did in fact change.
I think we either have to change the {{EditorDiff}} or update the contract for
the Editor and adjust implementations. E.g. right now, PrivilegeValidator
(implements Editor), assumes a call to {{childNodeChange()}} indeed means the
child node changed.
was:
The current contract for {{Editor.childNodeChanged()}} does not specify if this
method may also be called when the child node did not actually change. The
method {{NodeStateDiff.childNodeChanged()}} explicitly states that there may be
such calls. Looking at the implementation connecting the two classes,
{{EditorDiff.childNodeChange()}} simply calls the editor without checking
whether the child node did in fact change.
I think we either have to change the {{EditorDiff }} or update the contract for
the Editor and adjust implementations. E.g. right now, PrivilegeValidator
(implements Editor), assumes a call to {{childNodeChange()}} indeed means the
child node changed.
> Clarify Editor.childNodeChanged()
> ---------------------------------
>
> Key: OAK-2413
> URL: https://issues.apache.org/jira/browse/OAK-2413
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core
> Reporter: Marcel Reutegger
> Priority: Minor
>
> The current contract for {{Editor.childNodeChanged()}} does not specify if
> this method may also be called when the child node did not actually change.
> The method {{NodeStateDiff.childNodeChanged()}} explicitly states that there
> may be such calls. Looking at the implementation connecting the two classes,
> {{EditorDiff.childNodeChange()}} simply calls the editor without checking
> whether the child node did in fact change.
> I think we either have to change the {{EditorDiff}} or update the contract
> for the Editor and adjust implementations. E.g. right now, PrivilegeValidator
> (implements Editor), assumes a call to {{childNodeChange()}} indeed means the
> child node changed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)