diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-10-11 15:58:59 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-10-11 15:58:59 +0200 |
commit | 9a8a5c02a309339e1639c72f9dd7bdfabb1ff21a (patch) | |
tree | 1d0a7a4f26a81bf8dd58a2d9e5f58d2141788eeb /searchlib/src/main/java/com/yahoo/searchlib/aggregation | |
parent | 3fd2ddd74fe25cddeb59c007f0fa94c1e82b6bcc (diff) |
- Use a Supplier<Identifable> to construct objects from id.
- Provide lambda for default constructing frequently used objects
to avoid reflection.
Diffstat (limited to 'searchlib/src/main/java/com/yahoo/searchlib/aggregation')
11 files changed, 12 insertions, 15 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/AverageAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/AverageAggregationResult.java index 5dc7cc1b634..62201db88f4 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/AverageAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/AverageAggregationResult.java @@ -16,7 +16,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class AverageAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 85, AverageAggregationResult.class); + public static final int classId = registerClass(0x4000 + 85, AverageAggregationResult.class, AverageAggregationResult::new); private NumericResultNode sum; private long count; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/CountAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/CountAggregationResult.java index 8a4fb7cdae8..3fa8db5f9db 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/CountAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/CountAggregationResult.java @@ -15,7 +15,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class CountAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 81, CountAggregationResult.class); + public static final int classId = registerClass(0x4000 + 81, CountAggregationResult.class, CountAggregationResult::new); private long count = 0; /** Constructs an empty result node. <b>NOTE:</b> This instance is broken until non-optional member data is set. */ diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/ExpressionCountAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/ExpressionCountAggregationResult.java index a02acbef281..9242e01076c 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/ExpressionCountAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/ExpressionCountAggregationResult.java @@ -15,7 +15,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class ExpressionCountAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 88, ExpressionCountAggregationResult.class); + public static final int classId = registerClass(0x4000 + 88, ExpressionCountAggregationResult.class, ExpressionCountAggregationResult::new); private static final int UNDEFINED = -1; // The unique count estimator @@ -29,7 +29,6 @@ public class ExpressionCountAggregationResult extends AggregationResult { /** Constructor used for deserialization. Will be instantiated with a default sketch. */ - @SuppressWarnings("UnusedDeclaration") public ExpressionCountAggregationResult() { this(new SparseSketch(), new HyperLogLogEstimator()); } diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/FS4Hit.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/FS4Hit.java index 9b79d8d0f7b..4a29c98ad89 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/FS4Hit.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/FS4Hit.java @@ -13,7 +13,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class FS4Hit extends Hit { - public static final int classId = registerClass(0x4000 + 95, FS4Hit.class); // shared with c++ + public static final int classId = registerClass(0x4000 + 95, FS4Hit.class, FS4Hit::new); // shared with c++ private int path = 0; private GlobalId globalId = new GlobalId(new byte[GlobalId.LENGTH]); private int distributionKey = -1; diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/HitsAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/HitsAggregationResult.java index d6df04b2122..c737add21c0 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/HitsAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/HitsAggregationResult.java @@ -7,8 +7,6 @@ import com.yahoo.text.Utf8; import com.yahoo.vespa.objects.*; import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; import java.util.List; /** @@ -20,7 +18,7 @@ import java.util.List; */ public class HitsAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 87, HitsAggregationResult.class); + public static final int classId = registerClass(0x4000 + 87, HitsAggregationResult.class, HitsAggregationResult::new); private String summaryClass = "default"; private int maxHits = -1; private List<Hit> hits = new ArrayList<>(); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/MaxAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/MaxAggregationResult.java index 0b347185f09..6d9b50b52b1 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/MaxAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/MaxAggregationResult.java @@ -15,7 +15,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class MaxAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 83, MaxAggregationResult.class); + public static final int classId = registerClass(0x4000 + 83, MaxAggregationResult.class, MaxAggregationResult::new); private SingleResultNode max; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/MinAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/MinAggregationResult.java index 0ae5587da69..1ffedb9aedc 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/MinAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/MinAggregationResult.java @@ -15,7 +15,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class MinAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 84, MinAggregationResult.class); + public static final int classId = registerClass(0x4000 + 84, MinAggregationResult.class, MinAggregationResult::new); private SingleResultNode min; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/StandardDeviationAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/StandardDeviationAggregationResult.java index c6ece6a2525..91716f00750 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/StandardDeviationAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/StandardDeviationAggregationResult.java @@ -11,7 +11,7 @@ import com.yahoo.vespa.objects.Serializer; * @author bjorncs */ public class StandardDeviationAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 89, StandardDeviationAggregationResult.class); + public static final int classId = registerClass(0x4000 + 89, StandardDeviationAggregationResult.class, StandardDeviationAggregationResult::new); private long count; private double sum; @@ -56,7 +56,7 @@ public class StandardDeviationAggregationResult extends AggregationResult { @Override protected boolean equalsAggregation(AggregationResult obj) { StandardDeviationAggregationResult other = (StandardDeviationAggregationResult) obj; - return count == this.count && sum == other.sum && sumOfSquared == other.sumOfSquared; + return count == other.count && sum == other.sum && sumOfSquared == other.sumOfSquared; } @Override diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/SumAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/SumAggregationResult.java index 2a78e5fde36..1f0dd0b90af 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/SumAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/SumAggregationResult.java @@ -15,7 +15,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class SumAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 82, SumAggregationResult.class); + public static final int classId = registerClass(0x4000 + 82, SumAggregationResult.class, SumAggregationResult::new); private SingleResultNode sum; /** diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/VdsHit.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/VdsHit.java index 6f130137008..5f14b6a937f 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/VdsHit.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/VdsHit.java @@ -8,7 +8,7 @@ import com.yahoo.vespa.objects.Serializer; public class VdsHit extends Hit { - public static final int classId = registerClass(0x4000 + 96, VdsHit.class); + public static final int classId = registerClass(0x4000 + 96, VdsHit.class, VdsHit::new); private String docId = ""; private RawData summary = new RawData(); diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/XorAggregationResult.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/XorAggregationResult.java index fea59debd86..beb03160a05 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/XorAggregationResult.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/XorAggregationResult.java @@ -15,7 +15,7 @@ import com.yahoo.vespa.objects.Serializer; */ public class XorAggregationResult extends AggregationResult { - public static final int classId = registerClass(0x4000 + 86, XorAggregationResult.class); + public static final int classId = registerClass(0x4000 + 86, XorAggregationResult.class, XorAggregationResult::new); private long xor = 0; /** |