summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/aggregations/metrics
diff options
context:
space:
mode:
authorChristoph Büscher <christoph@elastic.co>2017-04-28 16:42:55 +0200
committerChristoph Büscher <christoph@elastic.co>2017-04-28 16:42:55 +0200
commitdb07a3471879de0dbd6133ce2750ab608690a85c (patch)
tree1da066fa01a05f2010baae72576e7e9f74ba50f2 /core/src/main/java/org/elasticsearch/search/aggregations/metrics
parent0d5cca8feb94850d1a6651b95bc09eccf8326c27 (diff)
parent16a7cbe4635747909f4112eb4e162fb40cef9da6 (diff)
Merge branch 'master' into feature/client_aggs_parsing
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/metrics')
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/InternalGeoCentroid.java24
1 files changed, 20 insertions, 4 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/InternalGeoCentroid.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/InternalGeoCentroid.java
index da69115ac6..c5578813c8 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/InternalGeoCentroid.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/InternalGeoCentroid.java
@@ -20,6 +20,7 @@
package org.elasticsearch.search.aggregations.metrics.geocentroid;
import org.apache.lucene.geo.GeoEncodingUtils;
+import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.geo.GeoPoint;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -36,8 +37,8 @@ import java.util.Objects;
* Serialization and merge logic for {@link GeoCentroidAggregator}.
*/
public class InternalGeoCentroid extends InternalAggregation implements GeoCentroid {
- protected final GeoPoint centroid;
- protected final long count;
+ private final GeoPoint centroid;
+ private final long count;
public static long encodeLatLon(double lat, double lon) {
return (Integer.toUnsignedLong(GeoEncodingUtils.encodeLatitude(lat)) << 32) | Integer.toUnsignedLong(GeoEncodingUtils.encodeLongitude(lon));
@@ -136,6 +137,8 @@ public class InternalGeoCentroid extends InternalAggregation implements GeoCentr
return centroid.lat();
case "lon":
return centroid.lon();
+ case "count":
+ return count;
default:
throw new IllegalArgumentException("Found unknown path element [" + coordinate + "] in [" + getName() + "]");
}
@@ -145,14 +148,27 @@ public class InternalGeoCentroid extends InternalAggregation implements GeoCentr
}
static class Fields {
- static final String CENTROID = "location";
+ static final ParseField CENTROID = new ParseField("location");
+ static final ParseField CENTROID_LAT = new ParseField("lat");
+ static final ParseField CENTROID_LON = new ParseField("lon");
+ static final ParseField COUNT = new ParseField("count");
}
@Override
public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException {
+ return renderXContent(builder, params, centroid, count);
+ }
+
+ static XContentBuilder renderXContent(XContentBuilder builder, Params params, GeoPoint centroid, long count) throws IOException {
if (centroid != null) {
- builder.startObject(Fields.CENTROID).field("lat", centroid.lat()).field("lon", centroid.lon()).endObject();
+ builder.startObject(Fields.CENTROID.getPreferredName());
+ {
+ builder.field(Fields.CENTROID_LAT.getPreferredName(), centroid.lat());
+ builder.field(Fields.CENTROID_LON.getPreferredName(), centroid.lon());
+ }
+ builder.endObject();
}
+ builder.field(Fields.COUNT.getPreferredName(), count);
return builder;
}