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

Joanna Jasnowska commented on SLING-7593:
-----------------------------------------

Hi,

to summarize all activities within this issue; (please confirm or correct me if 
I'm wrong)

1. proposed change has been released in [Servlets Get 
2.1.32|https://issues.apache.org/jira/issues/?jql=project+%3D+SLING+AND+fixVersion+%3D+%22Servlets+Get+2.1.32%22]

2. while releasing changes to [API 
2.18.2|https://issues.apache.org/jira/issues/?jql=project+%3D+SLING+AND+fixVersion+%3D+%22API+2.18.2%22]
 some internal tests have failed and changes has been reverted.

Please provide information on what shall we do to resolve issue with 
ResourceDecorator pattern. Specifically - what Jira issue shall we raise, and 
would you like us to contribute (if yes - could you please provide some tips on 
how this shall be implemented).

Regards, 

Joanna Jasnowska

 

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

Reply via email to