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

Simone Tripodi commented on SLING-3267:
---------------------------------------

bq, NonExistingResources are still Resources.

Sounds a little philosophical - but since I've missed some years of Sling 
history, I'll let up to you decide which is the best design.

But please take in consideration that ATM I cannot correctly implement my 
extension because of that limitation :)

> ResourceDecorator returning null should cause Resources to be ignored
> ---------------------------------------------------------------------
>
>                 Key: SLING-3267
>                 URL: https://issues.apache.org/jira/browse/SLING-3267
>             Project: Sling
>          Issue Type: Improvement
>          Components: ResourceResolver
>    Affects Versions: Resource Resolver 1.0.6
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>            Priority: Minor
>         Attachments: SLING-3267.patch
>
>
> The ResourceDecorator API's decorate(...) method javadocs currently specify 
> that it can return null, but I don't think that's supported in a consistent 
> way in the resource resolving process - returning null causes the resource 
> resolver to supply a null Resource in some cases, which will probably cause 
> NPEs downstream. 
> The javadocs also say "If the service does not want to decorate the resource, 
> it should return the original resource" which is consistent with how the 
> resource resolver currently operates: returning null is clearly not a way of 
> saying "do not decorate this resource".
> As we're discussing feature flags in Sling, we could clarify this behavior by 
> specifying that a ResourceDecorator returning null causes the resource to be 
> considered as non-existent, and making the corresponding (rather small) 
> changes in the resource resolver code. 
> As every Resource needs to go through the available ResourceDecorators, this 
> is a simple way of making resources hideable based on feature flags. One then 
> just needs to implement a ResourceDecorator that returns null when a Resource 
> must be ignored.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to