[ https://issues.apache.org/jira/browse/SLING-4752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler resolved SLING-4752. ------------------------------------- Resolution: Won't Fix > New resource query API > ---------------------- > > Key: SLING-4752 > URL: https://issues.apache.org/jira/browse/SLING-4752 > Project: Sling > Issue Type: Improvement > Components: API, JCR, ResourceResolver > Reporter: Carsten Ziegeler > Priority: Major > Attachments: api-patch.txt, resourceresolver-patch.txt > > > Discussion thread: > http://mail-archives.apache.org/mod_mbox/sling-dev/201505.mbox/%3C555983F6.7020100%40apache.org%3E > Starting mail: > The current resource query api has several problems: > - it's using the JCR spec to define a query > - it's not clear which queries are supported by providers > - queries are string based > - implementing queries in a resource provider is way too hard as this > would require to implement the complete jcr query api. > I've created a draft for a new, object based API at [1]. The main idea > is to use a builder pattern to create Query objects. This are immutable > and have a unique identifier. The QueryManager service can be used to > execute a query in the context of a resource resolver. The manager > delegates the query to the providers. As each Query object has this > identifier, implementations can use this to cache the parsing of the query. > In addition to the query object you can pass in query instructions to > specify a limit or range for the query. > Obviously this is a reduced set compared to the full fledged jcr search > api, however it should be suitable for the majority of use cases. > [1] > https://svn.apache.org/repos/asf/sling/whiteboard/cziegeler/api-v3/src/main/java/org/apache/sling/api/resource/query/ -- This message was sent by Atlassian Jira (v8.20.10#820010)