protected static String getRangeDateClause(String field, BucketRangeDate bucketRangeDate) { Double from = bucketRangeDate.getFrom(); Double to = bucketRangeDate.getTo(); if (from == null && to != null) { return field + " < TIMESTAMP '" + DATE_TIME_FORMATTER.print(bucketRangeDate.getToAsDate()) + "'"; } else if (from != null && to == null) { return field + " >= TIMESTAMP '" + DATE_TIME_FORMATTER.print(bucketRangeDate.getFromAsDate()) + "'"; } return field + " BETWEEN TIMESTAMP '" + DATE_TIME_FORMATTER.print(bucketRangeDate.getFromAsDate()) + "' AND TIMESTAMP '" + DATE_TIME_FORMATTER.print(bucketRangeDate.getToAsDate()) + "'"; }
@Override public String toString() { return String.format("BucketRangeDate(%s, %d, %s, %s)", getKey(), getDocCount(), fromDate, toDate); }
jg.writeStringField("fromAsDate", DateParser.formatW3CDateTime(bucketRange.getFromAsDate().toDate())); jg.writeStringField("toAsDate", DateParser.formatW3CDateTime(bucketRange.getToAsDate().toDate()));
@JsonIgnore @Override public void parseEsBuckets(Collection<? extends MultiBucketsAggregation.Bucket> buckets) { List<BucketRangeDate> nxBuckets = new ArrayList<>(buckets.size()); for (MultiBucketsAggregation.Bucket bucket : buckets) { Range.Bucket rangeBucket = (Range.Bucket) bucket; nxBuckets.add(new BucketRangeDate(bucket.getKeyAsString(), (DateTime) rangeBucket.getFrom(), (DateTime) rangeBucket.getTo(), rangeBucket.getDocCount())); } nxBuckets.sort(new BucketRangeDateComparator()); this.buckets = nxBuckets; }
@JsonIgnore @Override public void parseEsBuckets(Collection<? extends MultiBucketsAggregation.Bucket> buckets) { List<BucketRangeDate> nxBuckets = new ArrayList<>(buckets.size()); for (MultiBucketsAggregation.Bucket bucket : buckets) { DateTime from = (DateTime) bucket.getKey(); DateTime to = DateHelper.plusDuration(from, getInterval()); nxBuckets.add(new BucketRangeDate(bucket.getKeyAsString(), from, to, bucket.getDocCount())); } this.buckets = nxBuckets; }