diff options
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java')
-rw-r--r-- | core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java | 61 |
1 files changed, 22 insertions, 39 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java index badbb9411a..059d72a8e1 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java @@ -23,7 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.search.DocValueFormat; -import org.elasticsearch.search.aggregations.AggregationStreams; import org.elasticsearch.search.aggregations.InternalAggregation; import org.elasticsearch.search.aggregations.metrics.InternalNumericMetricsAggregation; import org.elasticsearch.search.aggregations.metrics.max.InternalMax; @@ -38,28 +37,9 @@ import java.util.List; import java.util.Map; public class InternalPercentilesBucket extends InternalNumericMetricsAggregation.MultiValue implements PercentilesBucket { - - public static final Type TYPE = new Type("percentiles_bucket"); - - public static final AggregationStreams.Stream STREAM = new AggregationStreams.Stream() { - @Override - public InternalPercentilesBucket readResult(StreamInput in) throws IOException { - InternalPercentilesBucket result = new InternalPercentilesBucket(); - result.readFrom(in); - return result; - } - }; - - public static void registerStreams() { - AggregationStreams.registerStream(STREAM, TYPE.stream()); - } - private double[] percentiles; private double[] percents; - protected InternalPercentilesBucket() { - } // for serialization - public InternalPercentilesBucket(String name, double[] percents, double[] percentiles, DocValueFormat formatter, List<PipelineAggregator> pipelineAggregators, Map<String, Object> metaData) { @@ -69,6 +49,28 @@ public class InternalPercentilesBucket extends InternalNumericMetricsAggregation this.percents = percents; } + /** + * Read from a stream. + */ + public InternalPercentilesBucket(StreamInput in) throws IOException { + super(in); + format = in.readNamedWriteable(DocValueFormat.class); + percentiles = in.readDoubleArray(); + percents = in.readDoubleArray(); + } + + @Override + protected void doWriteTo(StreamOutput out) throws IOException { + out.writeNamedWriteable(format); + out.writeDoubleArray(percentiles); + out.writeDoubleArray(percents); + } + + @Override + public String getWriteableName() { + return PercentilesBucketPipelineAggregationBuilder.NAME; + } + @Override public double percentile(double percent) throws IllegalArgumentException { int index = Arrays.binarySearch(percents, percent); @@ -95,30 +97,11 @@ public class InternalPercentilesBucket extends InternalNumericMetricsAggregation } @Override - public Type type() { - return TYPE; - } - - @Override public InternalMax doReduce(List<InternalAggregation> aggregations, ReduceContext reduceContext) { throw new UnsupportedOperationException("Not supported"); } @Override - protected void doReadFrom(StreamInput in) throws IOException { - format = in.readNamedWriteable(DocValueFormat.class); - percentiles = in.readDoubleArray(); - percents = in.readDoubleArray(); - } - - @Override - protected void doWriteTo(StreamOutput out) throws IOException { - out.writeNamedWriteable(format); - out.writeDoubleArray(percentiles); - out.writeDoubleArray(percents); - } - - @Override public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { builder.startObject("values"); for (double percent : percents) { |