sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konrad Windszus (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SLING-7593) ResourceTraversor doesn't support ResourceDecorator pattern
Date Mon, 27 Aug 2018 13:18:00 GMT

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

Konrad Windszus commented on SLING-7593:
----------------------------------------

[~cziegeler] Do you mean that with https://issues.apache.org/jira/browse/SLING-7838 we actually
have the better fix for this issue? Then there is no need to reopen this issue then.

> 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)

Mime
View raw message