[ https://issues.apache.org/jira/browse/SLING-3267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13841404#comment-13841404 ]
Simone Tripodi edited comment on SLING-3267 at 12/6/13 4:46 PM: ---------------------------------------------------------------- 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 :) was (Author: simone.tripodi): 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)