summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Goodheart-Smithe <colings86@users.noreply.github.com>2016-02-12 10:06:51 +0000
committerColin Goodheart-Smithe <colings86@users.noreply.github.com>2016-02-12 10:06:51 +0000
commitd9c1e88ba90d86f188ada61a119909fcc3df15f3 (patch)
treeed219e9d7af445d26ec47cb5b1eb5b24adf81015
parented3f7903f47d1894bbe9ae74e25ec00eec361c1c (diff)
PipelineAggregatorBuilder.setMetaData is now chain able
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregatorBuilder.java20
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregatorBuilder.java17
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/avg/AvgBucketPipelineAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/max/MaxBucketPipelineAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/min/MinBucketPipelineAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/StatsBucketPipelineAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketPipelineAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/sum/SumBucketPipelineAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregator.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregator.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregator.java7
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/having/BucketSelectorPipelineAggregator.java5
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregator.java4
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/MetaDataIT.java6
16 files changed, 63 insertions, 56 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregatorBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregatorBuilder.java
index 3c3224921b..b77cd7a13b 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregatorBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregatorBuilder.java
@@ -36,7 +36,8 @@ import java.util.Objects;
* A factory that knows how to create an {@link PipelineAggregator} of a
* specific type.
*/
-public abstract class PipelineAggregatorBuilder extends ToXContentToBytes implements NamedWriteable<PipelineAggregatorBuilder>, ToXContent {
+public abstract class PipelineAggregatorBuilder<PAB extends PipelineAggregatorBuilder<PAB>> extends ToXContentToBytes
+ implements NamedWriteable<PipelineAggregatorBuilder<PAB>>, ToXContent {
protected String name;
protected String type;
@@ -79,7 +80,7 @@ public abstract class PipelineAggregatorBuilder extends ToXContentToBytes implem
* configured)
*/
public final void validate(AggregatorFactory<?> parent, AggregatorFactory<?>[] factories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
doValidate(parent, factories, pipelineAggregatorFactories);
}
@@ -96,11 +97,13 @@ public abstract class PipelineAggregatorBuilder extends ToXContentToBytes implem
}
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] factories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
}
- public void setMetaData(Map<String, Object> metaData) {
+ @SuppressWarnings("unchecked")
+ public PAB setMetaData(Map<String, Object> metaData) {
this.metaData = metaData;
+ return (PAB) this;
}
public String getName() {
@@ -127,15 +130,15 @@ public abstract class PipelineAggregatorBuilder extends ToXContentToBytes implem
}
@Override
- public PipelineAggregatorBuilder readFrom(StreamInput in) throws IOException {
+ public PipelineAggregatorBuilder<PAB> readFrom(StreamInput in) throws IOException {
String name = in.readString();
String[] bucketsPaths = in.readStringArray();
- PipelineAggregatorBuilder factory = doReadFrom(name, bucketsPaths, in);
+ PipelineAggregatorBuilder<PAB> factory = doReadFrom(name, bucketsPaths, in);
factory.metaData = in.readMap();
return factory;
}
- protected abstract PipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException;
+ protected abstract PipelineAggregatorBuilder<PAB> doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException;
@Override
public final XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
@@ -184,7 +187,8 @@ public abstract class PipelineAggregatorBuilder extends ToXContentToBytes implem
return false;
if (getClass() != obj.getClass())
return false;
- PipelineAggregatorBuilder other = (PipelineAggregatorBuilder) obj;
+ @SuppressWarnings("unchecked")
+ PipelineAggregatorBuilder<PAB> other = (PipelineAggregatorBuilder<PAB>) obj;
if (!Objects.equals(name, other.name))
return false;
if (!Objects.equals(type, other.type))
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregatorBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregatorBuilder.java
index 5ba1d1d9be..c5d290302f 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregatorBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsPipelineAggregatorBuilder.java
@@ -35,7 +35,7 @@ import java.util.Map;
import java.util.Objects;
public abstract class BucketMetricsPipelineAggregatorBuilder<AF extends BucketMetricsPipelineAggregatorBuilder<AF>>
- extends PipelineAggregatorBuilder {
+ extends PipelineAggregatorBuilder<AF> {
private String format = null;
private GapPolicy gapPolicy = GapPolicy.SKIP;
@@ -47,6 +47,7 @@ public abstract class BucketMetricsPipelineAggregatorBuilder<AF extends BucketMe
/**
* Sets the format to use on the output of this aggregation.
*/
+ @SuppressWarnings("unchecked")
public AF format(String format) {
this.format = format;
return (AF) this;
@@ -70,6 +71,7 @@ public abstract class BucketMetricsPipelineAggregatorBuilder<AF extends BucketMe
/**
* Sets the gap policy to use for this aggregation.
*/
+ @SuppressWarnings("unchecked")
public AF gapPolicy(GapPolicy gapPolicy) {
this.gapPolicy = gapPolicy;
return (AF) this;
@@ -87,7 +89,7 @@ public abstract class BucketMetricsPipelineAggregatorBuilder<AF extends BucketMe
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(PipelineAggregator.Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -109,14 +111,14 @@ public abstract class BucketMetricsPipelineAggregatorBuilder<AF extends BucketMe
protected abstract XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException;
@Override
- protected final PipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
- BucketMetricsPipelineAggregatorBuilder factory = innerReadFrom(name, bucketsPaths, in);
+ protected final PipelineAggregatorBuilder<AF> doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
+ BucketMetricsPipelineAggregatorBuilder<AF> factory = innerReadFrom(name, bucketsPaths, in);
factory.format = in.readOptionalString();
factory.gapPolicy = GapPolicy.readFrom(in);
return factory;
}
- protected abstract BucketMetricsPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ protected abstract BucketMetricsPipelineAggregatorBuilder<AF> innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
throws IOException;
@Override
@@ -137,12 +139,13 @@ public abstract class BucketMetricsPipelineAggregatorBuilder<AF extends BucketMe
@Override
protected final boolean doEquals(Object obj) {
- BucketMetricsPipelineAggregatorBuilder other = (BucketMetricsPipelineAggregatorBuilder) obj;
+ @SuppressWarnings("unchecked")
+ BucketMetricsPipelineAggregatorBuilder<AF> other = (BucketMetricsPipelineAggregatorBuilder<AF>) obj;
return Objects.equals(format, other.format)
&& Objects.equals(gapPolicy, other.gapPolicy)
&& innerEquals(other);
}
- protected abstract boolean innerEquals(BucketMetricsPipelineAggregatorBuilder other);
+ protected abstract boolean innerEquals(BucketMetricsPipelineAggregatorBuilder<AF> other);
}
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 1343c175f6..3fbdb48fd0 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
@@ -108,7 +108,7 @@ public class AvgBucketPipelineAggregator extends BucketMetricsPipelineAggregator
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(PipelineAggregator.Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -121,7 +121,7 @@ public class AvgBucketPipelineAggregator extends BucketMetricsPipelineAggregator
}
@Override
- protected BucketMetricsPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
+ protected AvgBucketPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
return new AvgBucketPipelineAggregatorBuilder(name, bucketsPaths);
}
@@ -136,7 +136,7 @@ public class AvgBucketPipelineAggregator extends BucketMetricsPipelineAggregator
}
@Override
- protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder other) {
+ protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder<AvgBucketPipelineAggregatorBuilder> other) {
return true;
}
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 9a23d1b8cf..8008987199 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
@@ -116,7 +116,7 @@ public class MaxBucketPipelineAggregator extends BucketMetricsPipelineAggregator
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(PipelineAggregator.Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -129,7 +129,7 @@ public class MaxBucketPipelineAggregator extends BucketMetricsPipelineAggregator
}
@Override
- protected BucketMetricsPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ protected MaxBucketPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
throws IOException {
return new MaxBucketPipelineAggregatorBuilder(name, bucketsPaths);
}
@@ -145,7 +145,7 @@ public class MaxBucketPipelineAggregator extends BucketMetricsPipelineAggregator
}
@Override
- protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder other) {
+ protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder<MaxBucketPipelineAggregatorBuilder> other) {
return true;
}
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 f4b52e0a1f..f700de16e6 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
@@ -117,7 +117,7 @@ public class MinBucketPipelineAggregator extends BucketMetricsPipelineAggregator
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(PipelineAggregator.Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -130,7 +130,7 @@ public class MinBucketPipelineAggregator extends BucketMetricsPipelineAggregator
}
@Override
- protected BucketMetricsPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ protected MinBucketPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
throws IOException {
return new MinBucketPipelineAggregatorBuilder(name, bucketsPaths);
}
@@ -146,7 +146,7 @@ public class MinBucketPipelineAggregator extends BucketMetricsPipelineAggregator
}
@Override
- protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder other) {
+ protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder<MinBucketPipelineAggregatorBuilder> other) {
return true;
}
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 dabaab73d1..a330074b49 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
@@ -170,7 +170,7 @@ public class PercentilesBucketPipelineAggregator extends BucketMetricsPipelineAg
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(PipelineAggregator.Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -193,7 +193,7 @@ public class PercentilesBucketPipelineAggregator extends BucketMetricsPipelineAg
}
@Override
- protected BucketMetricsPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ protected PercentilesBucketPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
throws IOException {
PercentilesBucketPipelineAggregatorBuilder factory = new PercentilesBucketPipelineAggregatorBuilder(name, bucketsPaths);
factory.percents = in.readDoubleArray();
@@ -211,7 +211,7 @@ public class PercentilesBucketPipelineAggregator extends BucketMetricsPipelineAg
}
@Override
- protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder obj) {
+ protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder<PercentilesBucketPipelineAggregatorBuilder> obj) {
PercentilesBucketPipelineAggregatorBuilder other = (PercentilesBucketPipelineAggregatorBuilder) obj;
return Objects.deepEquals(percents, other.percents);
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/StatsBucketPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/StatsBucketPipelineAggregator.java
index 77b028d7b0..cf36bdf3a6 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/StatsBucketPipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/StatsBucketPipelineAggregator.java
@@ -115,7 +115,7 @@ public class StatsBucketPipelineAggregator extends BucketMetricsPipelineAggregat
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -128,7 +128,7 @@ public class StatsBucketPipelineAggregator extends BucketMetricsPipelineAggregat
}
@Override
- protected BucketMetricsPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ protected StatsBucketPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
throws IOException {
return new StatsBucketPipelineAggregatorBuilder(name, bucketsPaths);
}
@@ -144,7 +144,7 @@ public class StatsBucketPipelineAggregator extends BucketMetricsPipelineAggregat
}
@Override
- protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder other) {
+ protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder<StatsBucketPipelineAggregatorBuilder> other) {
return true;
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketPipelineAggregator.java
index a3bf5ec887..15f56dcb2f 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketPipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketPipelineAggregator.java
@@ -143,7 +143,7 @@ public class ExtendedStatsBucketPipelineAggregator extends BucketMetricsPipeline
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -162,7 +162,7 @@ public class ExtendedStatsBucketPipelineAggregator extends BucketMetricsPipeline
}
@Override
- protected BucketMetricsPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ protected ExtendedStatsBucketPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
throws IOException {
ExtendedStatsBucketPipelineAggregatorBuilder factory = new ExtendedStatsBucketPipelineAggregatorBuilder(name, bucketsPaths);
factory.sigma = in.readDouble();
@@ -180,7 +180,7 @@ public class ExtendedStatsBucketPipelineAggregator extends BucketMetricsPipeline
}
@Override
- protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder obj) {
+ protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder<ExtendedStatsBucketPipelineAggregatorBuilder> obj) {
ExtendedStatsBucketPipelineAggregatorBuilder other = (ExtendedStatsBucketPipelineAggregatorBuilder) obj;
return Objects.equals(sigma, other.sigma);
}
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 d81a487874..4c9ccf2e9d 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
@@ -105,7 +105,7 @@ public class SumBucketPipelineAggregator extends BucketMetricsPipelineAggregator
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(PipelineAggregator.Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -118,7 +118,7 @@ public class SumBucketPipelineAggregator extends BucketMetricsPipelineAggregator
}
@Override
- protected BucketMetricsPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ protected SumBucketPipelineAggregatorBuilder innerReadFrom(String name, String[] bucketsPaths, StreamInput in)
throws IOException {
return new SumBucketPipelineAggregatorBuilder(name, bucketsPaths);
}
@@ -134,7 +134,7 @@ public class SumBucketPipelineAggregator extends BucketMetricsPipelineAggregator
}
@Override
- protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder other) {
+ protected boolean innerEquals(BucketMetricsPipelineAggregatorBuilder<SumBucketPipelineAggregatorBuilder> other) {
return true;
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregator.java
index bff9b523f8..8d47f7361d 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregator.java
@@ -160,7 +160,7 @@ public class BucketScriptPipelineAggregator extends PipelineAggregator {
bucketsPathsMap = (Map<String, String>) in.readGenericValue();
}
- public static class BucketScriptPipelineAggregatorBuilder extends PipelineAggregatorBuilder {
+ public static class BucketScriptPipelineAggregatorBuilder extends PipelineAggregatorBuilder<BucketScriptPipelineAggregatorBuilder> {
static final BucketScriptPipelineAggregatorBuilder PROTOTYPE = new BucketScriptPipelineAggregatorBuilder("", Collections.emptyMap(),
new Script(""));
@@ -254,7 +254,7 @@ public class BucketScriptPipelineAggregator extends PipelineAggregator {
}
@Override
- protected PipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
+ protected BucketScriptPipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
Map<String, String> bucketsPathsMap = new HashMap<String, String>();
int mapSize = in.readVInt();
for (int i = 0; i < mapSize; i++) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregator.java
index b10f991d43..367b1f986b 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregator.java
@@ -111,7 +111,7 @@ public class CumulativeSumPipelineAggregator extends PipelineAggregator {
ValueFormatterStreams.writeOptional(formatter, out);
}
- public static class CumulativeSumPipelineAggregatorBuilder extends PipelineAggregatorBuilder {
+ public static class CumulativeSumPipelineAggregatorBuilder extends PipelineAggregatorBuilder<CumulativeSumPipelineAggregatorBuilder> {
static final CumulativeSumPipelineAggregatorBuilder PROTOTYPE = new CumulativeSumPipelineAggregatorBuilder("", "");
@@ -157,7 +157,8 @@ public class CumulativeSumPipelineAggregator extends PipelineAggregator {
}
@Override
- public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories, List<PipelineAggregatorBuilder> pipelineAggregatorFactories) {
+ public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatorFactories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(PipelineAggregator.Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -183,7 +184,8 @@ public class CumulativeSumPipelineAggregator extends PipelineAggregator {
}
@Override
- protected final PipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
+ protected final CumulativeSumPipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ throws IOException {
CumulativeSumPipelineAggregatorBuilder factory = new CumulativeSumPipelineAggregatorBuilder(name, bucketsPaths);
factory.format = in.readOptionalString();
return factory;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregator.java
index 22c6f34b8a..55b1d8a3ce 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregator.java
@@ -159,7 +159,7 @@ public class DerivativePipelineAggregator extends PipelineAggregator {
}
}
- public static class DerivativePipelineAggregatorBuilder extends PipelineAggregatorBuilder {
+ public static class DerivativePipelineAggregatorBuilder extends PipelineAggregatorBuilder<DerivativePipelineAggregatorBuilder> {
static final DerivativePipelineAggregatorBuilder PROTOTYPE = new DerivativePipelineAggregatorBuilder("", "");
@@ -243,7 +243,8 @@ public class DerivativePipelineAggregator extends PipelineAggregator {
}
@Override
- public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories, List<PipelineAggregatorBuilder> pipelineAggregatoractories) {
+ public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatoractories) {
if (bucketsPaths.length != 1) {
throw new IllegalStateException(PipelineAggregator.Parser.BUCKETS_PATH.getPreferredName()
+ " must contain a single entry for aggregation [" + name + "]");
@@ -261,7 +262,7 @@ public class DerivativePipelineAggregator extends PipelineAggregator {
}
@Override
- protected PipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
+ protected DerivativePipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
DerivativePipelineAggregatorBuilder factory = new DerivativePipelineAggregatorBuilder(name, bucketsPaths);
factory.format = in.readOptionalString();
if (in.readBoolean()) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/having/BucketSelectorPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/having/BucketSelectorPipelineAggregator.java
index d96f9e7dae..952b04a5ae 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/having/BucketSelectorPipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/having/BucketSelectorPipelineAggregator.java
@@ -138,7 +138,7 @@ public class BucketSelectorPipelineAggregator extends PipelineAggregator {
bucketsPathsMap = (Map<String, String>) in.readGenericValue();
}
- public static class BucketSelectorPipelineAggregatorBuilder extends PipelineAggregatorBuilder {
+ public static class BucketSelectorPipelineAggregatorBuilder extends PipelineAggregatorBuilder<BucketSelectorPipelineAggregatorBuilder> {
static final BucketSelectorPipelineAggregatorBuilder PROTOTYPE = new BucketSelectorPipelineAggregatorBuilder("",
Collections.emptyMap(), new Script(""));
@@ -202,7 +202,8 @@ public class BucketSelectorPipelineAggregator extends PipelineAggregator {
}
@Override
- protected PipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
+ protected BucketSelectorPipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in)
+ throws IOException {
Map<String, String> bucketsPathsMap = new HashMap<String, String>();
int mapSize = in.readVInt();
for (int i = 0; i < mapSize; i++) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregator.java
index 8bd0914bdf..d64ca97b92 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregator.java
@@ -279,7 +279,7 @@ public class MovAvgPipelineAggregator extends PipelineAggregator {
}
- public static class MovAvgPipelineAggregatorBuilder extends PipelineAggregatorBuilder {
+ public static class MovAvgPipelineAggregatorBuilder extends PipelineAggregatorBuilder<MovAvgPipelineAggregatorBuilder> {
static final MovAvgPipelineAggregatorBuilder PROTOTYPE = new MovAvgPipelineAggregatorBuilder("", "");
@@ -462,7 +462,7 @@ public class MovAvgPipelineAggregator extends PipelineAggregator {
@Override
public void doValidate(AggregatorFactory<?> parent, AggregatorFactory<?>[] aggFactories,
- List<PipelineAggregatorBuilder> pipelineAggregatoractories) {
+ List<PipelineAggregatorBuilder<?>> pipelineAggregatoractories) {
if (minimize != null && minimize && !model.canBeMinimized()) {
// If the user asks to minimize, but this model doesn't support
// it, throw exception
@@ -502,7 +502,7 @@ public class MovAvgPipelineAggregator extends PipelineAggregator {
}
@Override
- protected PipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
+ protected MovAvgPipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
MovAvgPipelineAggregatorBuilder factory = new MovAvgPipelineAggregatorBuilder(name, bucketsPaths);
factory.format = in.readOptionalString();
factory.gapPolicy = GapPolicy.readFrom(in);
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregator.java
index ed057bfb74..b737ec1d2c 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregator.java
@@ -145,7 +145,7 @@ public class SerialDiffPipelineAggregator extends PipelineAggregator {
out.writeVInt(lag);
}
- public static class SerialDiffPipelineAggregatorBuilder extends PipelineAggregatorBuilder {
+ public static class SerialDiffPipelineAggregatorBuilder extends PipelineAggregatorBuilder<SerialDiffPipelineAggregatorBuilder> {
static final SerialDiffPipelineAggregatorBuilder PROTOTYPE = new SerialDiffPipelineAggregatorBuilder("", "");
@@ -239,7 +239,7 @@ public class SerialDiffPipelineAggregator extends PipelineAggregator {
}
@Override
- protected PipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
+ protected SerialDiffPipelineAggregatorBuilder doReadFrom(String name, String[] bucketsPaths, StreamInput in) throws IOException {
SerialDiffPipelineAggregatorBuilder factory = new SerialDiffPipelineAggregatorBuilder(name, bucketsPaths);
factory.format = in.readOptionalString();
factory.gapPolicy = GapPolicy.readFrom(in);
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/MetaDataIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/MetaDataIT.java
index ae4fb7afc9..347c4684c1 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/MetaDataIT.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/MetaDataIT.java
@@ -24,7 +24,6 @@ import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.metrics.sum.Sum;
import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.InternalBucketMetricValue;
-import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.max.MaxBucketPipelineAggregator.MaxBucketPipelineAggregatorBuilder;
import org.elasticsearch.test.ESIntegTestCase;
import java.util.HashMap;
@@ -65,9 +64,6 @@ public class MetaDataIT extends ESIntegTestCase {
put("complex", nestedMetaData);
}};
- // NORELEASE make setMetadata return the builder so it can be chained
- MaxBucketPipelineAggregatorBuilder maxBucketBuilder = maxBucket("the_max_bucket", "the_terms>the_sum");
- maxBucketBuilder.setMetaData(metaData);
SearchResponse response = client().prepareSearch("idx")
.addAggregation(
terms("the_terms")
@@ -79,7 +75,7 @@ public class MetaDataIT extends ESIntegTestCase {
.field("value")
)
)
- .addAggregation(maxBucketBuilder)
+ .addAggregation(maxBucket("the_max_bucket", "the_terms>the_sum").setMetaData(metaData))
.execute().actionGet();
assertSearchResponse(response);