summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-06-16 15:38:18 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2021-06-16 15:38:18 +0200
commitd20ccaa2c948c6bb507f36cd69db801d99c87fd9 (patch)
tree645b6eadb0d16015a3ade5127c1444c2e9b0b05f /searchlib
parent0f1f616a855c9136ca79579f23d3443dc420fe6c (diff)
Various cleanup when reading grouping code.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/aggregation/Group.java40
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java2
2 files changed, 21 insertions, 21 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Group.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Group.java
index c508296d739..c7080ec28d8 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Group.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Group.java
@@ -4,9 +4,17 @@ package com.yahoo.searchlib.aggregation;
import com.yahoo.searchlib.expression.AggregationRefNode;
import com.yahoo.searchlib.expression.ExpressionNode;
import com.yahoo.searchlib.expression.ResultNode;
-import com.yahoo.vespa.objects.*;
-
-import java.util.*;
+import com.yahoo.vespa.objects.Deserializer;
+import com.yahoo.vespa.objects.Identifiable;
+import com.yahoo.vespa.objects.ObjectOperation;
+import com.yahoo.vespa.objects.ObjectPredicate;
+import com.yahoo.vespa.objects.ObjectVisitor;
+import com.yahoo.vespa.objects.Serializer;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
public class Group extends Identifiable {
@@ -132,11 +140,7 @@ public class Group extends Identifiable {
if (sortType == SortType.BYID) {
return;
}
- Collections.sort(children, new Comparator<Group>() {
- public int compare(Group lhs, Group rhs) {
- return lhs.compareId(rhs);
- }
- });
+ Collections.sort(children, (Group lhs, Group rhs) -> lhs.compareId(rhs));
sortType = SortType.BYID;
}
@@ -145,11 +149,8 @@ public class Group extends Identifiable {
if (sortType == SortType.BYRANK) {
return;
}
- Collections.sort(children, new Comparator<Group>() {
- public int compare(Group lhs, Group rhs) {
- return lhs.compareRank(rhs);
- }
- });
+ Collections.sort(children, (Group lhs, Group rhs) -> lhs.compareRank(rhs) );
+
sortType = SortType.BYRANK;
}
@@ -403,22 +404,19 @@ public class Group extends Identifiable {
if (id != null) {
obj.id = (ResultNode)id.clone();
}
- obj.aggregationResults = new ArrayList<AggregationResult>();
+ obj.aggregationResults = new ArrayList<>();
for (AggregationResult result : aggregationResults) {
obj.aggregationResults.add(result.clone());
}
- obj.orderByIdx = new ArrayList<Integer>();
- for (Integer idx : orderByIdx) {
- obj.orderByIdx.add(idx);
- }
- obj.orderByExp = new ArrayList<ExpressionNode>();
+ obj.orderByIdx = new ArrayList<>(orderByIdx);
+ obj.orderByExp = new ArrayList<>();
RefResolver resolver = new RefResolver(obj);
for (ExpressionNode exp : orderByExp) {
exp = exp.clone();
exp.select(REF_LOCATOR, resolver);
obj.orderByExp.add(exp);
}
- obj.children = new ArrayList<Group>();
+ obj.children = new ArrayList<>();
for (Group child : children) {
obj.children.add(child.clone());
}
@@ -447,7 +445,7 @@ public class Group extends Identifiable {
}
}
- private static enum SortType {
+ private enum SortType {
UNSORTED,
BYRANK,
BYID
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java
index ec379e5f8af..e6143a17523 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchlib.aggregation;
+import com.yahoo.searchlib.expression.FloatResultNode;
import com.yahoo.searchlib.expression.NullResultNode;
import com.yahoo.searchlib.expression.StringBucketResultNode;
import com.yahoo.vespa.objects.BufferSerializer;
@@ -186,6 +187,7 @@ public class GroupingTestCase {
public void requireThatNeedDeepResultCollectionWorks() {
assertFalse(new Grouping().addLevel(new GroupingLevel().setGroupPrototype(new Group())).needDeepResultCollection());
assertTrue(new Grouping().addLevel(new GroupingLevel().setGroupPrototype(new Group().addOrderBy(new CountAggregationResult(9), true))).needDeepResultCollection());
+ assertTrue(new Grouping().addLevel(new GroupingLevel().setGroupPrototype(new Group().addOrderBy(new AverageAggregationResult(), true))).needDeepResultCollection());
}
@Test