From 82df50a039551cf6c469f06c3db0f1d6896eadb3 Mon Sep 17 00:00:00 2001 From: Colin Goodheart-Smithe Date: Mon, 13 Apr 2015 15:59:03 +0100 Subject: [PATCH] Aggregations: Fix _as_string output to only show when format specified Closes #10284 --- .../search/aggregations/metrics/avg/InternalAvg.java | 2 +- .../aggregations/metrics/cardinality/InternalCardinality.java | 2 +- .../search/aggregations/metrics/max/InternalMax.java | 2 +- .../search/aggregations/metrics/min/InternalMin.java | 2 +- .../metrics/percentiles/AbstractInternalPercentiles.java | 4 ++-- .../search/aggregations/metrics/stats/InternalStats.java | 2 +- .../metrics/stats/extended/InternalExtendedStats.java | 2 +- .../search/aggregations/metrics/sum/InternalSum.java | 2 +- .../aggregations/metrics/valuecount/InternalValueCount.java | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/InternalAvg.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/InternalAvg.java index ace13ca0496..15980b45710 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/InternalAvg.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/InternalAvg.java @@ -107,7 +107,7 @@ public class InternalAvg extends InternalNumericMetricsAggregation.SingleValue i @Override public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { builder.field(CommonFields.VALUE, count != 0 ? getValue() : null); - if (count != 0 && valueFormatter != null) { + if (count != 0 && valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(CommonFields.VALUE_AS_STRING, valueFormatter.format(getValue())); } return builder; diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/InternalCardinality.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/InternalCardinality.java index daef68a9811..9998d3eae10 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/InternalCardinality.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/InternalCardinality.java @@ -128,7 +128,7 @@ public final class InternalCardinality extends InternalNumericMetricsAggregation public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { final long cardinality = getValue(); builder.field(CommonFields.VALUE, cardinality); - if (valueFormatter != null) { + if (valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(CommonFields.VALUE_AS_STRING, valueFormatter.format(cardinality)); } return builder; diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/max/InternalMax.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/max/InternalMax.java index 8d45a7cb45f..a3b938cf363 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/max/InternalMax.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/max/InternalMax.java @@ -102,7 +102,7 @@ public class InternalMax extends InternalNumericMetricsAggregation.SingleValue i public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { boolean hasValue = !Double.isInfinite(max); builder.field(CommonFields.VALUE, hasValue ? max : null); - if (hasValue && valueFormatter != null) { + if (hasValue && valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(CommonFields.VALUE_AS_STRING, valueFormatter.format(max)); } return builder; diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/min/InternalMin.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/min/InternalMin.java index 9a4d2e1a413..7beb9c5a76a 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/min/InternalMin.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/min/InternalMin.java @@ -103,7 +103,7 @@ public class InternalMin extends InternalNumericMetricsAggregation.SingleValue i public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { boolean hasValue = !Double.isInfinite(min); builder.field(CommonFields.VALUE, hasValue ? min : null); - if (hasValue && valueFormatter != null) { + if (hasValue && valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(CommonFields.VALUE_AS_STRING, valueFormatter.format(min)); } return builder; diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/AbstractInternalPercentiles.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/AbstractInternalPercentiles.java index b3416a1531f..b4916cdd8c9 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/AbstractInternalPercentiles.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/AbstractInternalPercentiles.java @@ -113,7 +113,7 @@ abstract class AbstractInternalPercentiles extends InternalNumericMetricsAggrega String key = String.valueOf(keys[i]); double value = value(keys[i]); builder.field(key, value); - if (valueFormatter != null) { + if (valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(key + "_as_string", valueFormatter.format(value)); } } @@ -125,7 +125,7 @@ abstract class AbstractInternalPercentiles extends InternalNumericMetricsAggrega builder.startObject(); builder.field(CommonFields.KEY, keys[i]); builder.field(CommonFields.VALUE, value); - if (valueFormatter != null) { + if (valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(CommonFields.VALUE_AS_STRING, valueFormatter.format(value)); } builder.endObject(); diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/InternalStats.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/InternalStats.java index a888d5f55d7..684dae5afdf 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/InternalStats.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/InternalStats.java @@ -209,7 +209,7 @@ public class InternalStats extends InternalNumericMetricsAggregation.MultiValue builder.field(Fields.MAX, count != 0 ? max : null); builder.field(Fields.AVG, count != 0 ? getAvg() : null); builder.field(Fields.SUM, count != 0 ? sum : null); - if (count != 0 && valueFormatter != null) { + if (count != 0 && valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(Fields.MIN_AS_STRING, valueFormatter.format(min)); builder.field(Fields.MAX_AS_STRING, valueFormatter.format(max)); builder.field(Fields.AVG_AS_STRING, valueFormatter.format(getAvg())); diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/InternalExtendedStats.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/InternalExtendedStats.java index 0d36096505b..86051ba6320 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/InternalExtendedStats.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/InternalExtendedStats.java @@ -197,7 +197,7 @@ public class InternalExtendedStats extends InternalStats implements ExtendedStat .field(Fields.LOWER, count != 0 ? getStdDeviationBound(Bounds.LOWER) : null) .endObject(); - if (count != 0 && valueFormatter != null) { + if (count != 0 && valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(Fields.SUM_OF_SQRS_AS_STRING, valueFormatter.format(sumOfSqrs)); builder.field(Fields.VARIANCE_AS_STRING, valueFormatter.format(getVariance())); builder.field(Fields.STD_DEVIATION_AS_STRING, getStdDeviationAsString()); diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/InternalSum.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/InternalSum.java index a9638bce6a9..7eb7e789710 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/InternalSum.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/InternalSum.java @@ -101,7 +101,7 @@ public class InternalSum extends InternalNumericMetricsAggregation.SingleValue i @Override public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { builder.field(CommonFields.VALUE, sum); - if (valueFormatter != null) { + if (valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(CommonFields.VALUE_AS_STRING, valueFormatter.format(sum)); } return builder; diff --git a/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/InternalValueCount.java b/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/InternalValueCount.java index 1ac855d4c90..8c6dbf9b038 100644 --- a/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/InternalValueCount.java +++ b/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/InternalValueCount.java @@ -98,7 +98,7 @@ public class InternalValueCount extends InternalNumericMetricsAggregation.Single @Override public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { builder.field(CommonFields.VALUE, value); - if (valueFormatter != null) { + if (valueFormatter != null && !(valueFormatter instanceof ValueFormatter.Raw)) { builder.field(CommonFields.VALUE_AS_STRING, valueFormatter.format(value)); } return builder;