Procházet zdrojové kódy

Tidy xpack analtyics module a bit up. (#90086)

Some small cleanups:
* Made some fields final.
* Turned PercentileConfig into a record.
* Made ReduceState a static class
* Turned a few Arrays.asList(...)/Collections.singletonMap|List(...) usage into List.of(..)/Map.of(...)
Martijn van Groningen před 3 roky
rodič
revize
e0f07130bd

+ 6 - 10
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/AnalyticsPlugin.java

@@ -58,16 +58,12 @@ import org.elasticsearch.xpack.core.action.XPackUsageFeatureAction;
 import org.elasticsearch.xpack.core.analytics.action.AnalyticsStatsAction;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 
-import static java.util.Collections.singletonList;
-
 public class AnalyticsPlugin extends Plugin implements SearchPlugin, ActionPlugin, MapperPlugin {
     private final AnalyticsUsage usage = new AnalyticsUsage();
 
@@ -102,7 +98,7 @@ public class AnalyticsPlugin extends Plugin implements SearchPlugin, ActionPlugi
 
     @Override
     public List<AggregationSpec> getAggregations() {
-        return Arrays.asList(
+        return List.of(
             new AggregationSpec(
                 StringStatsAggregationBuilder.NAME,
                 StringStatsAggregationBuilder::new,
@@ -138,7 +134,7 @@ public class AnalyticsPlugin extends Plugin implements SearchPlugin, ActionPlugi
 
     @Override
     public List<ActionPlugin.ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() {
-        return Arrays.asList(
+        return List.of(
             new ActionHandler<>(XPackUsageFeatureAction.ANALYTICS, AnalyticsUsageTransportAction.class),
             new ActionHandler<>(XPackInfoFeatureAction.ANALYTICS, AnalyticsInfoTransportAction.class),
             new ActionHandler<>(AnalyticsStatsAction.INSTANCE, TransportAnalyticsStatsAction.class)
@@ -147,12 +143,12 @@ public class AnalyticsPlugin extends Plugin implements SearchPlugin, ActionPlugi
 
     @Override
     public List<Setting<?>> getSettings() {
-        return singletonList(TopMetricsAggregatorFactory.MAX_BUCKET_SIZE);
+        return List.of(TopMetricsAggregatorFactory.MAX_BUCKET_SIZE);
     }
 
     @Override
     public Map<String, Mapper.TypeParser> getMappers() {
-        return Collections.singletonMap(HistogramFieldMapper.CONTENT_TYPE, HistogramFieldMapper.PARSER);
+        return Map.of(HistogramFieldMapper.CONTENT_TYPE, HistogramFieldMapper.PARSER);
     }
 
     @Override
@@ -186,12 +182,12 @@ public class AnalyticsPlugin extends Plugin implements SearchPlugin, ActionPlugi
         Tracer tracer,
         AllocationDeciders allocationDeciders
     ) {
-        return singletonList(usage);
+        return List.of(usage);
     }
 
     @Override
     public List<NamedWriteableRegistry.Entry> getNamedWriteables() {
-        return Arrays.asList(
+        return List.of(
             new NamedWriteableRegistry.Entry(TTestState.class, PairedTTestState.NAME, PairedTTestState::new),
             new NamedWriteableRegistry.Entry(TTestState.class, UnpairedTTestState.NAME, UnpairedTTestState::new)
         );

+ 1 - 1
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapper.java

@@ -386,7 +386,7 @@ public class HistogramFieldMapper extends FieldMapper {
         double value;
         int count;
         boolean isExhausted;
-        ByteArrayStreamInput streamInput;
+        final ByteArrayStreamInput streamInput;
 
         InternalHistogramValue() {
             streamInput = new ByteArrayStreamInput();

+ 4 - 13
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/movingPercentiles/MovingPercentilesPipelineAggregator.java

@@ -266,18 +266,9 @@ public class MovingPercentilesPipelineAggregator extends PipelineAggregator {
 
     // TODO: replace this with the PercentilesConfig that's used by the percentiles builder.
     // The config isn't available through the Internal objects
-    /** helper class to collect the percentile's configuration */
-    private static class PercentileConfig {
-        final double[] keys;
-        final boolean keyed;
-        final PercentilesMethod method;
-        final DocValueFormat formatter;
 
-        PercentileConfig(PercentilesMethod method, double[] keys, boolean keyed, DocValueFormat formatter) {
-            this.method = method;
-            this.keys = keys;
-            this.keyed = keyed;
-            this.formatter = formatter;
-        }
-    }
+    /**
+     * helper record to collect the percentile's configuration
+     */
+    private record PercentileConfig(PercentilesMethod method, double[] keys, boolean keyed, DocValueFormat formatter) {}
 }

+ 3 - 3
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/multiterms/MultiTermsAggregator.java

@@ -352,8 +352,8 @@ class MultiTermsAggregator extends DeferableBucketAggregator {
      * Handles non-float and date doc values
      */
     static class LongTermValuesSource implements TermValuesSource {
-        ValuesSource.Numeric source;
-        InternalMultiTerms.KeyConverter converter;
+        final ValuesSource.Numeric source;
+        final InternalMultiTerms.KeyConverter converter;
 
         LongTermValuesSource(ValuesSourceConfig config) {
             this.source = (ValuesSource.Numeric) config.getValuesSource();
@@ -396,7 +396,7 @@ class MultiTermsAggregator extends DeferableBucketAggregator {
      * Handles float and date doc values
      */
     static class DoubleTermValuesSource implements TermValuesSource {
-        ValuesSource.Numeric source;
+        final ValuesSource.Numeric source;
 
         DoubleTermValuesSource(ValuesSourceConfig config) {
             this.source = (ValuesSource.Numeric) config.getValuesSource();

+ 1 - 1
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/normalize/NormalizePipelineMethods.java

@@ -91,7 +91,7 @@ class NormalizePipelineMethods {
     static class Softmax implements DoubleUnaryOperator {
         static final String NAME = "softmax";
 
-        private double sumExp;
+        private final double sumExp;
 
         Softmax(double[] values) {
             double _sumExp = 0.0;

+ 1 - 1
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/topmetrics/InternalTopMetrics.java

@@ -237,7 +237,7 @@ public class InternalTopMetrics extends InternalMultiValueAggregation {
         return topMetrics;
     }
 
-    private class ReduceState {
+    private static class ReduceState {
         private final InternalTopMetrics result;
         private int index = 0;
 

+ 1 - 1
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/ttest/PairedTTestAggregator.java

@@ -26,7 +26,7 @@ import static org.elasticsearch.xpack.analytics.ttest.TTestAggregationBuilder.A_
 import static org.elasticsearch.xpack.analytics.ttest.TTestAggregationBuilder.B_FIELD;
 
 public class PairedTTestAggregator extends TTestAggregator<PairedTTestState> {
-    private TTestStatsBuilder statsBuilder;
+    private final TTestStatsBuilder statsBuilder;
 
     PairedTTestAggregator(
         String name,

+ 1 - 1
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/ttest/TTestAggregator.java

@@ -23,7 +23,7 @@ public abstract class TTestAggregator<T extends TTestState> extends NumericMetri
     protected final MultiValuesSource.NumericMultiValuesSource valuesSources;
     protected final int tails;
 
-    private DocValueFormat format;
+    private final DocValueFormat format;
 
     TTestAggregator(
         String name,

+ 2 - 2
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/ttest/TTestStats.java

@@ -54,8 +54,8 @@ public class TTestStats implements Writeable {
 
     public static class Reducer implements Consumer<TTestStats> {
         private long count = 0;
-        CompensatedSum compSum = new CompensatedSum(0, 0);
-        CompensatedSum compSumOfSqrs = new CompensatedSum(0, 0);
+        final CompensatedSum compSum = new CompensatedSum(0, 0);
+        final CompensatedSum compSumOfSqrs = new CompensatedSum(0, 0);
 
         @Override
         public void accept(TTestStats stat) {

+ 2 - 2
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/ttest/UnpairedTTestState.java

@@ -21,8 +21,8 @@ public class UnpairedTTestState implements TTestState {
 
     private final TTestStats a;
     private final TTestStats b;
-    private boolean homoscedastic;
-    private int tails;
+    private final boolean homoscedastic;
+    private final int tails;
 
     public UnpairedTTestState(TTestStats a, TTestStats b, boolean homoscedastic, int tails) {
         this.a = a;