public RemoteQueryResult execute(Map<String,String> arguments) throws RepositoryException, RemoteException { return new ServerQueryResult(query.execute(arguments), getFactory()); }
public List<String> getMountPointNodePaths() { List<String> mountPointNodePaths = new ArrayList<String>(); javax.jcr.Session session = ((UserSession) Session.get()).getJcrSession(); String query = "//element(*, hst:site)"; try { QueryManager queryManager = ((UserSession) Session.get()).getQueryManager(); HippoQuery hippoQuery = (HippoQuery) queryManager.createQuery(query, "xpath"); session.refresh(true); NodeIterator nodeIt = hippoQuery.execute().getNodes(); while (nodeIt.hasNext()) { Node hstSiteNode = nodeIt.nextNode(); String hstSiteNodePath = hstSiteNode.getPath(); mountPointNodePaths.add(hstSiteNodePath); } } catch (RepositoryException e) { log.error("Error executing query[" + query + "]", e); } return mountPointNodePaths; } }
private static void addReferrers(final Node handle, final String requiredAvailability, final int resultMaxCount, final String queryStatement, final Map<String, Node> referrers) throws RepositoryException { final QueryManager queryManager = handle.getSession().getWorkspace().getQueryManager(); @SuppressWarnings("deprecation") final HippoQuery query = (HippoQuery) queryManager.createQuery(queryStatement, Query.XPATH); query.setLimit(QUERY_LIMIT); final QueryResult result = query.execute(); final Node root = handle.getSession().getRootNode(); for (Node hit : new NodeIterable(result.getNodes())) { if (referrers.size() >= resultMaxCount) { break; } Node current = hit; while (!current.isSame(root)) { Node parent = current.getParent(); if (parent.isNodeType(HippoNodeType.NT_HANDLE) && current.isNodeType(HippoNodeType.NT_DOCUMENT) && hasAvailability(current, requiredAvailability)) { referrers.put(parent.getIdentifier(), parent); break; } current = current.getParent(); } } }
if (query != null) { ((HippoQuery)query).bindValue("basefolder", folder.getSession().getValueFactory().createValue(folder.getPath())); QueryResult result = ((HippoQuery)query).execute(); for (NodeIterator documentIter = result.getNodes(); documentIter.hasNext();) { Node document = documentIter.nextNode();
session.refresh(true); hippoQuery.setLimit(1); siteIterator = hippoQuery.execute().getNodes(); } catch (RepositoryException e) { log.error("Error executing query[" + query + "]", e);
RowIterator r = query.execute().getRows(); int i = 0; while (r.hasNext() && i < MAX_RESULTS) {