[ https://issues.apache.org/jira/browse/SLING-9662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17177650#comment-17177650 ]
Georg Henzler commented on SLING-9662: -------------------------------------- [~bdelacretaz] I'm well aware of the cross cutting impact this change has (it's used everywhere!). To make it build I had to adjust a fair amount of JUnit tests already and I'd say the current state is 100% backwards compatible. But once I start refactoring (which is optional btw., we could also keep it side-by-side) the mentioned "status quo mechanisms" this has to be ensured also by integration test coverage. Would you add more integration tests to bundle org.apache.sling.resourceresolver (we have some "sort of integration tests" based on https://github.com/apache/sling-org-apache-sling-testing-osgi-mock) or extend tests in another place? > Introduce a Resource Mapping SPI > -------------------------------- > > Key: SLING-9662 > URL: https://issues.apache.org/jira/browse/SLING-9662 > Project: Sling > Issue Type: New Feature > Components: API > Reporter: Georg Henzler > Assignee: Georg Henzler > Priority: Major > > Introduce a simple SPI that allows to contribute to the resource resolver's > map() and resolve() methods: > *ResourceUri:* > General purpose class to represent a ResourceUri (like e.g. a link in an html > <a> tag). Immutable itself but adjustable using the builder pattern. Part of > the Sling API and can be used anywhere to simplify handling/modification of > Sling ResourceUri. Implements RequestPathInfo. ResourceUri can be created > easily from a String, a Request, a Resource, a URI or a RequestPathInfo. > *ResourceToUriMapper:* > SPI interface to be implemented as OSGi Service. All registered services > build a conceptual chain sorted by service ranking. The resource link is > passed through the chain while any ResourceToUriMapper chain member may or > may not make adjustments to the resource link. > rr.resolve() passes through the chain starting at the ResourceToUriMapper > with the <strong>highest</strong> service ranking and rr.map() passes through > the chain starting at the ResourceToUriMapper with the > <strong>lowest</strong> service ranking > _Mailing List References:_ > [https://www.mail-archive.com/dev@sling.apache.org/msg93537.html] > [https://www.mail-archive.com/dev@sling.apache.org/msg87736.html] -- This message was sent by Atlassian Jira (v8.3.4#803005)