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

Carsten Ziegeler commented on SLING-3267:
-----------------------------------------

>From the API docs of ResourceDecorator:
     * the new resource. If the service does not want to decorate
     * the resource, it should return the original resource.
     * Returning <code>null</code> is considered the same as
     * returning the original resource.

So everything is documented properly I think and we shouldn't change this

> 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