@Override public void query(Dimension dimension, DataSource dataSource) { // Success callback will update the dimension cache SuccessCallback success = buildDruidDimensionsSuccessCallback(dimension); DruidSearchQuery druidSearchQuery = new DruidSearchQuery( dataSource, AllGranularity.INSTANCE, null, Collections.singletonList(INTERVAL), Collections.singletonList(dimension), SEARCH_QUERY_SPEC, null, ROW_LIMIT ); RequestContext requestContext = new RequestContext(null, false); druidWebService.postDruidQuery( requestContext, success, errorCallback, failureCallback, druidSearchQuery ); }
@Override public boolean handleRequest( final RequestContext context, final DataApiRequest request, final DruidAggregationQuery<?> druidQuery, final ResponseProcessor response ) { SuccessCallback success = new SuccessCallback() { @Override public void invoke(JsonNode rootNode) { response.processResponse(rootNode, druidQuery, new LoggingContext(RequestLog.copy())); } }; HttpErrorCallback error = response.getErrorCallback(druidQuery); FailureCallback failure = response.getFailureCallback(druidQuery); BardQueryInfo.incrementCountFactHits(); DruidWebService webService = druidWebServiceSelector.select(context, request, druidQuery); webService.postDruidQuery(context, success, error, failure, druidQuery); return true; } }
HttpErrorCallback error = response.getErrorCallback(druidQuery); FailureCallback failure = response.getFailureCallback(druidQuery); webService.postDruidQuery(context, weightQuerySuccess, error, failure, weightEvaluationQuery); return true;