filterList.add("(objectClass=*)"); //$NON-NLS-1$
}
boolean isNegated = false;
// Recursive case: compound criteria
if(criteria instanceof AndOr) {
AndOr crit = (AndOr)criteria;
AndOr.Operator op = crit.getOperator();
LogManager.logTrace(LogConstants.CTX_CONNECTOR, "Parsing compound criteria."); //$NON-NLS-1$
String stringOp = parseCompoundCriteriaOp(op);
filterList.add("("); //$NON-NLS-1$
filterList.add(stringOp);
filterList.addAll(getSearchFilterFromWhereClause(crit.getLeftCondition(), new LinkedList<String>()));
filterList.addAll(getSearchFilterFromWhereClause(crit.getRightCondition(), new LinkedList<String>()));
filterList.add(")"); //$NON-NLS-1$
// Base case
} else if(criteria instanceof Comparison) {
LogManager.logTrace(LogConstants.CTX_CONNECTOR, "Parsing compare criteria."); //$NON-NLS-1$
Comparison.Operator op = ((Comparison) criteria).getOperator();