diff options
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript')
2 files changed, 29 insertions, 48 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java index 1e285c24a1..4925de9c77 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java @@ -47,7 +47,7 @@ import static org.elasticsearch.search.aggregations.pipeline.PipelineAggregator. import static org.elasticsearch.search.aggregations.pipeline.PipelineAggregator.Parser.GAP_POLICY; public class BucketScriptPipelineAggregationBuilder extends AbstractPipelineAggregationBuilder<BucketScriptPipelineAggregationBuilder> { - public static final String NAME = BucketScriptPipelineAggregator.TYPE.name(); + public static final String NAME = "bucket_script"; public static final ParseField AGGREGATION_NAME_FIELD = new ParseField(NAME); private final Script script; @@ -56,8 +56,7 @@ public class BucketScriptPipelineAggregationBuilder extends AbstractPipelineAggr private GapPolicy gapPolicy = GapPolicy.SKIP; public BucketScriptPipelineAggregationBuilder(String name, Map<String, String> bucketsPathsMap, Script script) { - super(name, BucketScriptPipelineAggregator.TYPE.name(), new TreeMap<>(bucketsPathsMap).values() - .toArray(new String[bucketsPathsMap.size()])); + super(name, NAME, new TreeMap<>(bucketsPathsMap).values().toArray(new String[bucketsPathsMap.size()])); this.bucketsPathsMap = bucketsPathsMap; this.script = script; } @@ -70,7 +69,7 @@ public class BucketScriptPipelineAggregationBuilder extends AbstractPipelineAggr * Read from a stream. */ public BucketScriptPipelineAggregationBuilder(StreamInput in) throws IOException { - super(in, BucketScriptPipelineAggregator.TYPE.name()); + super(in, NAME); int mapSize = in.readVInt(); bucketsPathsMap = new HashMap<String, String>(mapSize); for (int i = 0; i < mapSize; i++) { 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(); - } - } |