@Override public void configure(BulletConfig configuration) { if (clauses != null) { clauses.forEach(clause -> clause.configure(configuration)); } }
@Override public String toString() { return "{" + super.toString() + ", " + "field: " + field + ", " + "values: " + values + "}"; }
private static boolean hasNonANDLogicals(Clause clause) { if (clause instanceof FilterClause) { return false; } return clause.getOperation() != Clause.Operation.AND || hasNonANDLogicals(((LogicalClause) clause).getClauses()); }
if (filters != null) { for (Clause clause : filters) { clause.initialize().ifPresent(errors::addAll);
@Override public String toString() { return "{" + super.toString() + ", " + "clauses: " + clauses + "}"; } }
@Override @SuppressWarnings("unchecked") public void configure(BulletConfig config) { if (filters != null) { filters = rewriteClauses(filters); filters.forEach(f -> f.configure(config)); } if (projection != null) { projection.configure(config); } // Must have an aggregation if (aggregation == null) { aggregation = new Aggregation(); } aggregation.configure(config); boolean disableWindowing = config.getAs(BulletConfig.WINDOW_DISABLE, Boolean.class); if (disableWindowing) { window = null; } else if (window != null) { window.configure(config); } long durationDefault = config.getAs(BulletConfig.QUERY_DEFAULT_DURATION, Long.class); long durationMax = config.getAs(BulletConfig.QUERY_MAX_DURATION, Long.class); // Null or negative, then default, else min of duration and max. duration = (duration == null || duration <= 0) ? durationDefault : Math.min(duration, durationMax); if (postAggregations != null) { postAggregations.forEach(p -> p.configure(config)); } }