Merge Percentile class with interface (#24154)
This commit merges the Percentile interface with the InternalPercentile class, as we don't need to maintain both.
This commit is contained in:
parent
edada2581e
commit
f217eb8ad8
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -19,10 +19,41 @@
|
||||||
|
|
||||||
package org.elasticsearch.search.aggregations.metrics.percentiles;
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -21,7 +21,6 @@ package org.elasticsearch.search.aggregations.metrics.percentiles.hdr;
|
||||||
import org.HdrHistogram.DoubleHistogram;
|
import org.HdrHistogram.DoubleHistogram;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
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.Percentile;
|
||||||
import org.elasticsearch.search.aggregations.metrics.percentiles.PercentileRanks;
|
import org.elasticsearch.search.aggregations.metrics.percentiles.PercentileRanks;
|
||||||
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
||||||
|
@ -109,7 +108,7 @@ public class InternalHDRPercentileRanks extends AbstractInternalHDRPercentiles i
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Percentile next() {
|
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;
|
++i;
|
||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,6 @@ package org.elasticsearch.search.aggregations.metrics.percentiles.hdr;
|
||||||
import org.HdrHistogram.DoubleHistogram;
|
import org.HdrHistogram.DoubleHistogram;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
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.Percentile;
|
||||||
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles;
|
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles;
|
||||||
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
||||||
|
@ -99,7 +98,7 @@ public class InternalHDRPercentiles extends AbstractInternalHDRPercentiles imple
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Percentile next() {
|
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;
|
++i;
|
||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,6 @@ package org.elasticsearch.search.aggregations.metrics.percentiles.tdigest;
|
||||||
|
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
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.Percentile;
|
||||||
import org.elasticsearch.search.aggregations.metrics.percentiles.PercentileRanks;
|
import org.elasticsearch.search.aggregations.metrics.percentiles.PercentileRanks;
|
||||||
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
||||||
|
@ -106,7 +105,7 @@ public class InternalTDigestPercentileRanks extends AbstractInternalTDigestPerce
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Percentile next() {
|
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;
|
++i;
|
||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,6 @@ package org.elasticsearch.search.aggregations.metrics.percentiles.tdigest;
|
||||||
|
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
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.Percentile;
|
||||||
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles;
|
import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles;
|
||||||
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
||||||
|
@ -95,7 +94,7 @@ public class InternalTDigestPercentiles extends AbstractInternalTDigestPercentil
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Percentile next() {
|
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;
|
++i;
|
||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,6 @@ import org.elasticsearch.search.DocValueFormat;
|
||||||
import org.elasticsearch.search.aggregations.InternalAggregation;
|
import org.elasticsearch.search.aggregations.InternalAggregation;
|
||||||
import org.elasticsearch.search.aggregations.metrics.InternalNumericMetricsAggregation;
|
import org.elasticsearch.search.aggregations.metrics.InternalNumericMetricsAggregation;
|
||||||
import org.elasticsearch.search.aggregations.metrics.max.InternalMax;
|
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.metrics.percentiles.Percentile;
|
||||||
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
|
||||||
|
|
||||||
|
@ -136,7 +135,7 @@ public class InternalPercentilesBucket extends InternalNumericMetricsAggregation
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Percentile next() {
|
public Percentile next() {
|
||||||
final Percentile next = new InternalPercentile(percents[i], percentiles[i]);
|
final Percentile next = new Percentile(percents[i], percentiles[i]);
|
||||||
++i;
|
++i;
|
||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue