diff options
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.java | 70 |
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(); - } - } |