summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregator.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregator.java')
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregator.java70
1 files changed, 26 insertions, 44 deletions
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 35893c7d09..008b0217c6 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
@@ -29,14 +29,12 @@ import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.aggregations.AggregationExecutionException;
import org.elasticsearch.search.aggregations.InternalAggregation;
import org.elasticsearch.search.aggregations.InternalAggregation.ReduceContext;
-import org.elasticsearch.search.aggregations.InternalAggregation.Type;
import org.elasticsearch.search.aggregations.InternalAggregations;
import org.elasticsearch.search.aggregations.InternalMultiBucketAggregation;
import org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation.Bucket;
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 java.io.IOException;
import java.util.ArrayList;
@@ -50,28 +48,10 @@ import java.util.stream.StreamSupport;
import static org.elasticsearch.search.aggregations.pipeline.BucketHelpers.resolveBucketValue;
public class BucketScriptPipelineAggregator extends PipelineAggregator {
-
- public static final Type TYPE = new Type("bucket_script");
-
- public static final PipelineAggregatorStreams.Stream STREAM = in -> {
- BucketScriptPipelineAggregator result = new BucketScriptPipelineAggregator();
- result.readFrom(in);
- return result;
- };
-
- public static void registerStreams() {
- PipelineAggregatorStreams.registerStream(STREAM, TYPE.stream());
- }
-
- private DocValueFormat formatter;
- private GapPolicy gapPolicy;
-
- private Script script;
-
- private Map<String, String> bucketsPathsMap;
-
- public BucketScriptPipelineAggregator() {
- }
+ private final DocValueFormat formatter;
+ private final GapPolicy gapPolicy;
+ private final Script script;
+ private final Map<String, String> bucketsPathsMap;
public BucketScriptPipelineAggregator(String name, Map<String, String> bucketsPathsMap, Script script, DocValueFormat formatter,
GapPolicy gapPolicy, Map<String, Object> metadata) {
@@ -82,9 +62,29 @@ public class BucketScriptPipelineAggregator extends PipelineAggregator {
this.gapPolicy = gapPolicy;
}
+ /**
+ * Read from a stream.
+ */
+ @SuppressWarnings("unchecked")
+ public BucketScriptPipelineAggregator(StreamInput in) throws IOException {
+ super(in);
+ script = new Script(in);
+ formatter = in.readNamedWriteable(DocValueFormat.class);
+ gapPolicy = GapPolicy.readFrom(in);
+ bucketsPathsMap = (Map<String, String>) in.readGenericValue();
+ }
+
@Override
- public Type type() {
- return TYPE;
+ protected void doWriteTo(StreamOutput out) throws IOException {
+ script.writeTo(out);
+ out.writeNamedWriteable(formatter);
+ gapPolicy.writeTo(out);
+ out.writeGenericValue(bucketsPathsMap);
+ }
+
+ @Override
+ public String getWriteableName() {
+ return BucketScriptPipelineAggregationBuilder.NAME;
}
@Override
@@ -136,22 +136,4 @@ public class BucketScriptPipelineAggregator extends PipelineAggregator {
}
return originalAgg.create(newBuckets);
}
-
- @Override
- protected void doWriteTo(StreamOutput out) throws IOException {
- script.writeTo(out);
- out.writeNamedWriteable(formatter);
- gapPolicy.writeTo(out);
- out.writeGenericValue(bucketsPathsMap);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected void doReadFrom(StreamInput in) throws IOException {
- script = new Script(in);
- formatter = in.readNamedWriteable(DocValueFormat.class);
- gapPolicy = GapPolicy.readFrom(in);
- bucketsPathsMap = (Map<String, String>) in.readGenericValue();
- }
-
}