Skip to content

Commit f217eb8

Browse files
authored
Merge Percentile class with interface (#24154)
This commit merges the Percentile interface with the InternalPercentile class, as we don't need to maintain both.
1 parent edada25 commit f217eb8

File tree

7 files changed

+39
-54
lines changed

7 files changed

+39
-54
lines changed

core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/InternalPercentile.java

Lines changed: 0 additions & 41 deletions
This file was deleted.

core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/Percentile.java

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,41 @@
1919

2020
package org.elasticsearch.search.aggregations.metrics.percentiles;
2121

22-
public interface Percentile {
22+
import java.util.Objects;
2323

24-
double getPercent();
24+
public class Percentile {
2525

26-
double getValue();
26+
private final double percent;
27+
private final double value;
2728

29+
public Percentile(double percent, double value) {
30+
this.percent = percent;
31+
this.value = value;
32+
}
33+
34+
public double getPercent() {
35+
return percent;
36+
}
37+
38+
public double getValue() {
39+
return value;
40+
}
41+
42+
@Override
43+
public boolean equals(Object o) {
44+
if (this == o) {
45+
return true;
46+
}
47+
if (o == null || getClass() != o.getClass()) {
48+
return false;
49+
}
50+
Percentile that = (Percentile) o;
51+
return Double.compare(that.percent, percent) == 0
52+
&& Double.compare(that.value, value) == 0;
53+
}
54+
55+
@Override
56+
public int hashCode() {
57+
return Objects.hash(percent, value);
58+
}
2859
}

core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentileRanks.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.HdrHistogram.DoubleHistogram;
2222
import org.elasticsearch.common.io.stream.StreamInput;
2323
import org.elasticsearch.search.DocValueFormat;
24-
import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile;
2524
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile;
2625
import org.elasticsearch.search.aggregations.metrics.percentiles.PercentileRanks;
2726
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
@@ -109,7 +108,7 @@ public boolean hasNext() {
109108

110109
@Override
111110
public Percentile next() {
112-
final Percentile next = new InternalPercentile(percentileRank(state, values[i]), values[i]);
111+
final Percentile next = new Percentile(percentileRank(state, values[i]), values[i]);
113112
++i;
114113
return next;
115114
}

core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/InternalHDRPercentiles.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.HdrHistogram.DoubleHistogram;
2222
import org.elasticsearch.common.io.stream.StreamInput;
2323
import org.elasticsearch.search.DocValueFormat;
24-
import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile;
2524
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile;
2625
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles;
2726
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
@@ -99,7 +98,7 @@ public boolean hasNext() {
9998

10099
@Override
101100
public Percentile next() {
102-
final Percentile next = new InternalPercentile(percents[i], state.getValueAtPercentile(percents[i]));
101+
final Percentile next = new Percentile(percents[i], state.getValueAtPercentile(percents[i]));
103102
++i;
104103
return next;
105104
}

core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentileRanks.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import org.elasticsearch.common.io.stream.StreamInput;
2222
import org.elasticsearch.search.DocValueFormat;
23-
import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile;
2423
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile;
2524
import org.elasticsearch.search.aggregations.metrics.percentiles.PercentileRanks;
2625
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
@@ -106,7 +105,7 @@ public boolean hasNext() {
106105

107106
@Override
108107
public Percentile next() {
109-
final Percentile next = new InternalPercentile(percentileRank(state, values[i]), values[i]);
108+
final Percentile next = new Percentile(percentileRank(state, values[i]), values[i]);
110109
++i;
111110
return next;
112111
}

core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/InternalTDigestPercentiles.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import org.elasticsearch.common.io.stream.StreamInput;
2222
import org.elasticsearch.search.DocValueFormat;
23-
import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile;
2423
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile;
2524
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles;
2625
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
@@ -95,7 +94,7 @@ public boolean hasNext() {
9594

9695
@Override
9796
public Percentile next() {
98-
final Percentile next = new InternalPercentile(percents[i], state.quantile(percents[i] / 100));
97+
final Percentile next = new Percentile(percents[i], state.quantile(percents[i] / 100));
9998
++i;
10099
return next;
101100
}

core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/InternalPercentilesBucket.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.elasticsearch.search.aggregations.InternalAggregation;
2727
import org.elasticsearch.search.aggregations.metrics.InternalNumericMetricsAggregation;
2828
import org.elasticsearch.search.aggregations.metrics.max.InternalMax;
29-
import org.elasticsearch.search.aggregations.metrics.percentiles.InternalPercentile;
3029
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile;
3130
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
3231

@@ -136,7 +135,7 @@ public boolean hasNext() {
136135

137136
@Override
138137
public Percentile next() {
139-
final Percentile next = new InternalPercentile(percents[i], percentiles[i]);
138+
final Percentile next = new Percentile(percents[i], percentiles[i]);
140139
++i;
141140
return next;
142141
}

0 commit comments

Comments
 (0)