return null;
}
public Object visit(ASTEQNode node, Object data) {
StringBuilder fieldName = new StringBuilder();
ObjectHolder value = new ObjectHolder();
// Process both sides of this node.
Object left = node.jjtGetChild(0).jjtAccept(this, data);
Object right = node.jjtGetChild(1).jjtAccept(this, data);
// Ignore functions in the query
if (left instanceof FunctionResult || right instanceof FunctionResult)
return null;
decodeResults(left, right, fieldName, value);
// We need to check to see if we are in a NOT context. If so,
// then we need to reverse the negation.
boolean negated = false;
if (null != data && data instanceof EvaluationContext) {
EvaluationContext ctx = (EvaluationContext) data;
if (ctx.inNotContext)
negated = !negated;
}
QueryTerm term = new QueryTerm(negated, JexlOperatorConstants.getOperator(node.getClass()), value.getObject());
this.currentNode.getTerms().put(fieldName.toString(), term);
return null;
}