@Override public Granularity apply(DataApiRequest request, TemplateDruidQuery templateDruidQuery) { return resolveAcceptingGrain(request, templateDruidQuery); } }
/** * Constructor. * * @param dataApiRequest <b>Data API request</b> containing the constraints information * @param templateDruidQuery Query containing metric constraint information */ public QueryPlanningConstraint( @NotNull DataApiRequest dataApiRequest, @NotNull TemplateDruidQuery templateDruidQuery ) { super(dataApiRequest, templateDruidQuery); this.logicalTable = dataApiRequest.getTable(); this.intervals = Collections.unmodifiableList(dataApiRequest.getIntervals()); this.logicalMetrics = Collections.unmodifiableSet(dataApiRequest.getLogicalMetrics()); this.minimumGranularity = new RequestQueryGranularityResolver().apply(dataApiRequest, templateDruidQuery); this.requestGranularity = dataApiRequest.getGranularity(); this.logicalMetricNames = generateLogicalMetricNames(); }