You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Georg Henzler (Jira)" <ji...@apache.org> on 2020/09/17 21:23:00 UTC

[jira] [Updated] (SLING-9662) Introduce a Resource Mapping SPI

     [ https://issues.apache.org/jira/browse/SLING-9662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Georg Henzler updated SLING-9662:
---------------------------------
    Description: 
Introduce a simple SPI that allows to contribute to the resource resolver's map() and resolve() methods:

Prerequisite *ResourceUri:* (SLING-9745 to be completed first)

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]

  was:
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]


> 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:
> Prerequisite *ResourceUri:* (SLING-9745 to be completed first)
> 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)