SQL-2 query produces results in crxde lite tools but not from an osgi
In trying to query the JCR from an OSGI bundle I am not getting any errors, just 0 returns.
The query I use is SELECT * FROM [cq:Page] WHERE ISDESCENDANTNODE('/content/***/en/recipes/all-recipes').
If I run the query tool in CRXDE lite I get back 174 results.
In my OSGI bundle I have code as follows
param.put(ResourceResolverFactory.SUBSERVICE, "readService"); ResourceResolver resolver = null; try { resolver = resolverFactory.getServiceResourceResolver(param); } catch (LoginException e) { e.printStackTrace(); } try { session = resolver.adaptTo(Session.class); } catch (Exception e) { e.printStackTrace(); } try { javax.jcr.query.QueryManager queryManager = session.getWorkspace().getQueryManager(); String sqlStatement = "SELECT * FROM [cq:Page] WHERE ISDESCENDANTNODE('/content/***/en/recipes/all-recipes')"; javax.jcr.query.Query query = queryManager.createQuery(sqlStatement, "JCR-SQL2"); javax.jcr.query.QueryResult result = query.execute(); javax.jcr.NodeIterator nodeIter = result.getNodes(); Long length = nodeIter.getSize(); if (length == 0) { return recipesList; } //length is always 0, I get no errors. while (nodeIter.hasNext()) { String row = ""; javax.jcr.Node node = nodeIter.nextNode(); row = node.getProperty("couponsCategory").getString(); recipesList.add(row); }
Regards
Clive Stewart