summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics')
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregator.java18
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/InternalBucketMetricValue.java57
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregator.java32
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregator.java32
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregator.java35
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java61
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregator.java51
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregator.java32
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