in src/main/java/org/apache/accumulo/access/ParserEvaluator.java [66:91]
private static boolean parseExpression(Tokenizer tokenizer,
Predicate<Tokenizer.AuthorizationToken> authorizedPredicate,
Predicate<Tokenizer.AuthorizationToken> shortCircuitPredicate) {
boolean result =
parseParenExpressionOrAuthorization(tokenizer, authorizedPredicate, shortCircuitPredicate);
if (tokenizer.hasNext()) {
var operator = tokenizer.peek();
if (operator == ByteUtils.AND_OPERATOR) {
result = parseAndExpression(result, tokenizer, authorizedPredicate, shortCircuitPredicate);
if (tokenizer.hasNext() && isAndOrOperator(tokenizer.peek())) {
// A case of mixed operators, lets give a clear error message
tokenizer.error("Cannot mix '|' and '&'");
}
} else if (operator == ByteUtils.OR_OPERATOR) {
result = parseOrExpression(result, tokenizer, authorizedPredicate, shortCircuitPredicate);
if (tokenizer.hasNext() && isAndOrOperator(tokenizer.peek())) {
// A case of mixed operators, lets give a clear error message
tokenizer.error("Cannot mix '|' and '&'");
}
}
}
return result;
}