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

Alexander Klimetschek commented on SLING-3909:
----------------------------------------------

I don't disagree with your use case, all I am saying is to move the modifying 
part out of the merged resources into a separate utility/API.

It's not "default" since there is no way to easily switch to a different 
behaviour for an application. If you want to have a different logic to modify 
e.g. the overlay merged resources, you'd have to a) provide a different mount 
path (/mnt/differentoverlay) which is not really clean and b) afaics you'd have 
to reimplement a complete new merging resource provider (this can't even be 
hooked in through the MergedResourcePicker SPI). You could not reuse neither 
the reading merging logic nor the write merging logic.

> Merged ResourceProviders should be optionally modifiable
> --------------------------------------------------------
>
>                 Key: SLING-3909
>                 URL: https://issues.apache.org/jira/browse/SLING-3909
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Justin Edelson
>            Assignee: Carsten Ziegeler
>             Fix For: Resource Merger 1.2.0
>
>
> This is a continuation of the work originally started in SLING-3420.
> Modification are always done on the "most significant" resource (i.e. 
> /apps/foo instead of /libs/foo) as determined by the MergedResourcePicker.
> The algorithm for modification is as follows:
> * Create - if the most significant resource doesn't exist, one is created at 
> that path; otherwise an exception is thrown.
> * Delete - if the most significat resource doesn't exist, the hide children 
> property is set on the most signfiicant resource's parent. if it does exist, 
> it is deleted and the hide children property is set.
> * Property Modifications - most significant resource is created as necessary.
> ** Create - created on most significant resource
> ** Modify - created/updated on most significant resource
> ** Delete - deleted if necessary on most significant resource and hidden.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to