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);
}
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);
}
Aggregations