[
https://issues.apache.org/jira/browse/SLING-848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14327250#comment-14327250
]
Tomek Rękawek commented on SLING-848:
-------------------------------------
Hello Stefan,
I'm sorry that I did these changes in the \*mock modules without consulting
you. Please find my reasons below:
# This SLING-848 issue changes a few important modules: Sling API, Resource
resolver and JCR resource provider.
# I created an integration test it-resource-versioning
# In this test I wanted to use sling-mock (as I need to mock the resource
resolver)
# I updated the Sling API, Resource resolver and JCR resource bundles in the
sling-mock as I needed to have the new features from SLING-848 enabled in the
mocked resolver.
# I added the empty getThreadResourceResolver() as it was required by the new
Sling API (it wasn't my change, but simply a thing that happened between Sling
API 2.4.0 and 2.8.1-SNAPSHOT)
# I needed the PathMapper for the similar reason - JcrResourceProviderFactory
started referencing it in version 2.4.2
Now I see that I can solve point 4 and 5 without a need to modify the
sling-mock, simply overriding versions of appropriate bundles in my
it-resource-versioning/pom.xml, which I did in rev. 1660831. I still need the
PathMapper to have the new JcrResourceProviderFactory working.
I made a workaround in rev. 1660831, copying the MockJcrResourceResolverFactory
to my testing module and adding PathMapper there. I think it's the only
solution without updating jcr resource dependency in sling-mock to 2.4.2.
> Support getting versioned resources by using uri path parameters
> ----------------------------------------------------------------
>
> Key: SLING-848
> URL: https://issues.apache.org/jira/browse/SLING-848
> Project: Sling
> Issue Type: New Feature
> Components: JCR
> Affects Versions: JCR Resource 2.0.2
> Reporter: Carsten Ziegeler
> Assignee: Tomek Rękawek
> Fix For: JCR Resource 2.5.0, API 2.9.0, Resource Resolver 1.2.0
>
> Attachments: SLING-848-metadata.patch
>
>
> Getting versioned content should be support thorough uri path parameters,
> like /something/hello;v=1.1
> For jcr based resources the value of the version should either point to a
> version name or label.
> In order to not change our existing apis, we introduce a new utility method
> which removes all uri path parameters
> and returns a map of these. Every resource provider could use this utility
> method and then decide to act on these
> parameters.
> If a requested version does not exists, a 404 is returned.
> If the requested node does not directly point to a versionable node, the
> algorithm checks the parent hierarchy until a versionable node is found, and
> tries to get the version of this node and then goes down the path again. If
> the versionable node does not have the requested version or the child, a 404
> is returned.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)