protected Query calculateCompleteSubquery()

in src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java [303:319]


    protected Query calculateCompleteSubquery(String allowField, String denyField, Query allowOpen, Query denyOpen, List<String> userAccessTokens)
    {
      BooleanQuery.Builder bq = new BooleanQuery.Builder();
      BooleanQuery.setMaxClauseCount(1000000);
      
      // Add the empty-acl case
      BooleanQuery.Builder  subUnprotectedClause = new BooleanQuery.Builder();
      subUnprotectedClause.add(allowOpen,BooleanClause.Occur.MUST);
      subUnprotectedClause.add(denyOpen,BooleanClause.Occur.MUST);
      bq.add(subUnprotectedClause.build(),BooleanClause.Occur.SHOULD);
      for (String accessToken : userAccessTokens)
      {
        bq.add(new TermQuery(new Term(allowField,accessToken)),BooleanClause.Occur.SHOULD);
        bq.add(new TermQuery(new Term(denyField,accessToken)),BooleanClause.Occur.MUST_NOT);
      }
      return bq.build();
    }