QueryServlet
------------
Key: SLING-307
URL: https://issues.apache.org/jira/browse/SLING-307
Project: Sling
Issue Type: New Feature
Components: Default Servlets
Reporter: Philipp Koch
it would be nice to have a way to specify a jcr query in the url in order to
query the underlying jcr repository.
the attached patch works as follows:
The new query servlet is called if the extension is ".json" and the selector is
set to "query". you can pass following parameters in the url:
statement: jcr query statement (XPATH or SQL)
queryType: xpath or sql (of none is specified xpath is taken)
property: specifies which property (relative path) has to be "put" into the
result set (this parameter can be added multiple times)
excerptPath: specifies the relative node path from where the excerpt has to be
built.
the result is returned as json string. e.g.:
[
{"name":"ee0","rep:excerpt()":"<excerpt><fragment>geometrixx/components/contentpage
...
ee<\/fragment><\/excerpt>","jcr:path":"/content/ee0","jcr:score":"528","cq:content/jcr:title":"ee"},
{"name":"news","rep:excerpt()":"<excerpt><fragment> ...
geometrixx/components/contentpage ... ... ... ... news about
geometrix<\/fragment><\/excerpt>","jcr:path":"/content/geometrixx/en/about/news","jcr:score":"521","cq:content/jcr:title":"News"}
]
example query call:
http://localhost:8080/sling/myhome.query.json?statement=//element(*,cq:Page)[jcr:contains(.,'sling')]/(rep:excerpt(.))&property=cq:content/jcr:title&excerptPath=cq:content
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.