From 719d75e316fdcdfb8acfc53d19faa8b8c7e40ed1 Mon Sep 17 00:00:00 2001 From: Philip Wills Date: Sun, 24 Aug 2014 22:38:45 +0100 Subject: [PATCH] Encapsulate AggregationBuilder name and make getter public --- .../search/aggregations/AbstractAggregationBuilder.java | 5 ++++- .../search/aggregations/AggregationBuilder.java | 2 +- .../search/aggregations/bucket/children/ChildrenBuilder.java | 2 +- .../aggregations/bucket/filter/FilterAggregationBuilder.java | 2 +- .../bucket/filters/FiltersAggregationBuilder.java | 2 +- .../aggregations/bucket/histogram/DateHistogramBuilder.java | 2 +- .../aggregations/bucket/histogram/HistogramBuilder.java | 2 +- .../search/aggregations/bucket/nested/NestedBuilder.java | 2 +- .../aggregations/bucket/range/AbstractRangeBuilder.java | 2 +- .../bucket/range/geodistance/GeoDistanceBuilder.java | 4 ++-- .../aggregations/bucket/range/ipv4/IPv4RangeBuilder.java | 2 +- .../aggregations/metrics/MetricsAggregationBuilder.java | 2 +- .../aggregations/metrics/percentiles/PercentilesBuilder.java | 2 +- .../search/aggregations/metrics/tophits/TopHitsBuilder.java | 2 +- .../search/aggregations/bucket/DateHistogramTests.java | 2 +- 15 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/elasticsearch/search/aggregations/AbstractAggregationBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/AbstractAggregationBuilder.java index 62bd73f7a0d62..dde9562b19d43 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/AbstractAggregationBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/AbstractAggregationBuilder.java @@ -25,7 +25,7 @@ */ public abstract class AbstractAggregationBuilder implements ToXContent { - protected final String name; + private final String name; protected final String type; protected AbstractAggregationBuilder(String name, String type) { @@ -33,4 +33,7 @@ protected AbstractAggregationBuilder(String name, String type) { this.type = type; } + public String getName() { + return name; + } } diff --git a/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java index f387dcd8e9777..d5772cce8aa5d 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java @@ -100,7 +100,7 @@ public B subAggregation(Map aggs) { @Override public final XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { - builder.startObject(name); + builder.startObject(getName()); builder.field(type); internalXContent(builder, params); diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/children/ChildrenBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/children/ChildrenBuilder.java index c456777a06e2e..c112aecd0825e 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/children/ChildrenBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/children/ChildrenBuilder.java @@ -43,7 +43,7 @@ public ChildrenBuilder childType(String childType) { protected XContentBuilder internalXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(); if (childType == null) { - throw new SearchSourceBuilderException("child_type must be set on children aggregation [" + name + "]"); + throw new SearchSourceBuilderException("child_type must be set on children aggregation [" + getName() + "]"); } builder.field("type", childType); return builder.endObject(); diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java index af6f18b6ac15d..56e6f8db188b1 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java @@ -45,7 +45,7 @@ public FilterAggregationBuilder filter(FilterBuilder filter) { @Override protected XContentBuilder internalXContent(XContentBuilder builder, Params params) throws IOException { if (filter == null) { - throw new SearchSourceBuilderException("filter must be set on filter aggregation [" + name + "]"); + throw new SearchSourceBuilderException("filter must be set on filter aggregation [" + getName() + "]"); } filter.toXContent(builder, params); return builder; diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java index 478129c8f84ef..3629097b5ba28 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java @@ -63,7 +63,7 @@ public FiltersAggregationBuilder filter(FilterBuilder filter) { protected XContentBuilder internalXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(); if (keyedFilters == null && nonKeyedFilters == null) { - throw new SearchSourceBuilderException("At least one filter must be set on filter aggregation [" + name + "]"); + throw new SearchSourceBuilderException("At least one filter must be set on filter aggregation [" + getName() + "]"); } if (keyedFilters != null && nonKeyedFilters != null) { throw new SearchSourceBuilderException("Cannot add both keyed and non-keyed filters to filters aggregation"); diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramBuilder.java index 94e75d76cdd41..89fbfacb31f1f 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramBuilder.java @@ -125,7 +125,7 @@ public DateHistogramBuilder extendedBounds(DateTime min, DateTime max) { @Override protected XContentBuilder doInternalXContent(XContentBuilder builder, Params params) throws IOException { if (interval == null) { - throw new SearchSourceBuilderException("[interval] must be defined for histogram aggregation [" + name + "]"); + throw new SearchSourceBuilderException("[interval] must be defined for histogram aggregation [" + getName() + "]"); } if (interval instanceof Number) { interval = TimeValue.timeValueMillis(((Number) interval).longValue()).toString(); diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramBuilder.java index 552d91474e746..a6e4034a134f3 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramBuilder.java @@ -99,7 +99,7 @@ public HistogramBuilder postOffset(long postOffset) { @Override protected XContentBuilder doInternalXContent(XContentBuilder builder, Params params) throws IOException { if (interval == null) { - throw new SearchSourceBuilderException("[interval] must be defined for histogram aggregation [" + name + "]"); + throw new SearchSourceBuilderException("[interval] must be defined for histogram aggregation [" + getName() + "]"); } builder.field("interval", interval); diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedBuilder.java index 6867c4e3962ca..fa14b597e4bfd 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedBuilder.java @@ -45,7 +45,7 @@ public NestedBuilder path(String path) { protected XContentBuilder internalXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(); if (path == null) { - throw new SearchSourceBuilderException("nested path must be set on nested aggregation [" + name + "]"); + throw new SearchSourceBuilderException("nested path must be set on nested aggregation [" + getName() + "]"); } builder.field("path", path); return builder.endObject(); diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/range/AbstractRangeBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/range/AbstractRangeBuilder.java index 19082d23cadca..e15aa57538d06 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/range/AbstractRangeBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/range/AbstractRangeBuilder.java @@ -70,7 +70,7 @@ protected AbstractRangeBuilder(String name, String type) { @Override protected XContentBuilder doInternalXContent(XContentBuilder builder, Params params) throws IOException { if (ranges.isEmpty()) { - throw new SearchSourceBuilderException("at least one range must be defined for range aggregation [" + name + "]"); + throw new SearchSourceBuilderException("at least one range must be defined for range aggregation [" + getName() + "]"); } builder.startArray("ranges"); for (Range range : ranges) { diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceBuilder.java index 7bb41f7eaedf6..a20a03fd6235a 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceBuilder.java @@ -156,10 +156,10 @@ public GeoDistanceBuilder addUnboundedFrom(double from) { protected XContentBuilder internalXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(); if (ranges.isEmpty()) { - throw new SearchSourceBuilderException("at least one range must be defined for geo_distance aggregation [" + name + "]"); + throw new SearchSourceBuilderException("at least one range must be defined for geo_distance aggregation [" + getName() + "]"); } if (point == null) { - throw new SearchSourceBuilderException("center point must be defined for geo_distance aggregation [" + name + "]"); + throw new SearchSourceBuilderException("center point must be defined for geo_distance aggregation [" + getName() + "]"); } if (field != null) { diff --git a/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ipv4/IPv4RangeBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ipv4/IPv4RangeBuilder.java index a1e424fd100f7..7f2a218a30e72 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ipv4/IPv4RangeBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ipv4/IPv4RangeBuilder.java @@ -47,7 +47,7 @@ public IPv4RangeBuilder addMaskRange(String mask) { public IPv4RangeBuilder addMaskRange(String key, String mask) { long[] fromTo = cidrMaskToMinMax(mask); if (fromTo == null) { - throw new SearchSourceBuilderException("invalid CIDR mask [" + mask + "] in ip_range aggregation [" + name + "]"); + throw new SearchSourceBuilderException("invalid CIDR mask [" + mask + "] in ip_range aggregation [" + getName() + "]"); } ranges.add(new Range(key, fromTo[0] < 0 ? null : fromTo[0], fromTo[1] < 0 ? null : fromTo[1])); return this; diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/MetricsAggregationBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/MetricsAggregationBuilder.java index 7e149f6587db5..849f24a173aea 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/MetricsAggregationBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/MetricsAggregationBuilder.java @@ -35,7 +35,7 @@ public MetricsAggregationBuilder(String name, String type) { @Override public final XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { - builder.startObject(name).startObject(type); + builder.startObject(getName()).startObject(type); internalXContent(builder, params); return builder.endObject().endObject(); } diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesBuilder.java index ca52e6c4442c6..105bb013eb721 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesBuilder.java @@ -39,7 +39,7 @@ public PercentilesBuilder percentiles(double... percentiles) { for (int i = 0; i < percentiles.length; i++) { if (percentiles[i] < 0 || percentiles[i] > 100) { throw new IllegalArgumentException("the percents in the percentiles aggregation [" + - name + "] must be in the [0, 100] range"); + getName() + "] must be in the [0, 100] range"); } } this.percentiles = percentiles; diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsBuilder.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsBuilder.java index 4521bd3f0f183..134da6b7fd40f 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsBuilder.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsBuilder.java @@ -376,7 +376,7 @@ public TopHitsBuilder setHighlighterOptions(Map options) { @Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { - builder.startObject(name).field(type); + builder.startObject(getName()).field(type); sourceBuilder().toXContent(builder, params); return builder.endObject(); } diff --git a/src/test/java/org/elasticsearch/search/aggregations/bucket/DateHistogramTests.java b/src/test/java/org/elasticsearch/search/aggregations/bucket/DateHistogramTests.java index 9a07b6928d93d..6aebad9011528 100644 --- a/src/test/java/org/elasticsearch/search/aggregations/bucket/DateHistogramTests.java +++ b/src/test/java/org/elasticsearch/search/aggregations/bucket/DateHistogramTests.java @@ -182,7 +182,7 @@ public void singleValuedField_WithPostTimeZone() throws Exception { .addAggregation(new AbstractAggregationBuilder("histo", "date_histogram") { @Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { - return builder.startObject(name) + return builder.startObject(getName()) .startObject(type) .field("field", "date") .field("interval", "1d")