[
https://issues.apache.org/jira/browse/SLING-9662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17177613#comment-17177613
]
Bertrand Delacretaz commented on SLING-9662:
--------------------------------------------
Thanks for introducing the "ResourceToUriMapper" term instead of just
"ResourceMapper" - I think we have too many "mappers" in Slng already, it's
good to be more specific about what they do!
As you mentioned elsewhere, once you start breaking up the current set of URI
Mappers [1] in their own ResourceToUriMapper services there's a real risk of
breaking backwards compatibility, so I think we should make sure we have a
strong set of automated tests before doing that.
It might be worth creating a set of tests which are just about this in a single
module, to get an overview of the test coverage in a single place - and that
would also be helpful in terms of better documenting these things and their
interactions.
[1] As you mentioned on our dev list that's:
* Config "resource.resolver.mapping" in JcrResourceResolverFactoryImpl
* Mappings via /etc/map
* Vanity Paths
* sling:alias
> 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/[email protected]/msg93537.html]
> [https://www.mail-archive.com/[email protected]/msg87736.html]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)