/** * Starts the tree traversal and returns the lucene * {@link org.apache.lucene.search.Query}. * * @return the lucene <code>Query</code>. * @throws RepositoryException if an error occurs while building the lucene * query. */ private Query createLuceneQuery() throws RepositoryException { return (Query) root.accept(this, null); }
public Object visit(QueryRootNode node, Object data) throws RepositoryException { StringBuffer buffer = (StringBuffer) data; buffer.append("+ Root node"); buffer.append("\n"); // select properties Name[] select = node.getSelectProperties(); buffer.append("+ Select properties: "); if (select.length == 0) { buffer.append("*"); } else { String comma = ""; for (int i = 0; i < select.length; i++) { buffer.append(comma); buffer.append(select[i].toString()); comma = ", "; } } buffer.append("\n"); // path traverse(new QueryNode[]{node.getLocationNode()}, buffer); // order by OrderQueryNode order = node.getOrderNode(); if (order != null) { traverse(new QueryNode[]{order}, buffer); } return buffer; }
/** * Returns <code>true</code> if this query node needs items under * /jcr:system to be queried. * * @return <code>true</code> if this query node needs content under * /jcr:system to be queried; <code>false</code> otherwise. */ public boolean needsSystemTree() { return this.root.needsSystemTree(); }
/** * Creates the primary path query node. * * @param node xpath node representing the root of the parsed tree. * @return the path query node */ private PathQueryNode createPathQueryNode(SimpleNode node) { root.setLocationNode(factory.createPathQueryNode(root)); node.childrenAccept(this, root.getLocationNode()); return root.getLocationNode(); }
public Object visit(QueryRootNode node, Object data) throws RepositoryException { PathQueryNode pathNode = node.getLocationNode(); if (pathNode != null) { pathNode.accept(this, data); } OrderQueryNode orderNode = node.getOrderNode(); if (orderNode != null) { orderNode.accept(this, data); } return data; }
@Override public QueryResult execute(long offset, long limit) throws RepositoryException { if (log.isDebugEnabled()) { log.debug("Executing query: \n" + root.dump()); index.getIndexFormatVersion(), cache); OrderQueryNode orderNode = root.getOrderNode();
((RelationQueryNode) queryNode).addPathElement(element); } else if (queryNode.getType() == QueryNode.TYPE_PATH) { root.addSelectProperty(name); } else if (queryNode.getType() == QueryNode.TYPE_ORDER) { root.getOrderNode().addOrderSpec(name, true); } else if (queryNode.getType() == QueryNode.TYPE_TEXTSEARCH) { TextsearchQueryNode ts = (TextsearchQueryNode) queryNode;
for (Name name : root.getSelectProperties()) { String pn = sessionContext.getJCRName(name); ColumnImpl col = (ColumnImpl) qomFactory.column( LocationStepQueryNode[] steps = root.getLocationNode().getPathSteps(); final Name[] ntName = new Name[1]; steps[steps.length - 1].acceptOperands(new DefaultQueryNodeVisitor() {
break; case JJTORDERBYCLAUSE: root.setOrderNode(factory.createOrderQueryNode(root)); queryNode = root.getOrderNode(); node.childrenAccept(this, queryNode); break;
if(root.getOrderNode() != null) { OrderQueryNode.OrderSpec[] orderSpecs = root.getOrderNode().getOrderSpecs(); Path[] orderProperties = new Path[orderSpecs.length]; boolean[] ascSpecs = new boolean[orderSpecs.length];
public Object visit(QueryRootNode node, Object data) throws RepositoryException { BooleanQuery root = new BooleanQuery(); Query wrapped = root; if (node.getLocationNode() != null) { wrapped = (Query) node.getLocationNode().accept(this, root); } return wrapped; }
public Object visit(ASTIdentifier node, Object data) { root.addSelectProperty(node.getName()); return data; }
/** * {@inheritDoc} */ public QueryRootNode createQueryRootNode() { return new QueryRootNode(); }
log.debug("Executing query: \n" + root.dump()); cache); OrderQueryNode orderNode = root.getOrderNode();
public Object visit(QueryRootNode node, Object data) throws RepositoryException { PathQueryNode pathNode = node.getLocationNode(); if (pathNode != null) { pathNode.accept(this, data); } OrderQueryNode orderNode = node.getOrderNode(); if (orderNode != null) { orderNode.accept(this, data); } return data; }
/** * Creates the primary path query node. * * @param node xpath node representing the root of the parsed tree. * @return the path query node */ private PathQueryNode createPathQueryNode(SimpleNode node) { root.setLocationNode(factory.createPathQueryNode(root)); node.childrenAccept(this, root.getLocationNode()); return root.getLocationNode(); }
((RelationQueryNode) queryNode).addPathElement(element); } else if (queryNode.getType() == QueryNode.TYPE_PATH) { root.addSelectProperty(name); } else if (queryNode.getType() == QueryNode.TYPE_ORDER) { root.getOrderNode().addOrderSpec(name, true); } else if (queryNode.getType() == QueryNode.TYPE_TEXTSEARCH) { TextsearchQueryNode ts = (TextsearchQueryNode) queryNode;
for (Name name : root.getSelectProperties()) { String pn = sessionContext.getJCRName(name); ColumnImpl col = (ColumnImpl) qomFactory.column( LocationStepQueryNode[] steps = root.getLocationNode().getPathSteps(); final Name[] ntName = new Name[1]; steps[steps.length - 1].acceptOperands(new DefaultQueryNodeVisitor() {
break; case JJTORDERBYCLAUSE: root.setOrderNode(factory.createOrderQueryNode(root)); queryNode = root.getOrderNode(); node.childrenAccept(this, queryNode); break;
public Object visit(QueryRootNode node, Object data) throws RepositoryException { BooleanQuery root = new BooleanQuery(); Query wrapped = root; if (node.getLocationNode() != null) { wrapped = (Query) node.getLocationNode().accept(this, root); } return wrapped; }