public Object visit(OrQueryNode node, Object data) throws RepositoryException { return node.acceptOperands(this, data); }
/** * {@inheritDoc} */ public OrQueryNode createOrQueryNode(QueryNode parent) { return new OrQueryNode(parent); }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof LocationStepQueryNode || node.getParent() instanceof AndQueryNode || node.getParent() instanceof NotQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String or = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(or); operands[i].accept(this, sb); or = " OR "; } if (bracket) { sb.append(")"); } return sb; }
public Object visit(ASTOrExpression node, Object data) { NAryQueryNode parent = (NAryQueryNode) data; OrQueryNode orQuery = factory.createOrQueryNode(parent); // pass to operands node.childrenAccept(this, orQuery); if (orQuery.getNumOperands() > 0) { parent.addOperand(orQuery); } return parent; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer buffer = (StringBuffer) data; buffer.append(PADDING, 0, indent); buffer.append("+ OrQueryNode"); buffer.append("\n"); traverse(node.getOperands(), buffer); return buffer; }
identifier, QueryConstants.OPERATION_EQ_VALUE, (ASTLiteral) node.children[i]); node.childrenAccept(this, rel); in.addOperand(rel);
public Object visit(ASTOrExpression node, Object data) { NAryQueryNode parent = (NAryQueryNode) data; OrQueryNode orQuery = factory.createOrQueryNode(parent); // pass to operands node.childrenAccept(this, orQuery); if (orQuery.getNumOperands() > 0) { parent.addOperand(orQuery); } return parent; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer buffer = (StringBuffer) data; buffer.append(PADDING, 0, indent); buffer.append("+ OrQueryNode"); buffer.append("\n"); traverse(node.getOperands(), buffer); return buffer; }
identifier, QueryConstants.OPERATION_EQ_VALUE, (ASTLiteral) node.children[i]); node.childrenAccept(this, rel); in.addOperand(rel);
public Object visit(OrQueryNode node, Object data) throws RepositoryException { return node.acceptOperands(this, data); }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof LocationStepQueryNode || node.getParent() instanceof AndQueryNode || node.getParent() instanceof NotQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String or = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(or); operands[i].accept(this, sb); or = " OR "; } if (bracket) { sb.append(")"); } return sb; }
/** * {@inheritDoc} */ public OrQueryNode createOrQueryNode(QueryNode parent) { return new OrQueryNode(parent); }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { BooleanQuery orQuery = new BooleanQuery(); Object[] result = node.acceptOperands(this, null); for (Object aResult : result) { Query operand = (Query) aResult; if (operand instanceof BooleanQuery) { // check if the clauses are all optional, then // we can collapse into the the enclosing orQuery boolean hasNonOptional = false; for (BooleanClause clause : ((BooleanQuery) operand).getClauses()) { if (clause.isProhibited() || clause.isRequired()) { hasNonOptional = true; break; } } if (hasNonOptional) { // cannot collapse orQuery.add(operand, Occur.SHOULD); } else { // collapse for (BooleanClause clause : ((BooleanQuery) operand).getClauses()) { orQuery.add(clause); } } } else { orQuery.add(operand, Occur.SHOULD); } } return orQuery; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof AndQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String or = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(or); operands[i].accept(this, sb); or = " or "; } if (bracket) { sb.append(")"); } return sb; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { BooleanQuery orQuery = new BooleanQuery(); Object[] result = node.acceptOperands(this, null); for (Object aResult : result) { Query operand = (Query) aResult; if (operand instanceof BooleanQuery) { // check if the clauses are all optional, then // we can collapse into the the enclosing orQuery boolean hasNonOptional = false; for (BooleanClause clause : ((BooleanQuery) operand).getClauses()) { if (clause.isProhibited() || clause.isRequired()) { hasNonOptional = true; break; } } if (hasNonOptional) { // cannot collapse orQuery.add(operand, Occur.SHOULD); } else { // collapse for (BooleanClause clause : ((BooleanQuery) operand).getClauses()) { orQuery.add(clause); } } } else { orQuery.add(operand, Occur.SHOULD); } } return orQuery; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof AndQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String or = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(or); operands[i].accept(this, sb); or = " or "; } if (bracket) { sb.append(")"); } return sb; }