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.