diff options
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics')
13 files changed, 107 insertions, 231 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregator.java index c09d303f4e..6bdbd5e6e4 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregator.java @@ -45,12 +45,8 @@ import java.util.Map; */ public abstract class BucketMetricsPipelineAggregator extends SiblingPipelineAggregator { - protected DocValueFormat format; - protected GapPolicy gapPolicy; - - public BucketMetricsPipelineAggregator() { - super(); - } + protected final DocValueFormat format; + protected final GapPolicy gapPolicy; protected BucketMetricsPipelineAggregator(String name, String[] bucketsPaths, GapPolicy gapPolicy, DocValueFormat format, Map<String, Object> metaData) { @@ -69,16 +65,6 @@ public abstract class BucketMetricsPipelineAggregator extends SiblingPipelineAgg } @Override - public final void doReadFrom(StreamInput in) throws IOException { - format = in.readNamedWriteable(DocValueFormat.class); - gapPolicy = GapPolicy.readFrom(in); - innerReadFrom(in); - } - - protected void innerReadFrom(StreamInput in) throws IOException { - } - - @Override public final void doWriteTo(StreamOutput out) throws IOException { out.writeNamedWriteable(format); gapPolicy.writeTo(out); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/InternalBucketMetricValue.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/InternalBucketMetricValue.java index 683620b672..6477728b32 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/InternalBucketMetricValue.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/InternalBucketMetricValue.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.pipeline.PipelineAggregator; @@ -33,30 +32,11 @@ import java.util.List; import java.util.Map; public class InternalBucketMetricValue extends InternalNumericMetricsAggregation.SingleValue { - - public static final Type TYPE = new Type("bucket_metric_value"); - - public static final AggregationStreams.Stream STREAM = new AggregationStreams.Stream() { - @Override - public InternalBucketMetricValue readResult(StreamInput in) throws IOException { - InternalBucketMetricValue result = new InternalBucketMetricValue(); - result.readFrom(in); - return result; - } - }; - - public static void registerStreams() { - AggregationStreams.registerStream(STREAM, TYPE.stream()); - } + public static final String NAME = "bucket_metric_value"; private double value; - private String[] keys; - protected InternalBucketMetricValue() { - super(); - } - public InternalBucketMetricValue(String name, String[] keys, double value, DocValueFormat formatter, List<PipelineAggregator> pipelineAggregators, Map<String, Object> metaData) { super(name, pipelineAggregators, metaData); @@ -65,9 +45,26 @@ public class InternalBucketMetricValue extends InternalNumericMetricsAggregation this.format = formatter; } + /** + * Read from a stream. + */ + public InternalBucketMetricValue(StreamInput in) throws IOException { + super(in); + format = in.readNamedWriteable(DocValueFormat.class); + value = in.readDouble(); + keys = in.readStringArray(); + } + @Override - public Type type() { - return TYPE; + protected void doWriteTo(StreamOutput out) throws IOException { + out.writeNamedWriteable(format); + out.writeDouble(value); + out.writeStringArray(keys); + } + + @Override + public String getWriteableName() { + return NAME; } @Override @@ -98,20 +95,6 @@ public class InternalBucketMetricValue extends InternalNumericMetricsAggregation } @Override - protected void doReadFrom(StreamInput in) throws IOException { - format = in.readNamedWriteable(DocValueFormat.class); - value = in.readDouble(); - keys = in.readStringArray(); - } - - @Override - protected void doWriteTo(StreamOutput out) throws IOException { - out.writeNamedWriteable(format); - out.writeDouble(value); - out.writeStringArray(keys); - } - - @Override public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { boolean hasValue = !Double.isInfinite(value); builder.field(CommonFields.VALUE, hasValue ? value : null); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregationBuilder.java index d7d7a1e0c5..95a62d388a 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregationBuilder.java @@ -34,11 +34,11 @@ import java.util.List; import java.util.Map; public class AvgBucketPipelineAggregationBuilder extends BucketMetricsPipelineAggregationBuilder<AvgBucketPipelineAggregationBuilder> { - public static final String NAME = AvgBucketPipelineAggregator.TYPE.name(); + public static final String NAME = "avg_bucket"; public static final ParseField AGGREGATION_NAME_FIELD = new ParseField(NAME); public AvgBucketPipelineAggregationBuilder(String name, String bucketsPath) { - super(name, AvgBucketPipelineAggregator.TYPE.name(), new String[] { bucketsPath }); + super(name, NAME, new String[] { bucketsPath }); } /** diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregator.java index 56d4ed4170..776862a48d 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregator.java @@ -22,11 +22,9 @@ package org.elasticsearch.search.aggregations.pipeline.bucketmetrics.avg; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.search.DocValueFormat; import org.elasticsearch.search.aggregations.InternalAggregation; -import org.elasticsearch.search.aggregations.InternalAggregation.Type; import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy; import org.elasticsearch.search.aggregations.pipeline.InternalSimpleValue; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; -import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorStreams; import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.BucketMetricsPipelineAggregator; import java.io.IOException; @@ -34,36 +32,24 @@ import java.util.List; import java.util.Map; public class AvgBucketPipelineAggregator extends BucketMetricsPipelineAggregator { - - public static final Type TYPE = new Type("avg_bucket"); - - public static final PipelineAggregatorStreams.Stream STREAM = new PipelineAggregatorStreams.Stream() { - @Override - public AvgBucketPipelineAggregator readResult(StreamInput in) throws IOException { - AvgBucketPipelineAggregator result = new AvgBucketPipelineAggregator(); - result.readFrom(in); - return result; - } - }; - - public static void registerStreams() { - PipelineAggregatorStreams.registerStream(STREAM, TYPE.stream()); - } - private int count = 0; private double sum = 0; - private AvgBucketPipelineAggregator() { - } - protected AvgBucketPipelineAggregator(String name, String[] bucketsPaths, GapPolicy gapPolicy, DocValueFormat format, Map<String, Object> metaData) { super(name, bucketsPaths, gapPolicy, format, metaData); } + /** + * Read from a stream. + */ + public AvgBucketPipelineAggregator(StreamInput in) throws IOException { + super(in); + } + @Override - public Type type() { - return TYPE; + public String getWriteableName() { + return AvgBucketPipelineAggregationBuilder.NAME; } @Override diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregationBuilder.java index 0c4fc632b9..7f517a6dc1 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregationBuilder.java @@ -34,11 +34,11 @@ import java.util.List; import java.util.Map; public class MaxBucketPipelineAggregationBuilder extends BucketMetricsPipelineAggregationBuilder<MaxBucketPipelineAggregationBuilder> { - public static final String NAME = MaxBucketPipelineAggregator.TYPE.name(); + public static final String NAME = "max_bucket"; public static final ParseField AGGREGATION_NAME_FIELD = new ParseField(NAME); public MaxBucketPipelineAggregationBuilder(String name, String bucketsPath) { - super(name, MaxBucketPipelineAggregator.TYPE.name(), new String[] { bucketsPath }); + super(name, NAME, new String[] { bucketsPath }); } /** diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregator.java index ac3cd06958..d17a592c34 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregator.java @@ -22,10 +22,8 @@ package org.elasticsearch.search.aggregations.pipeline.bucketmetrics.max; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.search.DocValueFormat; import org.elasticsearch.search.aggregations.InternalAggregation; -import org.elasticsearch.search.aggregations.InternalAggregation.Type; import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; -import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorStreams; import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.BucketMetricsPipelineAggregator; import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.InternalBucketMetricValue; @@ -36,36 +34,24 @@ import java.util.List; import java.util.Map; public class MaxBucketPipelineAggregator extends BucketMetricsPipelineAggregator { - - public static final Type TYPE = new Type("max_bucket"); - - public static final PipelineAggregatorStreams.Stream STREAM = new PipelineAggregatorStreams.Stream() { - @Override - public MaxBucketPipelineAggregator readResult(StreamInput in) throws IOException { - MaxBucketPipelineAggregator result = new MaxBucketPipelineAggregator(); - result.readFrom(in); - return result; - } - }; - - public static void registerStreams() { - PipelineAggregatorStreams.registerStream(STREAM, TYPE.stream()); - } - private List<String> maxBucketKeys; private double maxValue; - private MaxBucketPipelineAggregator() { - } - protected MaxBucketPipelineAggregator(String name, String[] bucketsPaths, GapPolicy gapPolicy, DocValueFormat formatter, Map<String, Object> metaData) { super(name, bucketsPaths, gapPolicy, formatter, metaData); } + /** + * Read from a stream. + */ + public MaxBucketPipelineAggregator(StreamInput in) throws IOException { + super(in); + } + @Override - public Type type() { - return TYPE; + public String getWriteableName() { + return MaxBucketPipelineAggregationBuilder.NAME; } @Override diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregationBuilder.java index d20dbe9f7f..5c45c73707 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregationBuilder.java @@ -34,11 +34,11 @@ import java.util.List; import java.util.Map; public class MinBucketPipelineAggregationBuilder extends BucketMetricsPipelineAggregationBuilder<MinBucketPipelineAggregationBuilder> { - public static final String NAME = MinBucketPipelineAggregator.TYPE.name(); + public static final String NAME = "min_bucket"; public static final ParseField AGGREGATION_FIELD_NAME = new ParseField(NAME); public MinBucketPipelineAggregationBuilder(String name, String bucketsPath) { - super(name, MinBucketPipelineAggregator.TYPE.name(), new String[] { bucketsPath }); + super(name, NAME, new String[] { bucketsPath }); } /** diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregator.java index e4b86ee9f8..88595d7826 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregator.java @@ -22,10 +22,8 @@ package org.elasticsearch.search.aggregations.pipeline.bucketmetrics.min; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.search.DocValueFormat; import org.elasticsearch.search.aggregations.InternalAggregation; -import org.elasticsearch.search.aggregations.InternalAggregation.Type; import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; -import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorStreams; import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.BucketMetricsPipelineAggregator; import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.InternalBucketMetricValue; @@ -36,36 +34,24 @@ import java.util.List; import java.util.Map; public class MinBucketPipelineAggregator extends BucketMetricsPipelineAggregator { - - public static final Type TYPE = new Type("min_bucket"); - - public static final PipelineAggregatorStreams.Stream STREAM = new PipelineAggregatorStreams.Stream() { - @Override - public MinBucketPipelineAggregator readResult(StreamInput in) throws IOException { - MinBucketPipelineAggregator result = new MinBucketPipelineAggregator(); - result.readFrom(in); - return result; - } - }; - - public static void registerStreams() { - PipelineAggregatorStreams.registerStream(STREAM, TYPE.stream()); - } - private List<String> minBucketKeys; private double minValue; - private MinBucketPipelineAggregator() { - } - protected MinBucketPipelineAggregator(String name, String[] bucketsPaths, GapPolicy gapPolicy, DocValueFormat formatter, Map<String, Object> metaData) { super(name, bucketsPaths, gapPolicy, formatter, metaData); } + /** + * Read from a stream. + */ + public MinBucketPipelineAggregator(StreamInput in) throws IOException { + super(in); + } + @Override - public Type type() { - return TYPE; + public String getWriteableName() { + return MinBucketPipelineAggregationBuilder.NAME; } @Override @@ -86,8 +72,7 @@ public class MinBucketPipelineAggregator extends BucketMetricsPipelineAggregator } @Override - protected InternalAggregation buildAggregation(java.util.List<PipelineAggregator> pipelineAggregators, - java.util.Map<String, Object> metadata) { + protected InternalAggregation buildAggregation(List<PipelineAggregator> pipelineAggregators, Map<String, Object> metadata) { String[] keys = minBucketKeys.toArray(new String[minBucketKeys.size()]); return new InternalBucketMetricValue(name(), keys, minValue, format, Collections.emptyList(), metaData()); } 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) { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java index 06a1b06dff..d0f0e29bdb 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java @@ -40,7 +40,7 @@ import java.util.Objects; public class PercentilesBucketPipelineAggregationBuilder extends BucketMetricsPipelineAggregationBuilder<PercentilesBucketPipelineAggregationBuilder> { - public static final String NAME = PercentilesBucketPipelineAggregator.TYPE.name(); + public static final String NAME = "percentiles_bucket"; public static final ParseField AGGREGATION_NAME_FIELD = new ParseField(NAME); private static final ParseField PERCENTS_FIELD = new ParseField("percents"); @@ -48,7 +48,7 @@ public class PercentilesBucketPipelineAggregationBuilder private double[] percents = new double[] { 1.0, 5.0, 25.0, 50.0, 75.0, 95.0, 99.0 }; public PercentilesBucketPipelineAggregationBuilder(String name, String bucketsPath) { - super(name, PercentilesBucketPipelineAggregator.TYPE.name(), new String[] { bucketsPath }); + super(name, NAME, new String[] { bucketsPath }); } /** diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregator.java index 12769680e9..2818d0f3f5 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregator.java @@ -24,10 +24,8 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.search.DocValueFormat; import org.elasticsearch.search.aggregations.InternalAggregation; -import org.elasticsearch.search.aggregations.InternalAggregation.Type; import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; -import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorStreams; import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.BucketMetricsPipelineAggregator; import java.io.IOException; @@ -37,39 +35,33 @@ import java.util.List; import java.util.Map; public class PercentilesBucketPipelineAggregator extends BucketMetricsPipelineAggregator { - - public static final Type TYPE = new Type("percentiles_bucket"); public final ParseField PERCENTS_FIELD = new ParseField("percents"); - public static final PipelineAggregatorStreams.Stream STREAM = new PipelineAggregatorStreams.Stream() { - @Override - public PercentilesBucketPipelineAggregator readResult(StreamInput in) throws IOException { - PercentilesBucketPipelineAggregator result = new PercentilesBucketPipelineAggregator(); - result.readFrom(in); - return result; - } - }; - - public static void registerStreams() { - PipelineAggregatorStreams.registerStream(STREAM, TYPE.stream()); - InternalPercentilesBucket.registerStreams(); - } - - private double[] percents; + private final double[] percents; private List<Double> data; - private PercentilesBucketPipelineAggregator() { - } - protected PercentilesBucketPipelineAggregator(String name, double[] percents, String[] bucketsPaths, GapPolicy gapPolicy, DocValueFormat formatter, Map<String, Object> metaData) { super(name, bucketsPaths, gapPolicy, formatter, metaData); this.percents = percents; } + /** + * Read from a stream. + */ + public PercentilesBucketPipelineAggregator(StreamInput in) throws IOException { + super(in); + percents = in.readDoubleArray(); + } + @Override - public Type type() { - return TYPE; + public void innerWriteTo(StreamOutput out) throws IOException { + out.writeDoubleArray(percents); + } + + @Override + public String getWriteableName() { + return PercentilesBucketPipelineAggregationBuilder.NAME; } @Override @@ -105,15 +97,4 @@ public class PercentilesBucketPipelineAggregator extends BucketMetricsPipelineAg return new InternalPercentilesBucket(name(), percents, percentiles, format, pipelineAggregators, metadata); } - - @Override - public void innerReadFrom(StreamInput in) throws IOException { - percents = in.readDoubleArray(); - } - - @Override - public void innerWriteTo(StreamOutput out) throws IOException { - out.writeDoubleArray(percents); - } - } diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregationBuilder.java index cf20eaf6e7..669700cbf7 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregationBuilder.java @@ -34,11 +34,11 @@ import java.util.List; import java.util.Map; public class SumBucketPipelineAggregationBuilder extends BucketMetricsPipelineAggregationBuilder<SumBucketPipelineAggregationBuilder> { - public static final String NAME = SumBucketPipelineAggregator.TYPE.name(); + public static final String NAME = "sum_bucket"; public static final ParseField AGGREGATION_NAME_FIELD = new ParseField(NAME); public SumBucketPipelineAggregationBuilder(String name, String bucketsPath) { - super(name, SumBucketPipelineAggregator.TYPE.name(), new String[] { bucketsPath }); + super(name, NAME, new String[] { bucketsPath }); } /** diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregator.java index 89d0ca9ccf..7efbf401d0 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregator.java @@ -22,11 +22,9 @@ package org.elasticsearch.search.aggregations.pipeline.bucketmetrics.sum; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.search.DocValueFormat; import org.elasticsearch.search.aggregations.InternalAggregation; -import org.elasticsearch.search.aggregations.InternalAggregation.Type; import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy; import org.elasticsearch.search.aggregations.pipeline.InternalSimpleValue; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; -import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorStreams; import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.BucketMetricsPipelineAggregator; import java.io.IOException; @@ -34,35 +32,23 @@ import java.util.List; import java.util.Map; public class SumBucketPipelineAggregator extends BucketMetricsPipelineAggregator { - - public static final Type TYPE = new Type("sum_bucket"); - - public static final PipelineAggregatorStreams.Stream STREAM = new PipelineAggregatorStreams.Stream() { - @Override - public SumBucketPipelineAggregator readResult(StreamInput in) throws IOException { - SumBucketPipelineAggregator result = new SumBucketPipelineAggregator(); - result.readFrom(in); - return result; - } - }; - - public static void registerStreams() { - PipelineAggregatorStreams.registerStream(STREAM, TYPE.stream()); - } - private double sum = 0; - private SumBucketPipelineAggregator() { - } - protected SumBucketPipelineAggregator(String name, String[] bucketsPaths, GapPolicy gapPolicy, DocValueFormat formatter, Map<String, Object> metaData) { super(name, bucketsPaths, gapPolicy, formatter, metaData); } + /** + * Read from a stream. + */ + public SumBucketPipelineAggregator(StreamInput in) throws IOException { + super(in); + } + @Override - public Type type() { - return TYPE; + public String getWriteableName() { + return SumBucketPipelineAggregationBuilder.NAME; } @Override |