in src/main/java/org/apache/manifoldcf/elasticsearch/MCFAuthorizer.java [218:235]
protected static FilterBuilder calculateCompleteSubquery(String allowField, String denyField, FilterBuilder allowOpen, FilterBuilder denyOpen, List<String> userAccessTokens)
{
BoolFilterBuilder bq = new BoolFilterBuilder();
// No ES equivalent - hope this is done right inside
//bq.setMaxClauseCount(1000000);
// Add the empty-acl case
BoolFilterBuilder subUnprotectedClause = new BoolFilterBuilder();
subUnprotectedClause.must(allowOpen);
subUnprotectedClause.must(denyOpen);
bq.should(subUnprotectedClause);
for (String accessToken : userAccessTokens)
{
bq.should(new TermFilterBuilder(allowField,accessToken));
bq.mustNot(new TermFilterBuilder(denyField,accessToken));
}
return bq;
}