sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler (JIRA)" <>
Subject [jira] [Commented] (SLING-7593) ResourceTraversor doesn't support ResourceDecorator pattern
Date Mon, 27 Aug 2018 13:40:00 GMT


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:
>             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,
> 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 bundle
imported packages. Why do we have the following dependency;version="[1.0,2)"
in the latest released version? On the other hand the same bundle has dependency on;
version="[2.10,3)". Is it expected? If yes then how to provide;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

View raw message