node = new SpeedoQL(new CharArrayReader(filter.toCharArray())).SpeedoQL();
} catch (ParseException e) {
throw new SpeedoException(
"Impossible to parse the filter and to create AST", e);
}
SpeedoQLVariableVisitor sqvv = new SpeedoQLVariableVisitor(
node, miManager, varParserlogger, hparams, hvars, qd.order,
qd.candidateClass.getName(), qd.includeSubClasses);
// start the variable visitor to catch all variables and build a
// first tree of them without collection navigation
Map fields = sqvv.getFields();
QueryBuilder qb = sqvv.getQueryBuilder();
QueryTree qt = sqvv.getQueryTree();
SelectProject sp = new SelectProject("");
if (!filter.equals("(true)") && !filter.equals("true")) {
//Ther is a filter and potentialy collection navigation
if (debug) {