[
https://issues.apache.org/jira/browse/SLING-7593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16593662#comment-16593662
]
Carsten Ziegeler commented on SLING-7593:
-----------------------------------------
I think there should be no need to reopen this as the initial implementation
was actually correct and if there are problems they are most likely in other
areas
> ResourceTraversor doesn't support ResourceDecorator pattern
> -----------------------------------------------------------
>
> Key: SLING-7593
> URL: https://issues.apache.org/jira/browse/SLING-7593
> Project: Sling
> Issue Type: Bug
> Components: API, Servlets
> Reporter: Joanna Jasnowska
> Assignee: Carsten Ziegeler
> Priority: Blocker
> Fix For: API 2.18.2, Servlets Get 2.1.32
>
> Attachments:
> calling_deprecated_ResourceUtil_listChildren(resource)_replaced_with_resource_listChildren.patch,
> listChildren_method_fixed.patch
>
>
> In my current project, we are using ResourceDecorator pattern. In one case we
> would like to decorate a resource with additional children. Unfortunately
> ResourceTraversor object doesn't accept information about children from
> ResourceDecorator. It is caused by usage of
> ResourceUtil.listChildren(resource) method (inside ResourceTraversor class)
> which is deprecated. Under the hood the method invokes
> resource.getResourceResolver.listChildren(resource) method which reads data
> directly from repo. In result our additional children are not returned.
> Moreover, we don't have a place to add them to the list returned from
> resourceResolver.listChildren method.
> When we change the approach and we invoke resource.listChildren() method
> instead of ResourceUtil.listChildren(resource) then we get solution which is
> compatible with ResourceDecorator pattern and on the other hand when
> resources are not decorated then no changes should be observed.
> Additionally I have one additional question about
> org.apache.sling.servlets.get bundle imported packages. Why do we have the
> following dependency org.apache.sling.api.resource.external;version="[1.0,2)"
> in the latest released version? On the other hand the same bundle has
> dependency on org.apache.sling.api.resource; version="[2.10,3)". Is it
> expected? If yes then how to provide
> org.apache.sling.api.resource.external;version="[1.0,2)" on my environment,
> because now I don't have it.
> In the attachment section, you could find patch containing fix for the
> described scenario.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)