public Object visit(OrderQueryNode node, Object data) { StringBuffer buffer = (StringBuffer) data; buffer.append(PADDING, 0, indent); buffer.append("+ OrderQueryNode"); buffer.append("\n"); OrderQueryNode.OrderSpec[] specs = node.getOrderSpecs(); for (int i = 0; i < specs.length; i++) { buffer.append(PADDING, 0, indent); buffer.append(" "); appendPath(specs[i].getPropertyPath(), buffer); buffer.append(" asc=").append(specs[i].isAscending()); buffer.append("\n"); } return buffer; }
/** * {@inheritDoc} */ public OrderQueryNode createOrderQueryNode(QueryNode parent) { return new OrderQueryNode(parent); }
/** * Adds an order specification to this query node. * * @param property the name of the property. * @param ascending if <code>true</code> values of this properties are * ordered ascending; descending if <code>false</code>. * @deprecated use {@link #addOrderSpec(Path , boolean)} instead. */ public void addOrderSpec(Name property, boolean ascending) { addOrderSpec(createPath(property), ascending); }
case JJTORDERSPEC: OrderQueryNode orderQueryNode = (OrderQueryNode) queryNode; orderQueryNode.newOrderSpec(); node.childrenAccept(this, queryNode); if (!orderQueryNode.isValid()) { exceptions.add(new InvalidQueryException("Invalid order specification. (Missing @?)")); if (node.jjtGetNumChildren() > 0 && ((SimpleNode) node.jjtGetChild(0)).getId() == JJTDESCENDING) { ((OrderQueryNode) queryNode).setAscending(false);
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; }
public Object visit(ASTOrderSpec node, Object data) { OrderQueryNode order = (OrderQueryNode) data; final Name[] identifier = new Name[1]; // collect identifier node.childrenAccept(new DefaultParserVisitor() { public Object visit(ASTIdentifier node, Object data) { identifier[0] = node.getName(); return data; } }, data); OrderQueryNode.OrderSpec spec = new OrderQueryNode.OrderSpec(identifier[0], true); order.addOrderSpec(spec); node.childrenAccept(this, spec); return data; }
/** * {@inheritDoc} */ public boolean needsSystemTree() { return (locationNode != null && locationNode.needsSystemTree()) || (orderNode != null && orderNode.needsSystemTree()); }
/** * {@inheritDoc} */ public boolean equals(Object obj) { if (obj instanceof QueryRootNode) { QueryRootNode other = (QueryRootNode) obj; return (locationNode == null ? other.locationNode == null : locationNode.equals(other.locationNode)) && selectProperties.equals(other.selectProperties) && (orderNode == null ? other.orderNode == null : orderNode.equals(other.orderNode)); } return false; }
case JJTORDERSPEC: OrderQueryNode orderQueryNode = (OrderQueryNode) queryNode; orderQueryNode.newOrderSpec(); node.childrenAccept(this, queryNode); if (!orderQueryNode.isValid()) { exceptions.add(new InvalidQueryException("Invalid order specification. (Missing @?)")); if (node.jjtGetNumChildren() > 0 && ((SimpleNode) node.jjtGetChild(0)).getId() == JJTDESCENDING) { ((OrderQueryNode) queryNode).setAscending(false);
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; }
public Object visit(ASTOrderSpec node, Object data) { OrderQueryNode order = (OrderQueryNode) data; final Name[] identifier = new Name[1]; // collect identifier node.childrenAccept(new DefaultParserVisitor() { public Object visit(ASTIdentifier node, Object data) { identifier[0] = node.getName(); return data; } }, data); OrderQueryNode.OrderSpec spec = new OrderQueryNode.OrderSpec(identifier[0], true); order.addOrderSpec(spec); node.childrenAccept(this, spec); return data; }
/** * {@inheritDoc} */ public boolean needsSystemTree() { return (locationNode != null && locationNode.needsSystemTree()) || (orderNode != null && orderNode.needsSystemTree()); }
/** * {@inheritDoc} */ public boolean equals(Object obj) { if (obj instanceof QueryRootNode) { QueryRootNode other = (QueryRootNode) obj; return (locationNode == null ? other.locationNode == null : locationNode.equals(other.locationNode)) && selectProperties.equals(other.selectProperties) && (orderNode == null ? other.orderNode == null : orderNode.equals(other.orderNode)); } return false; }
public Object visit(OrderQueryNode node, Object data) { StringBuffer buffer = (StringBuffer) data; buffer.append(PADDING, 0, indent); buffer.append("+ OrderQueryNode"); buffer.append("\n"); OrderQueryNode.OrderSpec[] specs = node.getOrderSpecs(); for (int i = 0; i < specs.length; i++) { buffer.append(PADDING, 0, indent); buffer.append(" "); appendPath(specs[i].getPropertyPath(), buffer); buffer.append(" asc=").append(specs[i].isAscending()); buffer.append("\n"); } return buffer; }
/** * Adds an order specification to this query node. * * @param property the name of the property. * @param ascending if <code>true</code> values of this properties are * ordered ascending; descending if <code>false</code>. * @deprecated use {@link #addOrderSpec(Path , boolean)} instead. */ public void addOrderSpec(Name property, boolean ascending) { addOrderSpec(createPath(property), ascending); }
public Object visit(QueryRootNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; node.getLocationNode().accept(this, data); Name[] selectProps = node.getSelectProperties(); if (selectProps.length > 0) { sb.append('/'); boolean union = selectProps.length > 1; if (union) { sb.append('('); } String pipe = ""; for (int i = 0; i < selectProps.length; i++) { try { sb.append(pipe); sb.append('@'); sb.append(resolver.getJCRName(encode(selectProps[i]))); pipe = "|"; } catch (NamespaceException e) { exceptions.add(e); } } if (union) { sb.append(')'); } } if (node.getOrderNode() != null) { node.getOrderNode().accept(this, data); } return data; }
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;
/** * {@inheritDoc} */ public OrderQueryNode createOrderQueryNode(QueryNode parent) { return new OrderQueryNode(parent); }
public Object visit(OrderQueryNode node, Object data) { StringBuffer sb = (StringBuffer) data; sb.append(" order by"); OrderQueryNode.OrderSpec[] specs = node.getOrderSpecs(); String comma = ""; try {
public Object visit(QueryRootNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; node.getLocationNode().accept(this, data); Name[] selectProps = node.getSelectProperties(); if (selectProps.length > 0) { sb.append('/'); boolean union = selectProps.length > 1; if (union) { sb.append('('); } String pipe = ""; for (int i = 0; i < selectProps.length; i++) { try { sb.append(pipe); sb.append('@'); sb.append(resolver.getJCRName(encode(selectProps[i]))); pipe = "|"; } catch (NamespaceException e) { exceptions.add(e); } } if (union) { sb.append(')'); } } if (node.getOrderNode() != null) { node.getOrderNode().accept(this, data); } return data; }