Search in sources :

Example 1 with Aggregation

use of io.gravitee.management.rest.resource.param.Aggregation in project gravitee-management-rest-api by gravitee-io.

the class ApplicationAnalyticsResource method executeDateHisto.

private Analytics executeDateHisto(String application, AnalyticsParam analyticsParam) {
    DateHistogramQuery query = new DateHistogramQuery();
    query.setFrom(analyticsParam.getFrom());
    query.setTo(analyticsParam.getTo());
    query.setInterval(analyticsParam.getInterval());
    query.setQuery(analyticsParam.getQuery());
    query.setRootField("application");
    query.setRootIdentifier(application);
    List<Aggregation> aggregations = analyticsParam.getAggregations();
    if (aggregations != null) {
        List<io.gravitee.management.model.analytics.query.Aggregation> aggregationList = aggregations.stream().map((Function<Aggregation, io.gravitee.management.model.analytics.query.Aggregation>) aggregation -> new io.gravitee.management.model.analytics.query.Aggregation() {

            @Override
            public AggregationType type() {
                return AggregationType.valueOf(aggregation.getType().name().toUpperCase());
            }

            @Override
            public String field() {
                return aggregation.getField();
            }
        }).collect(Collectors.toList());
        query.setAggregations(aggregationList);
    }
    return analyticsService.execute(query);
}
Also used : AggregationType(io.gravitee.management.model.analytics.query.AggregationType) DateHistogramQuery(io.gravitee.management.model.analytics.query.DateHistogramQuery) Aggregation(io.gravitee.management.rest.resource.param.Aggregation) Function(java.util.function.Function)

Example 2 with Aggregation

use of io.gravitee.management.rest.resource.param.Aggregation in project gravitee-management-rest-api by gravitee-io.

the class ApiAnalyticsResource method executeDateHisto.

private Analytics executeDateHisto(String api, AnalyticsParam analyticsParam) {
    DateHistogramQuery query = new DateHistogramQuery();
    query.setFrom(analyticsParam.getFrom());
    query.setTo(analyticsParam.getTo());
    query.setInterval(analyticsParam.getInterval());
    query.setQuery(analyticsParam.getQuery());
    query.setRootField("api");
    query.setRootIdentifier(api);
    List<Aggregation> aggregations = analyticsParam.getAggregations();
    if (aggregations != null) {
        List<io.gravitee.management.model.analytics.query.Aggregation> aggregationList = aggregations.stream().map((Function<Aggregation, io.gravitee.management.model.analytics.query.Aggregation>) aggregation -> new io.gravitee.management.model.analytics.query.Aggregation() {

            @Override
            public AggregationType type() {
                return AggregationType.valueOf(aggregation.getType().name().toUpperCase());
            }

            @Override
            public String field() {
                return aggregation.getField();
            }
        }).collect(Collectors.toList());
        query.setAggregations(aggregationList);
    }
    return analyticsService.execute(query);
}
Also used : AggregationType(io.gravitee.management.model.analytics.query.AggregationType) DateHistogramQuery(io.gravitee.management.model.analytics.query.DateHistogramQuery) Aggregation(io.gravitee.management.rest.resource.param.Aggregation) Function(java.util.function.Function)

Aggregations

AggregationType (io.gravitee.management.model.analytics.query.AggregationType)2 DateHistogramQuery (io.gravitee.management.model.analytics.query.DateHistogramQuery)2 Aggregation (io.gravitee.management.rest.resource.param.Aggregation)2 Function (java.util.function.Function)2