diff options
author | Tanguy Leroux <tlrx.dev@gmail.com> | 2017-04-18 14:47:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-18 14:47:18 +0200 |
commit | f217eb8ad8d3ecc82e2f926222b1f036b0d555b7 (patch) | |
tree | 3fd167783433bbbce86c4418866a869d508540cf /core | |
parent | edada2581e75400da9fac82bdfbc7ec1f02ef0d8 (diff) |
Merge Percentile class with interface (#24154)
This commit merges the Percentile interface with the InternalPercentile
class, as we don't need to maintain both.
Diffstat (limited to 'core')
7 files changed, 39 insertions, 54 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/InternalPercentile.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/InternalPercentile.java deleted file mode 100644 index bb8876d82f..0000000000 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/InternalPercentile.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to Elasticsearch under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.elasticsearch.search.aggregations.metrics.percentiles; - -public class InternalPercentile implements Percentile { - - private final double percent; - private final double value; - - public InternalPercentile(double percent, double value) { - this.percent = percent; - this.value = value; - } - - @Override - public double getPercent() { - return percent; - } - - @Override - public double getValue() { - return value; - } -}
\ No newline at end of file diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/Percentile.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/Percentile.java index 96ad4f261a..ca62ca6b20 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/Percentile.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/Percentile.java @@ -19,10 +19,41 @@ package org.elasticsearch.search.aggregations.metrics.percentiles; -public interface Percentile { +import java.util.Objects; - double getPercent(); +public class Percentile { - double getValue(); + private final double percent; + private final double value; + public Percentile(double percent, double value) { + this.percent = percent; + this.value = value; + } + + public double getPercent() { + return percent; + } + + public double getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Percentile that = (Percentile) o; + return Double.compare(that.percent, percent) == 0 + && Double.compare(that.value, value) == 0; + } + + @Override + public int hashCode() { + return Objects.hash(percent, value); + } }
\ No newline at end of file diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentileRanks.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentileRanks.java index 35234d73ac..cb058128c5 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentileRanks.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentileRanks.java @@ -21,7 +21,6 @@ package org.elasticsearch.search.aggregations.metrics.percentiles.hdr; import org.HdrHistogram.DoubleHistogram; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.search.DocValueFormat; -import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile; import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile; import org.elasticsearch.search.aggregations.metrics.percentiles.PercentileRanks; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; @@ -109,7 +108,7 @@ public class InternalHDRPercentileRanks extends AbstractInternalHDRPercentiles i @Override public Percentile next() { - final Percentile next = new InternalPercentile(percentileRank(state, values[i]), values[i]); + final Percentile next = new Percentile(percentileRank(state, values[i]), values[i]); ++i; return next; } diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentiles.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentiles.java index 579f25c166..3967e94e48 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentiles.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentiles.java @@ -21,7 +21,6 @@ package org.elasticsearch.search.aggregations.metrics.percentiles.hdr; import org.HdrHistogram.DoubleHistogram; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.search.DocValueFormat; -import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile; import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile; import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; @@ -99,7 +98,7 @@ public class InternalHDRPercentiles extends AbstractInternalHDRPercentiles imple @Override public Percentile next() { - final Percentile next = new InternalPercentile(percents[i], state.getValueAtPercentile(percents[i])); + final Percentile next = new Percentile(percents[i], state.getValueAtPercentile(percents[i])); ++i; return next; } diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentileRanks.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentileRanks.java index 9e24ba5d86..666993f41f 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentileRanks.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentileRanks.java @@ -20,7 +20,6 @@ package org.elasticsearch.search.aggregations.metrics.percentiles.tdigest; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.search.DocValueFormat; -import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile; import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile; import org.elasticsearch.search.aggregations.metrics.percentiles.PercentileRanks; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; @@ -106,7 +105,7 @@ public class InternalTDigestPercentileRanks extends AbstractInternalTDigestPerce @Override public Percentile next() { - final Percentile next = new InternalPercentile(percentileRank(state, values[i]), values[i]); + final Percentile next = new Percentile(percentileRank(state, values[i]), values[i]); ++i; return next; } diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentiles.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentiles.java index ec61921911..5a62f24933 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentiles.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentiles.java @@ -20,7 +20,6 @@ package org.elasticsearch.search.aggregations.metrics.percentiles.tdigest; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.search.DocValueFormat; -import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile; import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile; import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; @@ -95,7 +94,7 @@ public class InternalTDigestPercentiles extends AbstractInternalTDigestPercentil @Override public Percentile next() { - final Percentile next = new InternalPercentile(percents[i], state.quantile(percents[i] / 100)); + final Percentile next = new Percentile(percents[i], state.quantile(percents[i] / 100)); ++i; return next; } diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java index 059d72a8e1..375011c4e8 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java @@ -26,7 +26,6 @@ import org.elasticsearch.search.DocValueFormat; import org.elasticsearch.search.aggregations.InternalAggregation; import org.elasticsearch.search.aggregations.metrics.InternalNumericMetricsAggregation; import org.elasticsearch.search.aggregations.metrics.max.InternalMax; -import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile; import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; @@ -136,7 +135,7 @@ public class InternalPercentilesBucket extends InternalNumericMetricsAggregation @Override public Percentile next() { - final Percentile next = new InternalPercentile(percents[i], percentiles[i]); + final Percentile next = new Percentile(percents[i], percentiles[i]); ++i; return next; } |