@JsonIgnore @Override public DateRangeAggregationBuilder getEsAggregate() { DateRangeAggregationBuilder ret = AggregationBuilders.dateRange(getId()).field(getField()); for (AggregateRangeDateDefinition range : getDateRanges()) { if (range.getFromAsString() != null) { if (range.getToAsString() != null) { ret.addRange(range.getKey(), range.getFromAsString(), range.getToAsString()); } else { ret.addUnboundedFrom(range.getKey(), range.getFromAsString()); } } else if (range.getToAsString() != null) { ret.addUnboundedTo(range.getKey(), range.getToAsString()); } } Map<String, String> props = getProperties(); if (props.containsKey(AGG_FORMAT_PROP)) { ret.format(props.get(AGG_FORMAT_PROP)); } return ret; }
for (AggregateRangeDateDefinition range : ag.getDateRanges()) { HashMap<String, Serializable> rangeData = new HashMap<>(); rangeData.put("from", range.getFromAsString()); rangeData.put("to", range.getToAsString()); rangesData.add(rangeData);
@Override public Map<String, Integer> getAggregateDateRangeDefinitionOrderMap() { if (aggregateDateRangeDefinitionOrderMap == null) { aggregateDateRangeDefinitionOrderMap = new HashMap<String, Integer>(getDateRanges().size()); for (int i = 0; i < getDateRanges().size(); i++) { aggregateDateRangeDefinitionOrderMap.put(getDateRanges().get(i).getKey(), i); } } return aggregateDateRangeDefinitionOrderMap; }
@JsonIgnore @Override public QueryBuilder getEsFilter() { if (getSelection().isEmpty()) { return null; } BoolQueryBuilder ret = QueryBuilders.boolQuery(); for (AggregateRangeDateDefinition range : getDateRanges()) { if (getSelection().contains(range.getKey())) { RangeQueryBuilder rangeFilter = QueryBuilders.rangeQuery(getField()); if (range.getFromAsString() != null) { rangeFilter.gte(range.getFromAsString()); } if (range.getToAsString() != null) { rangeFilter.lt(range.getToAsString()); } ret.should(rangeFilter); } } return ret; }