You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2013/12/06 11:41:35 UTC

[jira] [Created] (SLING-3267) ResourceDecorator returning null should cause Resources to be ignored

Bertrand Delacretaz created SLING-3267:
------------------------------------------

             Summary: 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


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)