diff options
Diffstat (limited to 'container-search')
126 files changed, 349 insertions, 501 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java index b5e5ed9ed8f..7d4e2e8ef0a 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java @@ -13,7 +13,6 @@ import com.yahoo.data.access.Inspector; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -62,7 +61,7 @@ public class FastHit extends Hit { * that most fields passes through the container with no processing most * of the time. */ - private List<SummaryData> summaries = Collections.emptyList(); + private List<SummaryData> summaries = List.of(); /** Removed field values, which should therefore not be returned if present in summary data */ private Set<String> removedFields = null; @@ -275,7 +274,8 @@ public class FastHit extends Hit { /** Removes all fields of this */ @Override public void clearFields() { - summaries.clear(); + if (!summaries.isEmpty()) + summaries.clear(); if (removedFields != null) removedFields = null; super.clearFields(); @@ -481,7 +481,7 @@ public class FastHit extends Hit { private Set<String> createSet() { if (this.fieldSet != null) return this.fieldSet; - if ( ! hit.hasFields() && hit.summaries.isEmpty()) return Collections.emptySet(); // shortcut + if ( ! hit.hasFields() && hit.summaries.isEmpty()) return Set.of(); // shortcut Set<String> fields = new HashSet<>(); if (hit.hasFields()) diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java index 44c0cb45732..520879be928 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java @@ -6,7 +6,6 @@ import com.yahoo.prelude.IndexFacts; import com.yahoo.prelude.query.Item; import com.yahoo.search.query.parser.Parser; -import java.util.Collections; import java.util.Set; /** @@ -23,7 +22,7 @@ public interface CustomParser extends Parser { Set<String> toSearch, IndexFacts indexFacts, String defaultIndexName) { if (indexFacts == null) indexFacts = new IndexFacts(); - return parse(queryToParse, filterToParse, parsingLanguage, indexFacts.newSession(toSearch, Collections.emptySet()), defaultIndexName); + return parse(queryToParse, filterToParse, parsingLanguage, indexFacts.newSession(toSearch, Set.of()), defaultIndexName); } Item parse(String queryToParse, String filterToParse, Language parsingLanguage, diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/Tokenizer.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/Tokenizer.java index 1c0d3ea2ee9..5a42efaaea0 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/parser/Tokenizer.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/Tokenizer.java @@ -8,8 +8,8 @@ import com.yahoo.prelude.Index; import com.yahoo.prelude.IndexFacts; import com.yahoo.prelude.query.Substring; -import java.util.Collections; import java.util.List; +import java.util.Set; import static com.yahoo.prelude.query.parser.Token.Kind.*; @@ -63,7 +63,7 @@ public final class Tokenizer { * @return a read-only list of tokens. This list can only be used by this thread */ public List<Token> tokenize(String string) { - return tokenize(string, new IndexFacts().newSession(Collections.emptySet(), Collections.emptySet())); + return tokenize(string, new IndexFacts().newSession(Set.of(), Set.of())); } /** diff --git a/container-search/src/main/java/com/yahoo/prelude/semantics/SemanticSearcher.java b/container-search/src/main/java/com/yahoo/prelude/semantics/SemanticSearcher.java index ef453492a5d..e2e0ea90632 100644 --- a/container-search/src/main/java/com/yahoo/prelude/semantics/SemanticSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/semantics/SemanticSearcher.java @@ -14,7 +14,6 @@ import com.yahoo.search.result.ErrorMessage; import com.yahoo.search.searchchain.Execution; import com.yahoo.search.searchchain.PhaseNames; -import java.util.Arrays; import java.util.List; import java.util.Map; @@ -46,7 +45,7 @@ public class SemanticSearcher extends Searcher { } public SemanticSearcher(RuleBase ... ruleBases) { - this(Arrays.asList(ruleBases)); + this(List.of(ruleBases)); } @Inject diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java index 3227b047984..4ec3fa358d2 100644 --- a/container-search/src/main/java/com/yahoo/search/Query.java +++ b/container-search/src/main/java/com/yahoo/search/Query.java @@ -772,7 +772,7 @@ public class Query extends com.yahoo.processing.Request implements Cloneable { private String serializeSortingAndLimits(boolean includeHitsAndOffset) { StringBuilder insert = new StringBuilder(); - if (getRanking().getSorting() != null && getRanking().getSorting().fieldOrders().size() > 0) { + if (getRanking().getSorting() != null && !getRanking().getSorting().fieldOrders().isEmpty()) { serializeSorting(insert); } if (includeHitsAndOffset) { diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java b/container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java index 88d6b68a610..9c41c0b930f 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java @@ -7,7 +7,6 @@ import com.yahoo.search.Result; import com.yahoo.search.query.Sorting; import java.util.ArrayList; -import java.util.Collections; import java.util.List; /** @@ -22,7 +21,7 @@ public class InvokerResult { public InvokerResult(Result result) { this.result = result; - this.leanHits = Collections.emptyList(); + this.leanHits = List.of(); } public InvokerResult(Query query, int expectedHits) { @@ -54,7 +53,8 @@ public class InvokerResult { fh.setCached(false); result.hits().add(fh); } - leanHits.clear(); + if (!leanHits.isEmpty()) + leanHits.clear(); } } diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java b/container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java index 9302ce5b7c6..add562bd5ad 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java @@ -8,7 +8,6 @@ import com.yahoo.search.dispatch.searchcluster.Node; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Optional; @@ -163,7 +162,7 @@ public class SearchPath { nodes = parseNodeRange(nodes, ret); } else { if (isWildcard(nodes)) { // any node will be accepted - return Collections.emptyList(); + return List.of(); } nodes = parseNodeNum(nodes, ret); } @@ -231,7 +230,7 @@ public class SearchPath { public Collection<Integer> matches(int max) { if (from >= max) { - return Collections.emptyList(); + return List.of(); } int end = Math.min(to, max); return IntStream.range(from, end).boxed().toList(); diff --git a/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java b/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java index 3ad610f6ee0..da0b258d6ef 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java @@ -15,7 +15,6 @@ import com.yahoo.search.query.Select; import com.yahoo.search.searchchain.Execution; import com.yahoo.search.searchchain.PhaseNames; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; @@ -83,7 +82,7 @@ public class GroupingQueryParser extends Searcher { private List<Continuation> getContinuations(String param) { if (param == null) { - return Collections.emptyList(); + return List.of(); } List<Continuation> ret = new LinkedList<>(); for (String str : param.split(" ")) { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java b/container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java index 6d2b416700a..e319740f741 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java @@ -27,7 +27,6 @@ import com.yahoo.search.searchchain.Execution; import com.yahoo.search.searchchain.PhaseNames; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.logging.Logger; @@ -188,7 +187,7 @@ public class UniqueGroupingSearcher extends Searcher { private static List<Hit> getRequestedHits(GroupList resultGroups, int offset, int hits) { List<Hit> receivedHits = getAllHitsFromGroupingResult(resultGroups); if (receivedHits.size() <= offset) { - return Collections.emptyList(); // There weren't any hits as far out as requested. + return List.of(); // There weren't any hits as far out as requested. } int lastRequestedHit = Math.min(offset + hits, receivedHits.size()); return receivedHits.subList(offset, lastRequestedHit); diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DateFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DateFunction.java index 3c152f00c66..f911b695853 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DateFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DateFunction.java @@ -1,8 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; -import java.util.stream.Collectors; +import java.util.List; /** * This class represents a timestamp-formatter function in a {@link GroupingExpression}. It evaluates to a string on the @@ -23,14 +22,12 @@ public class DateFunction extends FunctionNode { } private DateFunction(String label, Integer level, GroupingExpression exp) { - super("time.date", label, level, Arrays.asList(exp)); + super("time.date", label, level, List.of(exp)); } @Override public DateFunction copy() { - return new DateFunction(getLabel(), - getLevelOrNull(), - getArg(0).copy()); + return new DateFunction(getLabel(), getLevelOrNull(), getArg(0).copy()); } } diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfMonthFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfMonthFunction.java index c9639b4ea71..654e969221b 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfMonthFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfMonthFunction.java @@ -1,8 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; -import java.util.stream.Collectors; +import java.util.List; /** * This class represents a day-of-month timestamp-function in a {@link GroupingExpression}. It evaluates to a long that @@ -23,14 +22,12 @@ public class DayOfMonthFunction extends FunctionNode { } private DayOfMonthFunction(String label, Integer level, GroupingExpression exp) { - super("time.dayofmonth", label, level, Arrays.asList(exp)); + super("time.dayofmonth", label, level, List.of(exp)); } @Override public DayOfMonthFunction copy() { - return new DayOfMonthFunction(getLabel(), - getLevelOrNull(), - getArg(0).copy()); + return new DayOfMonthFunction(getLabel(), getLevelOrNull(), getArg(0).copy()); } } diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfWeekFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfWeekFunction.java index 644f16a4d17..7b91ab34115 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfWeekFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfWeekFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a day-of-week timestamp-function in a {@link GroupingExpression}. It evaluates to a long that @@ -22,14 +22,12 @@ public class DayOfWeekFunction extends FunctionNode { } private DayOfWeekFunction(String label, Integer level, GroupingExpression exp) { - super("time.dayofweek", label, level, Arrays.asList(exp)); + super("time.dayofweek", label, level, List.of(exp)); } @Override public DayOfWeekFunction copy() { - return new DayOfWeekFunction(getLabel(), - getLevelOrNull(), - getArg(0).copy()); + return new DayOfWeekFunction(getLabel(), getLevelOrNull(), getArg(0).copy()); } } diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfYearFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfYearFunction.java index f45a7724794..9f7ff969e49 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfYearFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfYearFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a day-of-year timestamp-function in a {@link GroupingExpression}. It evaluates to a long that @@ -22,14 +22,12 @@ public class DayOfYearFunction extends FunctionNode { } private DayOfYearFunction(String label, Integer level, GroupingExpression exp) { - super("time.dayofyear", label, level, Arrays.asList(exp)); + super("time.dayofyear", label, level, List.of(exp)); } @Override public DayOfYearFunction copy() { - return new DayOfYearFunction(getLabel(), - getLevelOrNull(), - getArg(0).copy()); + return new DayOfYearFunction(getLabel(), getLevelOrNull(), getArg(0).copy()); } } diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DebugWaitFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DebugWaitFunction.java index 482d6fe93ce..1477d125847 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DebugWaitFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DebugWaitFunction.java @@ -1,8 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; -import java.util.stream.Collectors; +import java.util.List; /** * This class represents debug_wait function in a {@link GroupingExpression}. For each hit evaluated, @@ -25,7 +24,7 @@ public class DebugWaitFunction extends FunctionNode { } private DebugWaitFunction(String label, Integer level, GroupingExpression arg1, DoubleValue arg2, BooleanValue arg3) { - super("debugwait", label, level, Arrays.asList(arg1, arg2, arg3)); + super("debugwait", label, level, List.of(arg1, arg2, arg3)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/FixedWidthFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/FixedWidthFunction.java index 04f6d155699..6e0b721a584 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/FixedWidthFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/FixedWidthFunction.java @@ -1,7 +1,8 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; + +import java.util.List; /** * This class represents a fixed-width bucket-function in a {@link GroupingExpression}. It maps the input into the given @@ -23,7 +24,7 @@ public class FixedWidthFunction extends FunctionNode { } private FixedWidthFunction(String label, Integer level, GroupingExpression exp, ConstantValue width) { - super("fixedwidth", label, level, Arrays.asList(exp, width)); + super("fixedwidth", label, level, List.of(exp, width)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/FunctionNode.java b/container-search/src/main/java/com/yahoo/search/grouping/request/FunctionNode.java index c1d86ed3059..d2be51c074b 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/FunctionNode.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/FunctionNode.java @@ -66,12 +66,12 @@ public abstract class FunctionNode extends GroupingExpression implements Iterabl @SuppressWarnings("unchecked") protected static <T> List<T> asList(T arg1, T... argN) { - return asList(Arrays.asList(arg1), Arrays.asList(argN)); + return asList(List.of(arg1), List.of(argN)); } @SuppressWarnings("unchecked") protected static <T> List<T> asList(T arg1, T arg2, T... argN) { - return asList(Arrays.asList(arg1, arg2), Arrays.asList(argN)); + return asList(List.of(arg1, arg2), List.of(argN)); } protected static <T> List<T> asList(List<T> foo, List<T> bar) { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java index b6fc0ffb968..fe49b46fc6f 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java @@ -537,12 +537,7 @@ public abstract class GroupingOperation extends GroupingNode { } else if (level == 1) { return "single group"; } else { - StringBuilder ret = new StringBuilder(); - for (int i = 1; i < level; ++i) { - ret.append("list of "); - } - ret.append("groups"); - return ret.toString(); + return "list of ".repeat(level - 1) + "groups"; } } @@ -571,8 +566,8 @@ public abstract class GroupingOperation extends GroupingNode { * @throws IllegalArgumentException thrown if the string could not be parsed */ public static List<GroupingOperation> fromStringAsList(String string) { - if (string == null || string.trim().length() == 0) { - return Collections.emptyList(); + if (string == null || string.trim().isEmpty()) { + return List.of(); } GroupingParserInput input = new GroupingParserInput(string); try { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/HourOfDayFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/HourOfDayFunction.java index b65e1bc2405..95dcf608a95 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/HourOfDayFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/HourOfDayFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents an hour-of-day timestamp-function in a {@link GroupingExpression}. It evaluates to a long that @@ -22,7 +22,7 @@ public class HourOfDayFunction extends FunctionNode { } private HourOfDayFunction(String label, Integer level, GroupingExpression exp) { - super("time.hourofday", label, level, Arrays.asList(exp)); + super("time.hourofday", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathACosFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathACosFunction.java index 70f3515371b..8b6ffc53680 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathACosFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathACosFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathACosFunction extends FunctionNode { } private MathACosFunction(String label, Integer level, GroupingExpression exp) { - super("math.acos", label, level, Arrays.asList(exp)); + super("math.acos", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathACosHFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathACosHFunction.java index 6b31e1cfaff..34570aedc58 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathACosHFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathACosHFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathACosHFunction extends FunctionNode { } private MathACosHFunction(String label, Integer level, GroupingExpression exp) { - super("math.acosh", label, level, Arrays.asList(exp)); + super("math.acosh", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathASinFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathASinFunction.java index cbb99536af1..1fb0b89d0aa 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathASinFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathASinFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathASinFunction extends FunctionNode { } private MathASinFunction(String label, Integer level, GroupingExpression exp) { - super("math.asin", label, level, Arrays.asList(exp)); + super("math.asin", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathASinHFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathASinHFunction.java index 9e159abe90f..e0d290c59dc 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathASinHFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathASinHFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathASinHFunction extends FunctionNode { } private MathASinHFunction(String label, Integer level, GroupingExpression exp) { - super("math.asinh", label, level, Arrays.asList(exp)); + super("math.asinh", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathATanFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathATanFunction.java index a7302769853..50c40a2ad26 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathATanFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathATanFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathATanFunction extends FunctionNode { } private MathATanFunction(String label, Integer level, GroupingExpression exp) { - super("math.atan", label, level, Arrays.asList(exp)); + super("math.atan", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathATanHFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathATanHFunction.java index f33b8883a79..c8b34e36aaa 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathATanHFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathATanHFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathATanHFunction extends FunctionNode { } private MathATanHFunction(String label, Integer level, GroupingExpression exp) { - super("math.atanh", label, level, Arrays.asList(exp)); + super("math.atanh", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathCbrtFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathCbrtFunction.java index 5e4ad8fb20f..ccec1752823 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathCbrtFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathCbrtFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathCbrtFunction extends FunctionNode { } private MathCbrtFunction(String label, Integer level, GroupingExpression exp) { - super("math.cbrt", label, level, Arrays.asList(exp)); + super("math.cbrt", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathCosFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathCosFunction.java index bbf303e0bce..56aaa16c2ae 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathCosFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathCosFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathCosFunction extends FunctionNode { } private MathCosFunction(String label, Integer level, GroupingExpression exp) { - super("math.cos", label, level, Arrays.asList(exp)); + super("math.cos", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathCosHFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathCosHFunction.java index da92164aec5..8d21435ca52 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathCosHFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathCosHFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathCosHFunction extends FunctionNode { } private MathCosHFunction(String label, Integer level, GroupingExpression exp) { - super("math.cosh", label, level, Arrays.asList(exp)); + super("math.cosh", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathExpFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathExpFunction.java index 124b4fdaf40..625c6358081 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathExpFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathExpFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathExpFunction extends FunctionNode { } private MathExpFunction(String label, Integer level, GroupingExpression exp) { - super("math.exp", label, level, Arrays.asList(exp)); + super("math.exp", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathFloorFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathFloorFunction.java index cab480e8ff6..4c775a86b19 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathFloorFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathFloorFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * Represents the math.floor(expression) function @@ -21,7 +21,7 @@ public class MathFloorFunction extends FunctionNode { } private MathFloorFunction(String label, Integer level, GroupingExpression exp) { - super("math.floor", label, level, Arrays.asList(exp)); + super("math.floor", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathFunctions.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathFunctions.java index ec2cb62b062..d76c464a6de 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathFunctions.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathFunctions.java @@ -42,29 +42,28 @@ public abstract class MathFunctions { } } public static FunctionNode newInstance(Function type, GroupingExpression x, GroupingExpression y) { - switch (type) { - case EXP: return new MathExpFunction(x); - case POW: return new MathPowFunction(x, y); - case LOG: return new MathLogFunction(x); - case LOG1P: return new MathLog1pFunction(x); - case LOG10: return new MathLog10Function(x); - case SIN: return new MathSinFunction(x); - case ASIN: return new MathASinFunction(x); - case COS: return new MathCosFunction(x); - case ACOS: return new MathACosFunction(x); - case TAN: return new MathTanFunction(x); - case ATAN: return new MathATanFunction(x); - case SQRT: return new MathSqrtFunction(x); - case SINH: return new MathSinHFunction(x); - case ASINH: return new MathASinHFunction(x); - case COSH: return new MathCosHFunction(x); - case ACOSH: return new MathACosHFunction(x); - case TANH: return new MathTanHFunction(x); - case ATANH: return new MathATanHFunction(x); - case CBRT: return new MathCbrtFunction(x); - case HYPOT: return new MathHypotFunction(x, y); - case FLOOR: return new MathFloorFunction(x); - } - return null; + return switch (type) { + case EXP -> new MathExpFunction(x); + case POW -> new MathPowFunction(x, y); + case LOG -> new MathLogFunction(x); + case LOG1P -> new MathLog1pFunction(x); + case LOG10 -> new MathLog10Function(x); + case SIN -> new MathSinFunction(x); + case ASIN -> new MathASinFunction(x); + case COS -> new MathCosFunction(x); + case ACOS -> new MathACosFunction(x); + case TAN -> new MathTanFunction(x); + case ATAN -> new MathATanFunction(x); + case SQRT -> new MathSqrtFunction(x); + case SINH -> new MathSinHFunction(x); + case ASINH -> new MathASinHFunction(x); + case COSH -> new MathCosHFunction(x); + case ACOSH -> new MathACosHFunction(x); + case TANH -> new MathTanHFunction(x); + case ATANH -> new MathATanHFunction(x); + case CBRT -> new MathCbrtFunction(x); + case HYPOT -> new MathHypotFunction(x, y); + case FLOOR -> new MathFloorFunction(x); + }; } } diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathHypotFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathHypotFunction.java index 9f7cef456cf..fd9e8d6271a 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathHypotFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathHypotFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -20,7 +20,7 @@ public class MathHypotFunction extends FunctionNode { } private MathHypotFunction(String label, Integer level, GroupingExpression x, GroupingExpression y) { - super("math.hypot", label, level, Arrays.asList(x, y)); + super("math.hypot", label, level, List.of(x, y)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathLog10Function.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathLog10Function.java index 8f4a6444bfb..0f05a1909b1 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathLog10Function.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathLog10Function.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathLog10Function extends FunctionNode { } private MathLog10Function(String label, Integer level, GroupingExpression exp) { - super("math.log10", label, level, Arrays.asList(exp)); + super("math.log10", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathLog1pFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathLog1pFunction.java index 35fcbd3f1a6..500edd9f90b 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathLog1pFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathLog1pFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathLog1pFunction extends FunctionNode { } private MathLog1pFunction(String label, Integer level, GroupingExpression exp) { - super("math.log1p", label, level, Arrays.asList(exp)); + super("math.log1p", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathLogFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathLogFunction.java index 5b06998b004..642c3230b3f 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathLogFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathLogFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathLogFunction extends FunctionNode { } private MathLogFunction(String label, Integer level, GroupingExpression exp) { - super("math.log", label, level, Arrays.asList(exp)); + super("math.log", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathPowFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathPowFunction.java index 6f4972c9af0..7dd398f7008 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathPowFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathPowFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -20,7 +20,7 @@ public class MathPowFunction extends FunctionNode { } private MathPowFunction(String label, Integer level, GroupingExpression x, GroupingExpression y) { - super("math.pow", label, level, Arrays.asList(x, y)); + super("math.pow", label, level, List.of(x, y)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathSinFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathSinFunction.java index 8d21fb8e0df..64051cb96e8 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathSinFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathSinFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathSinFunction extends FunctionNode { } private MathSinFunction(String label, Integer level, GroupingExpression exp) { - super("math.sin", label, level, Arrays.asList(exp)); + super("math.sin", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathSinHFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathSinHFunction.java index c9d30a0adec..21295278756 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathSinHFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathSinHFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathSinHFunction extends FunctionNode { } private MathSinHFunction(String label, Integer level, GroupingExpression exp) { - super("math.sinh", label, level, Arrays.asList(exp)); + super("math.sinh", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathSqrtFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathSqrtFunction.java index 268ddaaaf2d..411a3fe30fa 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathSqrtFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathSqrtFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathSqrtFunction extends FunctionNode { } private MathSqrtFunction(String label, Integer level, GroupingExpression exp) { - super("math.sqrt", label, level, Arrays.asList(exp)); + super("math.sqrt", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathTanFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathTanFunction.java index 79267e0ae17..f2a18010258 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathTanFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathTanFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathTanFunction extends FunctionNode { } private MathTanFunction(String label, Integer level, GroupingExpression exp) { - super("math.tan", label, level, Arrays.asList(exp)); + super("math.tan", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathTanHFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathTanHFunction.java index e1a83c0b630..5833f0bf887 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathTanHFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathTanHFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class MathTanHFunction extends FunctionNode { } private MathTanHFunction(String label, Integer level, GroupingExpression exp) { - super("math.tanh", label, level, Arrays.asList(exp)); + super("math.tanh", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/Md5Function.java b/container-search/src/main/java/com/yahoo/search/grouping/request/Md5Function.java index 720e071aebf..57604677b82 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/Md5Function.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/Md5Function.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents an md5-function in a {@link GroupingExpression}. It evaluates to a long that equals the md5 of @@ -22,7 +22,7 @@ public class Md5Function extends FunctionNode { } private Md5Function(String label, Integer level, GroupingExpression exp, LongValue numBits) { - super("md5", label, level, Arrays.asList(exp, numBits)); + super("md5", label, level, List.of(exp, numBits)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MinuteOfHourFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MinuteOfHourFunction.java index 73484de9e47..67ddd560ab9 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MinuteOfHourFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MinuteOfHourFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a minute-of-hour timestamp-function in a {@link GroupingExpression}. It evaluates to a long @@ -22,7 +22,7 @@ public class MinuteOfHourFunction extends FunctionNode { } private MinuteOfHourFunction(String label, Integer level, GroupingExpression exp) { - super("time.minuteofhour", label, level, Arrays.asList(exp)); + super("time.minuteofhour", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MonthOfYearFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MonthOfYearFunction.java index e8dace1e3bf..f9b4aef23f5 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MonthOfYearFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MonthOfYearFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a month-of-year timestamp-function in a {@link GroupingExpression}. It evaluates to a long that @@ -22,7 +22,7 @@ public class MonthOfYearFunction extends FunctionNode { } private MonthOfYearFunction(String label, Integer level, GroupingExpression exp) { - super("time.monthofyear", label, level, Arrays.asList(exp)); + super("time.monthofyear", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/NegFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/NegFunction.java index 9f8a8de0266..785d29301e4 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/NegFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/NegFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a negate-function in a {@link GroupingExpression}. It evaluates to a number that equals the @@ -22,7 +22,7 @@ public class NegFunction extends FunctionNode { } private NegFunction(String label, Integer level, GroupingExpression exp) { - super("neg", label, level, Arrays.asList(exp)); + super("neg", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/NormalizeSubjectFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/NormalizeSubjectFunction.java index 1b3f48052a4..c843959249d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/NormalizeSubjectFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/NormalizeSubjectFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** */ @@ -17,7 +17,7 @@ public class NormalizeSubjectFunction extends FunctionNode { } private NormalizeSubjectFunction(String label, Integer level, GroupingExpression exp) { - super("normalizesubject", label, level, Arrays.asList(exp)); + super("normalizesubject", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java index 7026e726675..a2e2bcd649a 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java @@ -1,8 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; -import java.util.Collections; +import java.util.List; /** * This class represents a now-function in a {@link GroupingExpression}. It evaluates to a long that equals the number @@ -21,7 +20,7 @@ public class NowFunction extends FunctionNode { } private NowFunction(String label, Integer level) { - super("now", label, level, Collections.emptyList()); + super("now", label, level, List.of()); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ReverseFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ReverseFunction.java index 483f2494ea9..819dd3601c4 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ReverseFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ReverseFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a reverse-function in a {@link GroupingExpression}. It evaluates to a list that equals the list @@ -22,7 +22,7 @@ public class ReverseFunction extends FunctionNode { } private ReverseFunction(String label, Integer level, GroupingExpression exp) { - super("reverse", label, level, Arrays.asList(exp)); + super("reverse", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/SecondOfMinuteFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/SecondOfMinuteFunction.java index a4ef16d50d3..fdcbeefe647 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/SecondOfMinuteFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/SecondOfMinuteFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a second-of-minute timestamp-function in a {@link GroupingExpression}. It evaluates to a long @@ -22,7 +22,7 @@ public class SecondOfMinuteFunction extends FunctionNode { } private SecondOfMinuteFunction(String label, Integer level, GroupingExpression exp) { - super("time.secondofminute", label, level, Arrays.asList(exp)); + super("time.secondofminute", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/SizeFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/SizeFunction.java index 418d1513973..33b910a1119 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/SizeFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/SizeFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a size-function in a {@link GroupingExpression}. It evaluates to a number that equals the @@ -22,7 +22,7 @@ public class SizeFunction extends FunctionNode { } private SizeFunction(String label, Integer level, GroupingExpression exp) { - super("size", label, level, Arrays.asList(exp)); + super("size", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/SortFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/SortFunction.java index 03b9479afda..0acee311b11 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/SortFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/SortFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a sort-function in a {@link GroupingExpression}. It evaluates to a list that equals the list @@ -22,7 +22,7 @@ public class SortFunction extends FunctionNode { } private SortFunction(String label, Integer level, GroupingExpression exp) { - super("sort", label, level, Arrays.asList(exp)); + super("sort", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/StrLenFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/StrLenFunction.java index 28b0f021b26..21679b01170 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/StrLenFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/StrLenFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a strcat-function in a {@link GroupingExpression}. It evaluates to a long that equals the @@ -22,7 +22,7 @@ public class StrLenFunction extends FunctionNode { } private StrLenFunction(String label, Integer level, GroupingExpression exp) { - super("strlen", label, level, Arrays.asList(exp)); + super("strlen", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ToDoubleFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ToDoubleFunction.java index 906e7ec18cb..6d05dd69a92 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ToDoubleFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ToDoubleFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a todouble-function in a {@link GroupingExpression}. It converts the result of the argument to @@ -22,7 +22,7 @@ public class ToDoubleFunction extends FunctionNode { } private ToDoubleFunction(String label, Integer level, GroupingExpression exp) { - super("todouble", label, level, Arrays.asList(exp)); + super("todouble", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ToLongFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ToLongFunction.java index 4c7db38442d..d92cd2814aa 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ToLongFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ToLongFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a tolong-function in a {@link GroupingExpression}. It converts the result of the argument to a @@ -22,7 +22,7 @@ public class ToLongFunction extends FunctionNode { } private ToLongFunction(String label, Integer level, GroupingExpression exp) { - super("tolong", label, level, Arrays.asList(exp)); + super("tolong", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ToRawFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ToRawFunction.java index 9c0a581fb87..99cf3400bdc 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ToRawFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ToRawFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a toraw-function in a {@link GroupingExpression}. It @@ -23,7 +23,7 @@ public class ToRawFunction extends FunctionNode { } private ToRawFunction(String label, Integer level, GroupingExpression exp) { - super("toraw", label, level, Arrays.asList(exp)); + super("toraw", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ToStringFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ToStringFunction.java index 0fb891bdce0..b58765c57f0 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ToStringFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ToStringFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a tolong-function in a {@link GroupingExpression}. It converts the result of the argument to a @@ -22,7 +22,7 @@ public class ToStringFunction extends FunctionNode { } private ToStringFunction(String label, Integer level, GroupingExpression exp) { - super("tostring", label, level, Arrays.asList(exp)); + super("tostring", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/UcaFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/UcaFunction.java index c5e469f1379..98cb68fbb8c 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/UcaFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/UcaFunction.java @@ -1,7 +1,6 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -23,7 +22,7 @@ public class UcaFunction extends FunctionNode { * @param locale The locale to used for sorting. */ public UcaFunction(GroupingExpression exp, String locale) { - this(null, null, Arrays.asList(exp, new StringValue(locale))); + this(null, null, List.of(exp, new StringValue(locale))); } /** @@ -34,7 +33,7 @@ public class UcaFunction extends FunctionNode { * @param strength The strength level to use. */ public UcaFunction(GroupingExpression exp, String locale, String strength) { - this(null, null, Arrays.asList(exp, new StringValue(locale), new StringValue(strength))); + this(null, null, List.of(exp, new StringValue(locale), new StringValue(strength))); if ( ! validStrength(strength)) throw new IllegalArgumentException("Not a valid UCA strength: " + strength); } diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/XorBitFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/XorBitFunction.java index 2e0bf25b894..f03bf681e90 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/XorBitFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/XorBitFunction.java @@ -1,7 +1,6 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -21,7 +20,7 @@ public class XorBitFunction extends FunctionNode { * @param numBits The number of bits of the expression value to xor. */ public XorBitFunction(GroupingExpression exp, int numBits) { - this(null, null, Arrays.asList(exp, new LongValue(numBits))); + this(null, null, List.of(exp, new LongValue(numBits))); } private XorBitFunction(String label, Integer level, List<GroupingExpression> exp) { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/YearFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/YearFunction.java index 150b54855f3..528a6253ab0 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/YearFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/YearFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * This class represents a year timestamp-function in a {@link GroupingExpression}. It evaluates to a long that equals @@ -22,7 +22,7 @@ public class YearFunction extends FunctionNode { } private YearFunction(String label, Integer level, GroupingExpression exp) { - super("time.year", label, level, Arrays.asList(exp)); + super("time.year", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ZCurveXFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ZCurveXFunction.java index 29216e20825..e954e2c24fc 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ZCurveXFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ZCurveXFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -19,7 +19,7 @@ public class ZCurveXFunction extends FunctionNode { } private ZCurveXFunction(String label, Integer level, GroupingExpression exp) { - super("zcurve.x", label, level, Arrays.asList(exp)); + super("zcurve.x", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ZCurveYFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ZCurveYFunction.java index 4803f145487..edbc9417a6b 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ZCurveYFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ZCurveYFunction.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; +import java.util.List; /** * @author baldersheim @@ -18,7 +18,7 @@ public class ZCurveYFunction extends FunctionNode { } private ZCurveYFunction(String label, Integer level, GroupingExpression exp) { - super("zcurve.y", label, level, Arrays.asList(exp)); + super("zcurve.y", label, level, List.of(exp)); } @Override diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java index be4f2f786e5..fba9064298c 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java @@ -21,7 +21,6 @@ import com.yahoo.search.searchchain.Execution; import com.yahoo.searchlib.aggregation.Grouping; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; @@ -357,7 +356,7 @@ public class GroupingExecutor extends Searcher { public static List<Grouping> getGroupingList(Query query) { Object obj = query.properties().get(PROP_GROUPINGLIST); if (!(obj instanceof List)) { - return Collections.emptyList(); + return List.of(); } return (List<Grouping>)obj; } diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java index c1eff1eec67..c2a5ad0222d 100644 --- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java +++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java @@ -3,7 +3,6 @@ package com.yahoo.search.handler; import ai.vespa.metrics.ContainerMetrics; import ai.vespa.cloud.ZoneInfo; -import ai.vespa.metrics.ContainerMetrics; import com.yahoo.collections.Tuple2; import com.yahoo.component.ComponentSpecification; import com.yahoo.component.Vtag; @@ -117,7 +116,7 @@ public class SearchHandler extends LoggingRequestHandler { ZoneInfo zoneInfo) { this(metric, threadpool.executor(), queryProfileRegistry, embedders, executionFactory, config.numQueriesToTraceOnDebugAfterConstruction(), - config.hostResponseHeaderKey().equals("") ? Optional.empty() : Optional.of(config.hostResponseHeaderKey()), + config.hostResponseHeaderKey().isEmpty() ? Optional.empty() : Optional.of(config.hostResponseHeaderKey()), zoneInfo); } diff --git a/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java b/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java index e07b290f66e..22bc97b9ca1 100644 --- a/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java @@ -22,8 +22,6 @@ import com.yahoo.search.result.ErrorMessage; import com.yahoo.search.searchchain.Execution; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -99,7 +97,7 @@ public class PageTemplateSearcher extends Searcher { * @param resolvers the resolvers to use, in addition to the default resolvers */ public PageTemplateSearcher(PageTemplateRegistry templateRegistry, Resolver... resolvers) { - this(templateRegistry, Arrays.asList(resolvers)); + this(templateRegistry, List.of(resolvers)); } private PageTemplateSearcher(PageTemplateRegistry templateRegistry, List<Resolver> resolvers) { @@ -139,13 +137,13 @@ public class PageTemplateSearcher extends Searcher { if (pageIds == null) { String pageIdString = query.properties().getString(pageIdName,"").trim(); if (!pageIdString.isEmpty()) - pageIds = Arrays.asList(pageIdString.split(" ")); + pageIds = List.of(pageIdString.split(" ")); } // If none set, just return the default or null if none if (pageIds == null) { PageElement defaultPage=templateRegistry.getComponent("default"); - return (defaultPage == null ? Collections.<PageElement>emptyList() : Collections.singletonList(defaultPage)); + return (defaultPage == null ? List.of() : List.of(defaultPage)); } // Resolve the id list to page templates diff --git a/container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java b/container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java index f59124e293e..3ee195bdf55 100644 --- a/container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java +++ b/container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java @@ -72,7 +72,7 @@ public class PageTemplateXMLReader { File file = new File(fileName); pageReader = new NamedReader(fileName,new FileReader(file)); String firstName = file.getName().substring(0, file.getName().length() - 4); - return read(Collections.singletonList(pageReader), true).getComponent(firstName); + return read(List.of(pageReader), true).getComponent(firstName); } catch (IOException e) { throw new IllegalArgumentException("Could not read the page template '" + fileName + "'", e); @@ -85,7 +85,7 @@ public class PageTemplateXMLReader { private List<File> sortFiles(File dir) { ArrayList<File> files = new ArrayList<>(); - files.addAll(Arrays.asList(dir.listFiles())); + files.addAll(List.of(dir.listFiles())); Collections.sort(files); return files; } @@ -296,7 +296,7 @@ public class PageTemplateXMLReader { if ("item".equals(value.getNodeName())) map.values().add(readPageElements(value)); else - map.values().add(Collections.singletonList(readPageElement(value))); + map.values().add(List.of(readPageElement(value))); } return map; } @@ -311,7 +311,7 @@ public class PageTemplateXMLReader { else if (alternative.getNodeName().equals("include")) // Implicit include choice.alternatives().add(readInclude(alternative)); else // Other implicit - choice.alternatives().add(Collections.singletonList(readPageElement(alternative))); + choice.alternatives().add(List.of(readPageElement(alternative))); } return choice; } @@ -323,7 +323,7 @@ public class PageTemplateXMLReader { if ("alternative".equals(alternative.getNodeName())) // Explicit alternative container source.renderer().alternatives().addAll(readRenderers(XML.children(alternative))); else // Implicit alternative - yes implicit and explicit may be combined - source.renderer().alternatives().addAll(readRenderers(Collections.singletonList(alternative))); + source.renderer().alternatives().addAll(readRenderers(List.of(alternative))); } } } @@ -331,7 +331,7 @@ public class PageTemplateXMLReader { private Map<String,String> readParameters(Element containingElement) { List<Element> parameterElements=XML.getChildren(containingElement,"parameter"); - if (parameterElements.size()==0) return Collections.emptyMap(); // Shortcut + if (parameterElements.size()==0) return Map.of(); // Shortcut Map<String,String> parameters=new LinkedHashMap<>(); for (Element parameter : parameterElements) { diff --git a/container-search/src/main/java/com/yahoo/search/query/Select.java b/container-search/src/main/java/com/yahoo/search/query/Select.java index 32e28dc3ff7..6735a6bd050 100644 --- a/container-search/src/main/java/com/yahoo/search/query/Select.java +++ b/container-search/src/main/java/com/yahoo/search/query/Select.java @@ -10,7 +10,6 @@ import com.yahoo.search.query.profile.types.QueryProfileType; import com.yahoo.search.yql.VespaGroupingStep; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Objects; @@ -53,7 +52,7 @@ public class Select implements Cloneable { } public Select(String where, String grouping, Query query) { - this(where, grouping, null, query, Collections.emptyList()); + this(where, grouping, null, query, List.of()); } private Select(String where, String grouping, String groupingExpressionString, Query query, List<GroupingRequest> groupingRequests) { diff --git a/container-search/src/main/java/com/yahoo/search/query/SelectParser.java b/container-search/src/main/java/com/yahoo/search/query/SelectParser.java index 93df7fdfb18..c897afe144c 100644 --- a/container-search/src/main/java/com/yahoo/search/query/SelectParser.java +++ b/container-search/src/main/java/com/yahoo/search/query/SelectParser.java @@ -55,7 +55,6 @@ import com.yahoo.slime.SlimeUtils; import com.yahoo.slime.Type; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -147,7 +146,7 @@ public class SelectParser implements Parser { private final Normalizer normalizer; private IndexFacts.Session indexFactsSession; - private static final List<String> FUNCTION_CALLS = Arrays.asList(WAND, WEIGHTED_SET, DOT_PRODUCT, GEO_LOCATION, NEAREST_NEIGHBOR, PREDICATE, RANK, WEAK_AND); + private static final List<String> FUNCTION_CALLS = List.of(WAND, WEIGHTED_SET, DOT_PRODUCT, GEO_LOCATION, NEAREST_NEIGHBOR, PREDICATE, RANK, WEAK_AND); public SelectParser(ParserEnvironment environment) { indexFacts = environment.getIndexFacts(); diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/CopyOnWriteContent.java b/container-search/src/main/java/com/yahoo/search/query/profile/CopyOnWriteContent.java index 53f8ccbe6de..3587175b671 100644 --- a/container-search/src/main/java/com/yahoo/search/query/profile/CopyOnWriteContent.java +++ b/container-search/src/main/java/com/yahoo/search/query/profile/CopyOnWriteContent.java @@ -66,7 +66,7 @@ public class CopyOnWriteContent extends FreezableClass implements Cloneable { public void freeze() { // Freeze this if (unmodifiableMap==null) - unmodifiableMap= map!=null ? Collections.unmodifiableMap(map) : Collections.<String, Object>emptyMap(); + unmodifiableMap= map!=null ? Collections.unmodifiableMap(map) : Map.of(); map=null; // just to keep the states simpler // Freeze content @@ -119,7 +119,7 @@ public class CopyOnWriteContent extends FreezableClass implements Cloneable { //------- Content access ------------------------------------------------------- public Map<String,Object> unmodifiableMap() { - if (isEmpty()) return Collections.emptyMap(); + if (isEmpty()) return Map.of(); if (map==null) // in COPYONWRITE or FROZEN state return unmodifiableMap; // In WRITABLE state: Create unmodifiable wrapper if necessary and return it diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java index 1c694417475..d638f57422c 100644 --- a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java +++ b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java @@ -121,7 +121,7 @@ public class QueryProfile extends FreezableSimpleComponent implements Cloneable */ public List<QueryProfile> inherited() { if (isFrozen()) return inherited; // Frozen profiles always have an unmodifiable, non-null list - if (inherited == null) return Collections.emptyList(); + if (inherited == null) return List.of(); return Collections.unmodifiableList(inherited); } diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileProperties.java b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileProperties.java index 8778dcc7348..261e42a972d 100644 --- a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileProperties.java +++ b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileProperties.java @@ -18,7 +18,6 @@ import com.yahoo.search.query.profile.types.QueryProfileType; import com.yahoo.tensor.Tensor; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -127,7 +126,7 @@ public class QueryProfileProperties extends Properties { name = unalias(name, context); if (context == null) - context = Collections.emptyMap(); + context = Map.of(); if ( ! profile.isOverridable(name, context)) return; @@ -237,7 +236,7 @@ public class QueryProfileProperties extends Properties { context = contextWithZoneInfo(context); path = unalias(path, context); - if (context == null) context = Collections.emptyMap(); + if (context == null) context = Map.of(); Map<String, Object> properties = new HashMap<>(); for (var entry : profile.listValues(path, context, substitution).entrySet()) { diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java index 0ed6b590227..c9dbfe9d89a 100644 --- a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java +++ b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java @@ -5,7 +5,6 @@ import com.yahoo.component.provider.Freezable; import com.yahoo.search.query.profile.types.QueryProfileType; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -187,7 +186,7 @@ public class QueryProfileVariants implements Freezable, Cloneable { * @param dimensionBinding the dimension bindings to use in this */ public Object get(String name, QueryProfileType type, boolean allowQueryProfileResult, DimensionBinding dimensionBinding) { - SingleValueQueryProfileVisitor visitor = new SingleValueQueryProfileVisitor(Collections.singletonList(name),allowQueryProfileResult); + SingleValueQueryProfileVisitor visitor = new SingleValueQueryProfileVisitor(List.of(name),allowQueryProfileResult); visitor.enter(""); accept(true, type, visitor, dimensionBinding); visitor.leave(""); @@ -370,7 +369,7 @@ public class QueryProfileVariants implements Freezable, Cloneable { /** Returns the field values (values for various dimensions) for this field as a read-only list (never null) */ public List<FieldValue> asList() { - if (resolutionList == null) return Collections.emptyList(); + if (resolutionList == null) return List.of(); return resolutionList; } diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/compiled/CompiledQueryProfile.java b/container-search/src/main/java/com/yahoo/search/query/profile/compiled/CompiledQueryProfile.java index 4b3c3ede1e9..562d59846d1 100644 --- a/container-search/src/main/java/com/yahoo/search/query/profile/compiled/CompiledQueryProfile.java +++ b/container-search/src/main/java/com/yahoo/search/query/profile/compiled/CompiledQueryProfile.java @@ -9,7 +9,6 @@ import com.yahoo.search.query.profile.QueryProfileProperties; import com.yahoo.search.query.profile.SubstituteString; import com.yahoo.search.query.profile.types.QueryProfileType; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; @@ -102,7 +101,7 @@ public class CompiledQueryProfile extends AbstractComponent implements Cloneable * For example, if {a.d => "a.d-value" ,a.e => "a.e-value", b.d => "b.d-value", then calling listValues("a") * will return {"d" => "a.d-value","e" => "a.e-value"} */ - public final Map<String, Object> listValues(CompoundName prefix) { return listValues(prefix, Collections.emptyMap()); } + public final Map<String, Object> listValues(CompoundName prefix) { return listValues(prefix, Map.of()); } public final Map<String, Object> listValues(String prefix) { return listValues(new CompoundName(prefix)); } /** diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/compiled/DimensionalValue.java b/container-search/src/main/java/com/yahoo/search/query/profile/compiled/DimensionalValue.java index b6fa58628a1..0823989a104 100644 --- a/container-search/src/main/java/com/yahoo/search/query/profile/compiled/DimensionalValue.java +++ b/container-search/src/main/java/com/yahoo/search/query/profile/compiled/DimensionalValue.java @@ -2,18 +2,15 @@ package com.yahoo.search.query.profile.compiled; import com.yahoo.processing.request.CompoundName; -import com.yahoo.search.query.profile.DimensionBinding; import com.yahoo.search.query.profile.SubstituteString; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Set; /** * Contains the values a given key in a DimensionalMap may take for different dimensional contexts. @@ -44,7 +41,7 @@ public class DimensionalValue<VALUE> { /** Returns the value matching this context, or null if none */ public VALUE get(Map<String, String> context) { if (context == null) - context = Collections.emptyMap(); + context = Map.of(); for (BindingSpec spec : bindingSpecs) { if ( ! spec.matches(context)) continue; @@ -156,8 +153,7 @@ public class DimensionalValue<VALUE> { variants.add(binding); // We're combining values for efficiency, so remove incorrect provenance info - if (value instanceof ValueWithSource) { - ValueWithSource v1 = (ValueWithSource)value; + if (value instanceof ValueWithSource v1) { ValueWithSource v2 = (ValueWithSource)newValue; if (v1.source() != null && ! v1.source().equals(v2.source())) @@ -220,14 +216,12 @@ public class DimensionalValue<VALUE> { private VALUE substituteIfRelative(VALUE value, Binding variant, Map<CompoundName, DimensionalValue.Builder<VALUE>> entries) { - if (value instanceof ValueWithSource && ((ValueWithSource)value).value() instanceof SubstituteString) { - ValueWithSource valueWithSource = (ValueWithSource)value; + if (value instanceof ValueWithSource valueWithSource && ((ValueWithSource)value).value() instanceof SubstituteString) { SubstituteString substitute = (SubstituteString)valueWithSource.value(); if (substitute.hasRelative()) { List<SubstituteString.Component> resolvedComponents = new ArrayList<>(substitute.components().size()); for (SubstituteString.Component component : substitute.components()) { - if (component instanceof SubstituteString.RelativePropertyComponent) { - SubstituteString.RelativePropertyComponent relativeComponent = (SubstituteString.RelativePropertyComponent)component; + if (component instanceof SubstituteString.RelativePropertyComponent relativeComponent) { var substituteValues = lookupByLocalName(relativeComponent.fieldName(), entries); if (substituteValues == null) throw new IllegalArgumentException("Could not resolve local substitution '" + @@ -274,8 +268,8 @@ public class DimensionalValue<VALUE> { /** Returns whether this context contains all the keys of this */ public boolean matches(Map<String, String> context) { - for (int i = 0; i < dimensions.length; i++) - if ( ! context.containsKey(dimensions[i])) return false; + for (String dimension : dimensions) + if (!context.containsKey(dimension)) return false; return true; } diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/config/QueryProfileXMLReader.java b/container-search/src/main/java/com/yahoo/search/query/profile/config/QueryProfileXMLReader.java index f2eb76f2367..abb0129eed0 100644 --- a/container-search/src/main/java/com/yahoo/search/query/profile/config/QueryProfileXMLReader.java +++ b/container-search/src/main/java/com/yahoo/search/query/profile/config/QueryProfileXMLReader.java @@ -18,7 +18,6 @@ import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -68,7 +67,7 @@ public class QueryProfileXMLReader { private List<File> sortFiles(File dir) { ArrayList<File> files = new ArrayList<>(); - files.addAll(Arrays.asList(dir.listFiles())); + files.addAll(List.of(dir.listFiles())); Collections.sort(files); return files; } diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java index 080f938d61a..e5319b50b4f 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java @@ -1,7 +1,6 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.query.textserialize.item; -import java.util.Collections; import java.util.List; import java.util.Map; @@ -19,7 +18,7 @@ public class ItemArguments { properties = (Map<?, ?>) ListUtil.first(arguments); children = ListUtil.rest(arguments); } else { - properties = Collections.emptyMap(); + properties = Map.of(); children = arguments; } } diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemInitializer.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemInitializer.java index c8c9f7241d2..7971bc0a30e 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemInitializer.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemInitializer.java @@ -7,7 +7,6 @@ import com.yahoo.prelude.query.TaggableItem; import com.yahoo.search.query.textserialize.serializer.DispatchForm; import com.yahoo.search.query.textserialize.serializer.ItemIdMapper; -import java.util.Arrays; import java.util.List; import java.util.Map; @@ -116,7 +115,7 @@ public class ItemInitializer { Item connectedItem = taggableItem.getConnectedItem(); if (connectedItem != null) { form.setProperty("connectivity", - Arrays.asList(itemIdMapper.getId(connectedItem), taggableItem.getConnectivity())); + List.of(itemIdMapper.getId(connectedItem), taggableItem.getConnectivity())); } if (taggableItem.hasExplicitSignificance()) { diff --git a/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java b/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java index d62860afcda..74e79475ce6 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java @@ -10,7 +10,7 @@ import com.yahoo.search.Result; import com.yahoo.search.pagetemplates.result.PageTemplatesXmlRenderer; import java.util.Collection; -import java.util.Collections; +import java.util.List; import java.util.concurrent.Executor; /** @@ -34,7 +34,7 @@ public final class RendererRegistry extends ComponentRegistry<com.yahoo.processi * Use MoreExecutors.directExecutor(). */ public RendererRegistry(Executor executor) { - this(Collections.emptyList(), executor); + this(List.of(), executor); } /** @@ -111,7 +111,7 @@ public final class RendererRegistry extends ComponentRegistry<com.yahoo.processi private String rendererNames() { StringBuilder r = new StringBuilder(); for (Renderer<Result> c : allComponents()) { - if (r.length() > 0) + if (!r.isEmpty()) r.append(", "); r.append(c.getId().stringValue()); } diff --git a/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java index 6f376042f2d..7bd3ca1174f 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java @@ -15,7 +15,6 @@ import java.io.IOException; import java.io.Writer; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.List; @@ -156,7 +155,7 @@ abstract public class SectionedRenderer<WRITER> extends Renderer { } private void renderResultContent(WRITER writer, Result result) throws IOException { - if (result.hits().getError() != null || result.hits().getQuery().errors().size() > 0) { + if (result.hits().getError() != null || !result.hits().getQuery().errors().isEmpty()) { error(writer, asUnmodifiableSearchErrorList(result.hits().getQuery().errors(), result.hits().getError())); } @@ -172,14 +171,14 @@ abstract public class SectionedRenderer<WRITER> extends Renderer { } private Collection<ErrorMessage> asUnmodifiableSearchErrorList(List<com.yahoo.processing.request.ErrorMessage> queryErrors,ErrorMessage resultError) { - if (queryErrors.size() == 0) - return Collections.singletonList(resultError); + if (queryErrors.isEmpty()) + return List.of(resultError); List<ErrorMessage> searchErrors = new ArrayList<>(queryErrors.size() + (resultError != null ? 1 :0) ); - for (int i=0; i<queryErrors.size(); i++) - searchErrors.add(ErrorMessage.from(queryErrors.get(i))); + for (com.yahoo.processing.request.ErrorMessage queryError : queryErrors) + searchErrors.add(ErrorMessage.from(queryError)); if (resultError != null) searchErrors.add(resultError); - return Collections.unmodifiableCollection(searchErrors); + return List.copyOf(searchErrors); } private void renderHitGroup(WRITER writer, HitGroup hitGroup) throws IOException { diff --git a/container-search/src/main/java/com/yahoo/search/result/FeatureData.java b/container-search/src/main/java/com/yahoo/search/result/FeatureData.java index 0f26ecdcce7..55a4c6c11f2 100644 --- a/container-search/src/main/java/com/yahoo/search/result/FeatureData.java +++ b/container-search/src/main/java/com/yahoo/search/result/FeatureData.java @@ -14,7 +14,6 @@ import com.yahoo.tensor.serialization.TypedBinaryFormat; import static com.yahoo.searchlib.rankingexpression.Reference.wrapInRankingExpression; import java.nio.charset.StandardCharsets; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -150,7 +149,7 @@ public class FeatureData implements Inspectable, JsonProducer { /** Returns the names of the features available in this */ public Set<String> featureNames() { - if (this == empty) return Collections.emptySet(); + if (this == empty) return Set.of(); if (featureNames != null) return featureNames; featureNames = new HashSet<>(); diff --git a/container-search/src/main/java/com/yahoo/search/result/Hit.java b/container-search/src/main/java/com/yahoo/search/result/Hit.java index d81880cc548..4d3b8bb0884 100644 --- a/container-search/src/main/java/com/yahoo/search/result/Hit.java +++ b/container-search/src/main/java/com/yahoo/search/result/Hit.java @@ -333,6 +333,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi */ public void setFillable() { if (filled == null) { + //TODO Should have used Set.of(), but it checks that contains is not called with null filled = Collections.emptySet(); unmodifiableFilled = filled; } @@ -347,6 +348,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi */ public void setFilled(String summaryClass) { if (filled == null || filled.isEmpty()) { + //TODO Should have used Set.of(), but it checks that contains is not called with null filled = Collections.singleton(summaryClass); unmodifiableFilled = filled; } else if (filled.size() == 1) { @@ -483,7 +485,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi private Map<String, Object> getUnmodifiableFieldMap() { if (unmodifiableFieldMap == null) { if (fields == null) { - return Collections.emptyMap(); + return Map.of(); } else { unmodifiableFieldMap = Collections.unmodifiableMap(fields); } @@ -574,12 +576,12 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi /** Attach some data to this hit for this searcher */ public void setSearcherSpecificMetaData(Searcher searcher, Object data) { if (searcherSpecificMetaData == null) { - searcherSpecificMetaData = Collections.singletonMap(searcher, data); + if (data != null) + searcherSpecificMetaData = Map.of(searcher, data); } else { if (searcherSpecificMetaData.size() == 1) { - Object tmp = searcherSpecificMetaData.get(searcher); - if (tmp != null) { - searcherSpecificMetaData = Collections.singletonMap(searcher, data); + if (searcherSpecificMetaData.containsKey(searcher)) { + searcherSpecificMetaData = (data != null) ? Map.of(searcher, data) : null; } else { searcherSpecificMetaData = new TreeMap<>(searcherSpecificMetaData); searcherSpecificMetaData.put(searcher, data); diff --git a/container-search/src/main/java/com/yahoo/search/result/HitGroup.java b/container-search/src/main/java/com/yahoo/search/result/HitGroup.java index 51c0caf38a9..be31b91a304 100644 --- a/container-search/src/main/java/com/yahoo/search/result/HitGroup.java +++ b/container-search/src/main/java/com/yahoo/search/result/HitGroup.java @@ -718,6 +718,7 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< if (hitFilled.isEmpty()) { filled = null; } else if (hitFilled.size() == 1) { + //TODO Avoid needing set that allows null .... filled = Collections.singleton(hitFilled.iterator().next()); } else { filled = new HashSet<>(hitFilled); @@ -799,6 +800,7 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< analyzeHit(hit); Set<String> hitFilled = hit.getFilled(); if (hitFilled != null) { + //TODO Avoid needing set that allows null .... filled = (hitFilled.size() == 1) ? Collections.singleton(hitFilled.iterator().next()) : hitFilled.isEmpty() ? null : new HashSet<>(hitFilled); diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/SearchChain.java b/container-search/src/main/java/com/yahoo/search/searchchain/SearchChain.java index 27d7430a0d9..9698735fb52 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/SearchChain.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/SearchChain.java @@ -6,7 +6,6 @@ import com.yahoo.component.chain.Chain; import com.yahoo.component.chain.Phase; import com.yahoo.search.Searcher; -import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -33,7 +32,7 @@ public class SearchChain extends Chain<Searcher> { } public SearchChain(ComponentId id, Searcher... searchers) { - this(id, Arrays.asList(searchers)); + this(id, List.of(searchers)); } public SearchChain(ComponentId id, Collection<Searcher> searchers) { diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java index f21ea506fde..69a1f8ec6cb 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java @@ -11,7 +11,6 @@ import com.yahoo.search.searchchain.model.federation.FederationSearcherModel; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; @@ -61,7 +60,7 @@ public class VespaSearchers { private static FederationSearcherModel federationSearcherModel() { return new FederationSearcherModel(new ComponentSpecification("federation"), Dependencies.emptyDependencies(), - Collections.emptyList(), + List.of(), true); } diff --git a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java index 7ae02c18e7a..e66cac5766c 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java +++ b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java @@ -913,7 +913,7 @@ public class YqlParser implements Parser { GroupingOperation groupingOperation = GroupingOperation.fromString(groupingAst.getArgument(0)); VespaGroupingStep groupingStep = new VespaGroupingStep(groupingOperation); List<Object> continuations = getAnnotation(groupingAst, "continuations", List.class, - Collections.emptyList(), "grouping continuations"); + List.of(), "grouping continuations"); for (Object continuation : continuations) { groupingStep.continuations().add(Continuation.fromString(dereference(continuation))); @@ -1614,7 +1614,7 @@ public class YqlParser implements Parser { { Item leaf = (Item) out; Map<?, ?> itemAnnotations = getAnnotation(ast, ANNOTATIONS, - Map.class, Collections.emptyMap(), "item annotation map"); + Map.class, Map.of(), "item annotation map"); for (Map.Entry<?, ?> entry : itemAnnotations.entrySet()) { Preconditions.checkArgument(entry.getKey() instanceof String, "Expected String annotation key, got %s.", entry.getKey().getClass()); diff --git a/container-search/src/main/java/com/yahoo/text/interpretation/Annotations.java b/container-search/src/main/java/com/yahoo/text/interpretation/Annotations.java index 561d2bf34d0..c957432a957 100644 --- a/container-search/src/main/java/com/yahoo/text/interpretation/Annotations.java +++ b/container-search/src/main/java/com/yahoo/text/interpretation/Annotations.java @@ -1,7 +1,6 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.text.interpretation; -import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -28,7 +27,7 @@ public class Annotations { public Map<String,Object> getMap() { if (annotations == null) { - return Collections.emptyMap(); + return Map.of(); } else { return annotations; } diff --git a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/QueryEncoder.java b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/QueryEncoder.java index 112c3669133..c0ded6a4c39 100644 --- a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/QueryEncoder.java +++ b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/QueryEncoder.java @@ -8,7 +8,6 @@ import com.yahoo.search.Query; import com.yahoo.search.dispatch.rpc.ProtobufSerialization; import java.nio.ByteBuffer; -import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -68,10 +67,10 @@ class QueryEncoder { return cacheSettingMap; } if (query.getGroupingSessionCache()) - return Collections.singletonMap("grouping", true); + return Map.of("grouping", true); if (query.getRanking().getQueryCache()) - return Collections.singletonMap("query", true); - return Collections.emptyMap(); + return Map.of("query", true); + return Map.of(); } private static Map<String, String> createModelMap(Query query) { diff --git a/container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java b/container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java index 150a2a5d78a..ebe4ccdd2ba 100644 --- a/container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java +++ b/container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java @@ -8,8 +8,6 @@ import org.osgi.framework.Bundle; import java.util.Collection; import java.util.List; -import static java.util.Collections.emptyList; - /** * @author gjoranv */ @@ -22,7 +20,7 @@ public class MockOsgiWrapper implements OsgiWrapper { @Override public List<Bundle> getCurrentBundles() { - return emptyList(); + return List.of(); } @Override @@ -32,7 +30,7 @@ public class MockOsgiWrapper implements OsgiWrapper { @Override public List<Bundle> install(String absolutePath) { - return emptyList(); + return List.of(); } @Override diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java index 58427bee30a..3cefeeabdcf 100644 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java @@ -20,7 +20,6 @@ import com.yahoo.search.schema.Schema; import com.yahoo.search.schema.SchemaInfo; import org.junit.jupiter.api.Test; -import java.util.Collections; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -98,7 +97,7 @@ public class IndexedBackendTestCase { var backend = new IndexedBackend(new ClusterParams(CLUSTER_PARAMS.getSearcherName(), CLUSTER_PARAMS.getServerId(), CLUSTER_PARAMS.getDefaultSummary(), CLUSTER_PARAMS.getDocumentdbInfoConfig(), new SchemaInfo(List.of(schema.build()), List.of())), - MockDispatcher.create(Collections.singletonList(new Node(CLUSTER, 0, "host0", 0)))); + MockDispatcher.create(List.of(new Node(CLUSTER, 0, "host0", 0)))); Query q = new Query("?query=foo"); Result result = doSearch(backend, q, 0, 10); assertFalse(backend.summaryNeedsQuery(q)); diff --git a/container-search/src/test/java/com/yahoo/prelude/query/ItemsCommonStuffTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/ItemsCommonStuffTestCase.java index f8fe0c92020..d2d5d124297 100644 --- a/container-search/src/test/java/com/yahoo/prelude/query/ItemsCommonStuffTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/query/ItemsCommonStuffTestCase.java @@ -4,7 +4,7 @@ package com.yahoo.prelude.query; import static org.junit.jupiter.api.Assertions.*; import java.nio.ByteBuffer; -import java.util.Arrays; +import java.util.List; import java.util.ListIterator; import java.util.NoSuchElementException; import java.util.regex.PatternSyntaxException; @@ -211,7 +211,7 @@ public class ItemsCommonStuffTestCase { w.setConnectivity(v, 1.0); String expected = "puppy"; String expected2 = "kvalp"; - EquivItem e = new EquivItem(w, Arrays.asList(expected, expected2)); + EquivItem e = new EquivItem(w, List.of(expected, expected2)); assertEquals(1.0, e.getConnectivity(), 1e-9); assertSame(v, e.getConnectedItem()); assertEquals(expected, ((WordItem) e.getItem(1)).getWord()); diff --git a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java index fbede4613da..0b12cf99396 100644 --- a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java @@ -13,8 +13,8 @@ import com.yahoo.prelude.query.parser.Tokenizer; import org.junit.jupiter.api.Test; import java.util.ArrayList; -import java.util.Collections; import java.util.List; +import java.util.Set; import static com.yahoo.prelude.query.parser.Token.Kind.COLON; import static com.yahoo.prelude.query.parser.Token.Kind.COMMA; @@ -283,7 +283,7 @@ public class TokenizerTestCase { sd.addIndex(index2); IndexFacts facts = new IndexFacts(new IndexModel(sd)); - IndexFacts.Session session = facts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session session = facts.newSession(Set.of(), Set.of()); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:/,%#%&+-+ ) testexact2:ho_/&%&/()/aa*::*& b:c", "default", session); // tokenizer.print(); @@ -328,7 +328,7 @@ public class TokenizerTestCase { IndexFacts facts = new IndexFacts(new IndexModel(sd)); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); - IndexFacts.Session session = facts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session session = facts.newSession(Set.of(), Set.of()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:/,%#%&+-+ ) testexact2:ho_/&%&/()/aa*::*&", session); assertEquals(new Token(WORD, "normal"), tokens.get(0)); assertEquals(new Token(SPACE, " "), tokens.get(1)); @@ -365,7 +365,7 @@ public class TokenizerTestCase { IndexFacts facts = new IndexFacts(new IndexModel(sd)); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); - IndexFacts.Session session = facts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session session = facts.newSession(Set.of(), Set.of()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:/,%#%&+-+ ) testexact2:ho_/&%&/()/aa*::*", session); assertEquals(new Token(WORD, "normal"), tokens.get(0)); assertEquals(new Token(SPACE, " "), tokens.get(1)); @@ -402,7 +402,7 @@ public class TokenizerTestCase { IndexFacts facts = new IndexFacts(new IndexModel(sd)); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); - IndexFacts.Session session = facts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session session = facts.newSession(Set.of(), Set.of()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:!/%#%&+-+ ) testexact2:ho_/&%&/()/aa*::*&b:", session); assertEquals(new Token(WORD, "normal"), tokens.get(0)); assertEquals(new Token(SPACE, " "), tokens.get(1)); @@ -439,7 +439,7 @@ public class TokenizerTestCase { sd.addIndex(index2); IndexFacts indexFacts = new IndexFacts(new IndexModel(sd)); - IndexFacts.Session facts = indexFacts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session facts = indexFacts.newSession(Set.of(), Set.of()); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:foo) testexact2:bar", facts); diff --git a/container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java index f5dc598485a..475b8ddc02a 100644 --- a/container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java @@ -5,9 +5,9 @@ import java.io.BufferedReader; import java.io.FileReader; import java.nio.ByteBuffer; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import com.yahoo.prelude.query.Item; @@ -29,7 +29,7 @@ public class TextualQueryRepresentationTestCase { example; } - private class MockItem extends Item { + private static class MockItem extends Item { private final String name; @Override @@ -71,7 +71,7 @@ public class TextualQueryRepresentationTestCase { Map<Integer, Object> exampleMap = new HashMap<>(); exampleMap.put(1, "one"); exampleMap.put(2, "two"); - exampleMap.put(3, Arrays.asList('x', 'y', 'z')); + exampleMap.put(3, List.of('x', 'y', 'z')); discloser.addProperty("01", null); discloser.addProperty("02", "a string."); @@ -79,9 +79,9 @@ public class TextualQueryRepresentationTestCase { discloser.addProperty("04", true); discloser.addProperty("05", ExampleEnum.example); discloser.addProperty("06", new int[]{1, 2, 3}); - discloser.addProperty("07", Arrays.asList('x', 'y', 'z')); + discloser.addProperty("07", List.of('x', 'y', 'z')); discloser.addProperty("08", new ArrayList()); - discloser.addProperty("09", new HashSet(Arrays.asList(1, 2, 3))); + discloser.addProperty("09", new HashSet(List.of(1, 2, 3))); discloser.addProperty("10", exampleMap); discloser.setValue("example-value: \"12\""); diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java index 4ce1cd5a10d..4b7c7e592cf 100644 --- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java @@ -1,7 +1,6 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.prelude.searcher.test; -import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -286,7 +285,7 @@ public class BlendingSearcherTestCase { assertEquals(1, cr.getConcreteHitCount()); com.yahoo.search.result.ErrorHit errorHit = cr.hits().getErrorHit(); Iterator errorIterator = errorHit.errorIterator(); - List<String> errorList = Arrays.asList("Source 'a': No backends in service. Try later", + List<String> errorList = List.of("Source 'a': No backends in service. Try later", "Source 'b': 2: Request too large"); String a = errorIterator.next().toString(); assertTrue(errorList.contains(a), a); diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java index 8ced7d3895e..152056dfb72 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java @@ -28,11 +28,10 @@ import java.io.IOException; import java.time.Duration; import java.time.Instant; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Optional; +import java.util.Set; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.stream.StreamSupport; @@ -203,10 +202,10 @@ public class InterleavedSearchInvokerTest { } private static final double DELTA = 0.000000000001; - private static final List<Double> A5 = Arrays.asList(11.0,8.5,7.5,3.0,2.0); - private static final List<Double> B5 = Arrays.asList(9.0,8.0,7.0,6.0,1.0); - private static final List<Double> A5Aux = Arrays.asList(-1.0,11.0,8.5,7.5,-7.0,3.0,2.0); - private static final List<Double> B5Aux = Arrays.asList(9.0,8.0,-3.0,7.0,6.0,1.0, -1.0); + private static final List<Double> A5 = List.of(11.0,8.5,7.5,3.0,2.0); + private static final List<Double> B5 = List.of(9.0,8.0,7.0,6.0,1.0); + private static final List<Double> A5Aux = List.of(-1.0,11.0,8.5,7.5,-7.0,3.0,2.0); + private static final List<Double> B5Aux = List.of(9.0,8.0,-3.0,7.0,6.0,1.0, -1.0); private void validateThatTopKProbabilityOverrideTakesEffect(Double topKProbability, int expectedK, Group group) throws IOException { try (InterleavedSearchInvoker invoker = createInterLeavedTestInvoker(A5, B5, group)) { @@ -356,7 +355,7 @@ public class InterleavedSearchInvokerTest { .addAggregationResult(new MinAggregationResult().setMin(new IntegerResultNode(6)).setTag(3)))); invokers.add(new MockInvoker(0).setHits(List.of(new GroupingListHit(List.of(grouping2))))); - try (InterleavedSearchInvoker invoker = new InterleavedSearchInvoker(Timer.monotonic, invokers, hitEstimator, dispatchConfig, new Group(0, List.of()), Collections.emptySet())) { + try (InterleavedSearchInvoker invoker = new InterleavedSearchInvoker(Timer.monotonic, invokers, hitEstimator, dispatchConfig, new Group(0, List.of()), Set.of())) { invoker.responseAvailable(invokers.get(0)); invoker.responseAvailable(invokers.get(1)); Result result = invoker.search(query); @@ -373,7 +372,7 @@ public class InterleavedSearchInvokerTest { List<SearchInvoker> invokers = new ArrayList<>(); invokers.add(createInvoker(a, 0)); invokers.add(createInvoker(b, 1)); - InterleavedSearchInvoker invoker = new InterleavedSearchInvoker(Timer.monotonic, invokers, hitEstimator, dispatchConfig, group, Collections.emptySet()); + InterleavedSearchInvoker invoker = new InterleavedSearchInvoker(Timer.monotonic, invokers, hitEstimator, dispatchConfig, group, Set.of()); invoker.responseAvailable(invokers.get(0)); invoker.responseAvailable(invokers.get(1)); return invoker; diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java index 8b6b3c4d13a..3053fe7d730 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java @@ -10,7 +10,6 @@ import org.junit.jupiter.api.Test; import java.time.Duration; import java.time.Instant; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -238,7 +237,7 @@ public class LoadBalancerTest { } private GroupStatus newGroupStatus(int id) { - Group dummyGroup = new Group(id, Collections.emptyList()) { + Group dummyGroup = new Group(id, List.of()) { @Override public boolean hasSufficientCoverage() { return true; diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java index be8f99a4ef4..6459d67480d 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java @@ -14,7 +14,6 @@ import com.yahoo.search.query.profile.compiled.CompiledQueryProfileRegistry; import com.yahoo.search.query.profile.config.QueryProfileXMLReader; import org.junit.jupiter.api.Test; -import java.util.Collections; import java.util.List; import java.util.Set; @@ -66,7 +65,7 @@ public class ProtobufSerializationTest { builder.setTimeout(0); var hit = new FastHit(); hit.setGlobalId(new GlobalId(IdString.createIdString("id:ns:type::id")).getRawId()); - var bytes = ProtobufSerialization.serializeDocsumRequest(builder, Collections.singletonList(hit)); + var bytes = ProtobufSerialization.serializeDocsumRequest(builder, List.of(hit)); assertEquals(56, bytes.length); } diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java index 5223eb0b06b..1b36c2b8151 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java @@ -12,7 +12,6 @@ import com.yahoo.search.result.ErrorMessage; import org.junit.jupiter.api.Test; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -46,7 +45,7 @@ public class SearchClusterTest { List<AtomicInteger> pingCounts; State(String clusterId, int nodesPergroup, String ... nodeNames) { - this(clusterId, nodesPergroup, Arrays.asList(nodeNames)); + this(clusterId, nodesPergroup, List.of(nodeNames)); } State(String clusterId, int nodesPerGroup, List<String> nodeNames) { diff --git a/container-search/src/test/java/com/yahoo/search/federation/FederationSearcherTest.java b/container-search/src/test/java/com/yahoo/search/federation/FederationSearcherTest.java index 4d3e3c18e0b..1ac6dcbe1b6 100644 --- a/container-search/src/test/java/com/yahoo/search/federation/FederationSearcherTest.java +++ b/container-search/src/test/java/com/yahoo/search/federation/FederationSearcherTest.java @@ -23,7 +23,6 @@ import com.yahoo.search.searchchain.model.federation.FederationOptions; import org.junit.jupiter.api.Test; -import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -339,7 +338,7 @@ public class FederationSearcherTest { @Override public Collection<FederationTarget<String>> getTargets(Query query, ChainRegistry<Searcher> searcherChainRegistry) { - return Arrays.asList(createTarget(1), createTarget(2)); + return List.of(createTarget(1), createTarget(2)); } private FederationTarget<String> createTarget(int number) { diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java index 76a1a71f6ed..540ecfa6e12 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java @@ -9,7 +9,6 @@ import com.yahoo.search.searchchain.Execution; import org.junit.jupiter.api.Test; -import java.util.Collections; import java.util.List; import java.util.TimeZone; @@ -22,12 +21,12 @@ public class GroupingQueryParserTestCase { @Test void requireThatNoRequestIsSkipped() { - assertEquals(Collections.emptyList(), executeQuery(null, null, null)); + assertEquals(List.of(), executeQuery(null, null, null)); } @Test void requireThatEmptyRequestIsSkipped() { - assertEquals(Collections.emptyList(), executeQuery("", null, null)); + assertEquals(List.of(), executeQuery("", null, null)); } @Test diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java index 97eed95946f..3af2614b6fb 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java @@ -11,8 +11,6 @@ import org.junit.jupiter.api.Test; import java.lang.reflect.Field; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -34,7 +32,7 @@ public class GroupingRequestTestCase { } }; req.continuations().add(foo); - assertEquals(Arrays.asList(foo), req.continuations()); + assertEquals(List.of(foo), req.continuations()); req.continuations().clear(); assertTrue(req.continuations().isEmpty()); @@ -121,7 +119,7 @@ public class GroupingRequestTestCase { @Test void requireThatGetRequestsReturnsAllRequests() { Query query = new Query(); - assertEquals(Collections.emptyList(), query.getSelect().getGrouping()); + assertEquals(List.of(), query.getSelect().getGrouping()); GroupingRequest foo = GroupingRequest.newInstance(query); assertEquals(List.of(foo), query.getSelect().getGrouping()); diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/BucketResolverTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/request/BucketResolverTestCase.java index 800faa4c0d1..19fd4234cfc 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/request/BucketResolverTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/request/BucketResolverTestCase.java @@ -4,7 +4,6 @@ package com.yahoo.search.grouping.request; import org.junit.jupiter.api.Test; import java.text.ChoiceFormat; -import java.util.Arrays; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -72,30 +71,30 @@ public class BucketResolverTestCase { @Test void testBucketType() { - checkPushFail(Arrays.asList((ConstantValue) new StringValue("a"), new LongValue(1L)), + checkPushFail(List.of((ConstantValue) new StringValue("a"), new LongValue(1L)), "Bucket type mismatch, expected 'StringValue' got 'LongValue'."); - checkPushFail(Arrays.asList((ConstantValue) new StringValue("a"), new DoubleValue(1.0)), + checkPushFail(List.of((ConstantValue) new StringValue("a"), new DoubleValue(1.0)), "Bucket type mismatch, expected 'StringValue' got 'DoubleValue'."); - checkPushFail(Arrays.asList((ConstantValue) new LongValue(1L), new StringValue("a")), + checkPushFail(List.of((ConstantValue) new LongValue(1L), new StringValue("a")), "Bucket type mismatch, expected 'LongValue' got 'StringValue'."); - checkPushFail(Arrays.asList((ConstantValue) new LongValue(1L), new DoubleValue(1.0)), + checkPushFail(List.of((ConstantValue) new LongValue(1L), new DoubleValue(1.0)), "Bucket type mismatch, expected 'LongValue' got 'DoubleValue'."); - checkPushFail(Arrays.asList((ConstantValue) new DoubleValue(1.0), new StringValue("a")), + checkPushFail(List.of((ConstantValue) new DoubleValue(1.0), new StringValue("a")), "Bucket type mismatch, expected 'DoubleValue' got 'StringValue'."); - checkPushFail(Arrays.asList((ConstantValue) new DoubleValue(1.0), new LongValue(1L)), + checkPushFail(List.of((ConstantValue) new DoubleValue(1.0), new LongValue(1L)), "Bucket type mismatch, expected 'DoubleValue' got 'LongValue'."); - checkPushFail(Arrays.asList((ConstantValue) new InfiniteValue(new Infinite(true)), new InfiniteValue(new Infinite(false))), + checkPushFail(List.of((ConstantValue) new InfiniteValue(new Infinite(true)), new InfiniteValue(new Infinite(false))), "Bucket type mismatch, cannot both be infinity."); } @Test void testBucketOrder() { - checkPushFail(Arrays.asList((ConstantValue) new LongValue(2L), new LongValue(1L)), + checkPushFail(List.of((ConstantValue) new LongValue(2L), new LongValue(1L)), "Bucket to-value can not be less than from-value."); - checkPushFail(Arrays.asList((ConstantValue) new DoubleValue(2.0), new DoubleValue(1.0)), + checkPushFail(List.of((ConstantValue) new DoubleValue(2.0), new DoubleValue(1.0)), "Bucket to-value can not be less than from-value."); - checkPushFail(Arrays.asList((ConstantValue) new StringValue("b"), new StringValue("a")), + checkPushFail(List.of((ConstantValue) new StringValue("b"), new StringValue("a")), "Bucket to-value can not be less than from-value."); } diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/MathFunctionsTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/request/MathFunctionsTestCase.java index 85f19e0b19a..daed437e93f 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/request/MathFunctionsTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/request/MathFunctionsTestCase.java @@ -9,6 +9,7 @@ import static org.junit.jupiter.api.Assertions.*; * @author Einar M R Rosenvinge */ public class MathFunctionsTestCase { + private static final DoubleValue ZERO = new DoubleValue(0.0); @Test void testMathFunctions() { @@ -37,27 +38,27 @@ public class MathFunctionsTestCase { assertSame(MathFunctions.Function.create(19), MathFunctions.Function.HYPOT); assertSame(MathFunctions.Function.create(20), MathFunctions.Function.FLOOR); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.EXP, null, null) instanceof MathExpFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.POW, null, null) instanceof MathPowFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG, null, null) instanceof MathLogFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG1P, null, null) instanceof MathLog1pFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG10, null, null) instanceof MathLog10Function); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.SIN, null, null) instanceof MathSinFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.ASIN, null, null) instanceof MathASinFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.COS, null, null) instanceof MathCosFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.ACOS, null, null) instanceof MathACosFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.TAN, null, null) instanceof MathTanFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.ATAN, null, null) instanceof MathATanFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.SQRT, null, null) instanceof MathSqrtFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.SINH, null, null) instanceof MathSinHFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.ASINH, null, null) instanceof MathASinHFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.COSH, null, null) instanceof MathCosHFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.ACOSH, null, null) instanceof MathACosHFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.TANH, null, null) instanceof MathTanHFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.ATANH, null, null) instanceof MathATanHFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.CBRT, null, null) instanceof MathCbrtFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.HYPOT, null, null) instanceof MathHypotFunction); - assertTrue(MathFunctions.newInstance(MathFunctions.Function.FLOOR, null, null) instanceof MathFloorFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.EXP, ZERO, ZERO) instanceof MathExpFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.POW, ZERO, ZERO) instanceof MathPowFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG, ZERO, ZERO) instanceof MathLogFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG1P, ZERO, ZERO) instanceof MathLog1pFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG10, ZERO, ZERO) instanceof MathLog10Function); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.SIN, ZERO, ZERO) instanceof MathSinFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.ASIN, ZERO, ZERO) instanceof MathASinFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.COS, ZERO, ZERO) instanceof MathCosFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.ACOS, ZERO, ZERO) instanceof MathACosFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.TAN, ZERO, ZERO) instanceof MathTanFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.ATAN, ZERO, ZERO) instanceof MathATanFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.SQRT, ZERO, ZERO) instanceof MathSqrtFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.SINH, ZERO, ZERO) instanceof MathSinHFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.ASINH, ZERO, ZERO) instanceof MathASinHFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.COSH, ZERO, ZERO) instanceof MathCosHFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.ACOSH, ZERO, ZERO) instanceof MathACosHFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.TANH, ZERO, ZERO) instanceof MathTanHFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.ATANH, ZERO, ZERO) instanceof MathATanHFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.CBRT, ZERO, ZERO) instanceof MathCbrtFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.HYPOT, ZERO, ZERO) instanceof MathHypotFunction); + assertTrue(MathFunctions.newInstance(MathFunctions.Function.FLOOR, ZERO, ZERO) instanceof MathFloorFunction); } } diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/RawBufferTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/request/RawBufferTestCase.java index babeebdf8c1..71ffc5e928d 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/request/RawBufferTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/request/RawBufferTestCase.java @@ -4,7 +4,6 @@ package com.yahoo.search.grouping.request; import org.junit.jupiter.api.Test; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -42,8 +41,8 @@ public class RawBufferTestCase { @Test void requireThatToStringWorks() { - assertToString(Arrays.asList("a".getBytes()[0], "b".getBytes()[0]), "{97,98}"); - assertToString(Arrays.asList((byte) 2, (byte) 6), "{2,6}"); + assertToString(List.of("a".getBytes()[0], "b".getBytes()[0]), "{97,98}"); + assertToString(List.of((byte) 2, (byte) 6), "{2,6}"); } public void assertToString(List<Byte> data, String expected) { diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/RequestTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/request/RequestTestCase.java index 0b6ab49867b..24049264d4b 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/request/RequestTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/request/RequestTestCase.java @@ -3,7 +3,7 @@ package com.yahoo.search.grouping.request; import org.junit.jupiter.api.Test; -import java.util.Arrays; +import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -17,7 +17,7 @@ public class RequestTestCase { GroupingOperation op = new AllOperation() .setGroupBy(new AttributeValue("foo")) .addOrderBy(new CountAggregator()) - .addChildren(Arrays.asList(new AllOperation(), new EachOperation())) + .addChildren(List.of(new AllOperation(), new EachOperation())) .addChild(new EachOperation() .addOutput(new CountAggregator()) .addOutput(new MinAggregator(new AttributeValue("bar"))) diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java index 2471acfb115..4d03c4aff95 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java @@ -4,7 +4,6 @@ package com.yahoo.search.grouping.request.parser; import com.yahoo.search.grouping.request.GroupingOperation; import org.junit.jupiter.api.Test; -import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -51,7 +50,7 @@ public class GroupingParserBenchmarkTest { } private static List<String> getInputs() { - return Arrays.asList( + return List.of( " all(group(foo)each(output(max(bar))))", "all( group(foo)each(output(max(bar))))", "all(group( foo)each(output(max(bar))))", diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java index e78ebfbd5af..01963e94546 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java @@ -13,7 +13,6 @@ import com.yahoo.search.yql.YqlParser; import org.junit.jupiter.api.Test; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -29,7 +28,7 @@ public class GroupingParserTestCase { @Test void requireThatMathAllowsWhitespace() { - for (String op : Arrays.asList("+", " +", " + ", "+ ", + for (String op : List.of("+", " +", " + ", "+ ", "-", " -", " - ", "- ", "*", " *", " * ", "* ", "/", " /", " / ", "/ ", @@ -64,7 +63,7 @@ public class GroupingParserTestCase { @Test void requireThatTokenImagesAreNotReservedWords() { - List<String> images = Arrays.asList("acos", + List<String> images = List.of("acos", "acosh", "accuracy", "add", @@ -489,7 +488,7 @@ public class GroupingParserTestCase { @Test void testMisc() { - for (String fnc : Arrays.asList("time.date", + for (String fnc : List.of("time.date", "time.dayofmonth", "time.dayofweek", "time.dayofyear", @@ -634,7 +633,7 @@ public class GroupingParserTestCase { actual.add(operation.toString()); } if (expectedOperations.length > 0) { - assertEquals(Arrays.asList(expectedOperations), actual); + assertEquals(List.of(expectedOperations), actual); } // make sure that operation does not mutate through toString() -> fromString() @@ -656,7 +655,7 @@ public class GroupingParserTestCase { actual.add(step.getOperation().toString()); } if (expectedOperations.length > 0) { - assertEquals(Arrays.asList(expectedOperations), actual); + assertEquals(List.of(expectedOperations), actual); } } diff --git a/container-search/src/test/java/com/yahoo/search/grouping/result/FlatteningSearcherTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/result/FlatteningSearcherTestCase.java index 9e8fcb0ea21..c17bc985aef 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/result/FlatteningSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/result/FlatteningSearcherTestCase.java @@ -28,7 +28,6 @@ import com.yahoo.searchlib.aggregation.hll.SparseSketch; import com.yahoo.searchlib.expression.StringResultNode; import org.junit.jupiter.api.Test; -import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.Queue; @@ -105,7 +104,7 @@ public class FlatteningSearcherTestCase { } private static Execution newExecution(Searcher... searchers) { - return new Execution(new SearchChain(new ComponentId("foo"), Arrays.asList(searchers)), + return new Execution(new SearchChain(new ComponentId("foo"), List.of(searchers)), Execution.Context.createContextStub()); } diff --git a/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingExecutorTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingExecutorTestCase.java index ef2ef9724a9..780066d0afe 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingExecutorTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingExecutorTestCase.java @@ -35,7 +35,6 @@ import com.yahoo.searchlib.expression.StringResultNode; import org.junit.jupiter.api.Test; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; @@ -180,7 +179,7 @@ public class GroupingExecutorTestCase { .addChild(new com.yahoo.searchlib.aggregation.Group().setId(new StringResultNode("common")).addAggregationResult(new MinAggregationResult().setMin(new IntegerResultNode(6)).setTag(3))) ); Execution exec = newExecution(new GroupingExecutor(), - new ResultProvider(Arrays.asList( + new ResultProvider(List.of( new GroupingListHit(List.of(grpA), null, query), new GroupingListHit(List.of(grpB), null, query)))); Group grp = req.getResultGroup(exec.search(query)); @@ -213,7 +212,7 @@ public class GroupingExecutorTestCase { .addChild(new com.yahoo.searchlib.aggregation.Group().setId(new StringResultNode("unexpected")).addAggregationResult(new MaxAggregationResult().setMax(new IntegerResultNode(96)).setTag(3))) ); Execution exec = newExecution(new GroupingExecutor(), - new ResultProvider(Arrays.asList( + new ResultProvider(List.of( new GroupingListHit(List.of(grpExpected), null, query), new GroupingListHit(List.of(grpUnexpected), null, query)))); Group grp = req.getResultGroup(exec.search(query)); @@ -244,7 +243,7 @@ public class GroupingExecutorTestCase { .addAggregationResult(new HitsAggregationResult(1, "bar").addHit(new com.yahoo.searchlib.aggregation.FS4Hit())) )); Execution exec = newExecution(new GroupingExecutor(), - new ResultProvider(Arrays.asList( + new ResultProvider(List.of( new GroupingListHit(List.of(grp0), null, query), new GroupingListHit(List.of(grp1), null, query))), new FillRequestThrower()); @@ -284,7 +283,7 @@ public class GroupingExecutorTestCase { new HitsAggregationResult(1, "bar") .addHit(new com.yahoo.searchlib.aggregation.FS4Hit())))); Execution exec = newExecution(new GroupingExecutor(), - new ResultProvider(Arrays.asList( + new ResultProvider(List.of( new GroupingListHit(List.of(grp0), null, query), new GroupingListHit(List.of(grp1), null, query))), new FillErrorProvider()); @@ -310,7 +309,7 @@ public class GroupingExecutorTestCase { .addAggregationResult(new CountAggregationResult(2)) .addOrderBy(new AggregationRefNode(0), true))); Result res = newExecution(new GroupingExecutor(), - new ResultProvider(Arrays.asList( + new ResultProvider(List.of( new GroupingListHit(List.of(grp), null, query), new GroupingListHit(List.of(grp), null, query)))).search(query); @@ -339,7 +338,7 @@ public class GroupingExecutorTestCase { ErrorProvider err = new ErrorProvider(1); Execution exec = newExecution(new GroupingExecutor(), err, - new ResultProvider(Arrays.asList( + new ResultProvider(List.of( new GroupingListHit(List.of(grp0), null, query), new GroupingListHit(List.of(grp1), null, query)))); Result res = exec.search(query); @@ -350,7 +349,7 @@ public class GroupingExecutorTestCase { err = new ErrorProvider(0); exec = newExecution(new GroupingExecutor(), err, - new ResultProvider(Arrays.asList( + new ResultProvider(List.of( new GroupingListHit(List.of(grp0), null, query), new GroupingListHit(List.of(grp1), null, query)))); res = exec.search(query); @@ -389,9 +388,9 @@ public class GroupingExecutorTestCase { )); SummaryMapper sm = new SummaryMapper(); Execution exec = newExecution(new GroupingExecutor(), - new ResultProvider(Arrays.asList( - new GroupingListHit(Arrays.asList(pass0A, pass0B), null, query), - new GroupingListHit(Arrays.asList(pass1A, pass1B), null, query))), + new ResultProvider(List.of( + new GroupingListHit(List.of(pass0A, pass0B), null, query), + new GroupingListHit(List.of(pass1A, pass1B), null, query))), sm); exec.fill(exec.search(query), "default"); assertEquals(2, sm.hitsBySummary.size()); @@ -433,7 +432,7 @@ public class GroupingExecutorTestCase { new HitsAggregationResult(1, ExpressionConverter.DEFAULT_SUMMARY_NAME) .addHit(new com.yahoo.searchlib.aggregation.FS4Hit())))); Execution exec = newExecution(new GroupingExecutor(), - new ResultProvider(Arrays.asList( + new ResultProvider(List.of( new GroupingListHit(List.of(pass0), null, query), new GroupingListHit(List.of(pass1), null, query)))); Result res = exec.search(query); @@ -468,7 +467,7 @@ public class GroupingExecutorTestCase { QueryMapper qm = new QueryMapper(); Execution exec = newExecution(new GroupingExecutor(), - new ResultProvider(Arrays.asList(pass0, pass1)), + new ResultProvider(List.of(pass0, pass1)), qm); exec.fill(exec.search(queryA)); assertEquals(1, qm.hitsByQuery.size()); @@ -607,7 +606,7 @@ public class GroupingExecutorTestCase { } private static Execution newExecution(Searcher... searchers) { - return new Execution(new SearchChain(new ComponentId("foo"), Arrays.asList(searchers)), + return new Execution(new SearchChain(new ComponentId("foo"), List.of(searchers)), Execution.Context.createContextStub()); } diff --git a/container-search/src/test/java/com/yahoo/search/grouping/vespa/ResultBuilderTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/vespa/ResultBuilderTestCase.java index 6230899ec49..7e049e44f4d 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/vespa/ResultBuilderTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/vespa/ResultBuilderTestCase.java @@ -36,7 +36,6 @@ import com.yahoo.searchlib.expression.StringResultNode; import org.junit.jupiter.api.Test; -import java.util.Arrays; import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedList; @@ -916,10 +915,11 @@ public class ResultBuilderTestCase { assertOutput(test); } + private static void assertOutput(ResultTest test) { RequestBuilder reqBuilder = new RequestBuilder(REQUEST_ID); reqBuilder.setRootOperation(GroupingOperation.fromString(test.request)); - reqBuilder.addContinuations(Arrays.asList(test.continuation)); + reqBuilder.addContinuations(test.getContinuations()); reqBuilder.build(); assertEquals(reqBuilder.getRequestList().size(), test.result.size()); @@ -973,6 +973,9 @@ public class ResultBuilderTestCase { String expectedException; OutputWriter outputWriter; Continuation continuation; + List<Continuation> getContinuations() { + return continuation != null ? List.of(continuation) : List.of(); + } } private static interface OutputWriter { diff --git a/container-search/src/test/java/com/yahoo/search/pagetemplates/test/PageTemplateSearcherTestCase.java b/container-search/src/test/java/com/yahoo/search/pagetemplates/test/PageTemplateSearcherTestCase.java index 1869e0e4bf0..78875b5b831 100644 --- a/container-search/src/test/java/com/yahoo/search/pagetemplates/test/PageTemplateSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/pagetemplates/test/PageTemplateSearcherTestCase.java @@ -100,7 +100,7 @@ public class PageTemplateSearcherTestCase { { // Specifying two templates as a list, should override the page.id setting Query query = new Query("?query=foo&page.id=anySource&page.resolver=native.deterministic"); - query.properties().set("page.idList", Arrays.asList("oneSource", "threeSources")); + query.properties().set("page.idList", List.of("oneSource", "threeSources")); Result result = new Execution(chain, Execution.Context.createContextStub()).search(query); assertSources("source1 source2 source3", "source1 source2 source3", result); } @@ -172,11 +172,11 @@ public class PageTemplateSearcherTestCase { } private void assertSources(String expectedQuerySourceString,String expectedResultSourceString,Result result) { - Set<String> expectedQuerySources=new HashSet<>(Arrays.asList(expectedQuerySourceString.split(" "))); + Set<String> expectedQuerySources=new HashSet<>(List.of(expectedQuerySourceString.split(" "))); assertEquals(expectedQuerySources,result.getQuery().getModel().getSources()); - Set<String> expectedResultSources=new HashSet<>(Arrays.asList(expectedResultSourceString.split(" "))); - for (String sourceName : Arrays.asList("source1 source2 source3".split(" "))) { + Set<String> expectedResultSources=new HashSet<>(List.of(expectedResultSourceString.split(" "))); + for (String sourceName : List.of("source1 source2 source3".split(" "))) { if (expectedResultSources.contains(sourceName)) assertNotNull(result.hits().get(sourceName),"Result contains '" + sourceName + "'"); else @@ -189,7 +189,7 @@ public class PageTemplateSearcherTestCase { @Override public Result search(Query query,Execution execution) { Result result=new Result(query); - for (String sourceName : Arrays.asList("source1 source2 source3".split(" "))) + for (String sourceName : List.of("source1 source2 source3".split(" "))) if (query.getModel().getSources().isEmpty() || query.getModel().getSources().contains(sourceName)) result.hits().add(createSource(sourceName)); return result; diff --git a/container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java b/container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java index 20043f23256..58f1fa62fe6 100644 --- a/container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java @@ -20,7 +20,6 @@ import com.yahoo.search.searchchain.Execution; import com.yahoo.yolean.trace.TraceNode; import org.junit.jupiter.api.Test; -import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -125,7 +124,7 @@ public class QueryProfileTestCase { far.set("a.far", "a.far", null); CompiledQueryProfile cbarn = barn.compile(null); - assertSameObjects(cbarn, "a", Arrays.asList("mormor", "far", "barn")); + assertSameObjects(cbarn, "a", List.of("mormor", "far", "barn")); assertEquals("b.mor", cbarn.get("b.mor")); assertEquals("b.far", cbarn.get("b.far")); diff --git a/container-search/src/test/java/com/yahoo/search/query/properties/SubPropertiesTestCase.java b/container-search/src/test/java/com/yahoo/search/query/properties/SubPropertiesTestCase.java index 467a0b0845c..266cb4daf67 100644 --- a/container-search/src/test/java/com/yahoo/search/query/properties/SubPropertiesTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/query/properties/SubPropertiesTestCase.java @@ -4,8 +4,8 @@ package com.yahoo.search.query.properties; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; -import java.util.Arrays; import java.util.HashSet; +import java.util.List; import com.yahoo.processing.request.properties.PropertyMap; import org.junit.jupiter.api.Test; @@ -34,7 +34,7 @@ public class SubPropertiesTestCase { assertEquals("1", sub.get("e")); assertEquals(2, sub.get("f")); assertNull(sub.get("d")); - assertEquals(new HashSet<>(Arrays.asList("e", "f")), sub.listProperties("").keySet()); + assertEquals(new HashSet<>(List.of("e", "f")), sub.listProperties("").keySet()); } } diff --git a/container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java b/container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java index 42dcab41015..793a907b5d1 100644 --- a/container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java @@ -4,7 +4,6 @@ package com.yahoo.search.query.properties.test; import com.yahoo.processing.request.properties.PropertyMap; import org.junit.jupiter.api.Test; -import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -22,8 +21,8 @@ public class PropertyMapTestCase { map.set("nonclonable", new NonClonableObject()); map.set("clonableArray", new ClonableObject[]{new ClonableObject()}); map.set("nonclonableArray", new NonClonableObject[]{new NonClonableObject()}); - map.set("clonableList", Collections.singletonList(new ClonableObject())); - map.set("nonclonableList", Collections.singletonList(new NonClonableObject())); + map.set("clonableList", List.of(new ClonableObject())); + map.set("nonclonableList", List.of(new NonClonableObject())); assertNotNull(map.get("clonable")); assertNotNull(map.get("nonclonable")); diff --git a/container-search/src/test/java/com/yahoo/search/query/test/ModelTestCase.java b/container-search/src/test/java/com/yahoo/search/query/test/ModelTestCase.java index 2cd43257b12..89a62abddcc 100644 --- a/container-search/src/test/java/com/yahoo/search/query/test/ModelTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/query/test/ModelTestCase.java @@ -10,8 +10,8 @@ import org.junit.jupiter.api.Test; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.util.Arrays; import java.util.LinkedHashSet; +import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -91,8 +91,8 @@ public class ModelTestCase { Model sr = new Model(q); sr.setRestrict("music, cheese,other"); sr.setSources("cluster1"); - assertEquals(sr.getSources(), new LinkedHashSet<>(Arrays.asList(new String[]{"cluster1"}))); - assertEquals(sr.getRestrict(), new LinkedHashSet<>(Arrays.asList(new String[]{"cheese", "music", "other"}))); + assertEquals(sr.getSources(), new LinkedHashSet<>(List.of(new String[]{"cluster1"}))); + assertEquals(sr.getRestrict(), new LinkedHashSet<>(List.of(new String[]{"cheese", "music", "other"}))); } @Test diff --git a/container-search/src/test/java/com/yahoo/search/query/test/RankFeaturesTestCase.java b/container-search/src/test/java/com/yahoo/search/query/test/RankFeaturesTestCase.java index 732fdd7dcbb..7bfbeef4e23 100644 --- a/container-search/src/test/java/com/yahoo/search/query/test/RankFeaturesTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/query/test/RankFeaturesTestCase.java @@ -36,7 +36,6 @@ public class RankFeaturesTestCase { } @Test - @SuppressWarnings("deprecation") void requireThatRankFeaturesUsingDoubleAndDoubleToStringEncodeTheSameWay() { RankFeatures withDouble = new RankFeatures(new Ranking(new Query())); withDouble.put("query(myDouble)", 3.8); @@ -68,20 +67,12 @@ public class RankFeaturesTestCase { TensorType type = new TensorType.Builder().mapped("x").mapped("y").mapped("z").build(); Tensor tensor1 = Tensor.from(type, "{ {x:a, y:b, z:c}:2.0, {x:a, y:b, z:c2}:3.0 }"); Tensor tensor2 = Tensor.from(type, "{ {x:a, y:b, z:c}:5.0 }"); - assertTensorEncodingAndDecoding(type, Arrays.asList( + assertTensorEncodingAndDecoding(type, List.of( new Entry("query(tensor1)", "tensor1", tensor1), new Entry("$tensor2", "tensor2", tensor2))); } - private static class Entry { - final String key; - final String normalizedKey; - final Tensor tensor; - Entry(String key, String normalizedKey, Tensor tensor) { - this.key = key; - this.normalizedKey = normalizedKey; - this.tensor = tensor; - } + private record Entry(String key, String normalizedKey, Tensor tensor) { } private static void assertTensorEncodingAndDecoding(TensorType type, List<Entry> entries) { @@ -97,7 +88,7 @@ public class RankFeaturesTestCase { } private static void assertTensorEncodingAndDecoding(TensorType type, String key, String normalizedKey, Tensor tensor) { - assertTensorEncodingAndDecoding(type, Arrays.asList(new Entry(key, normalizedKey, tensor))); + assertTensorEncodingAndDecoding(type, List.of(new Entry(key, normalizedKey, tensor))); } private static RankProperties createRankPropertiesWithTensors(List<Entry> entries) { diff --git a/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java b/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java index 39b202daf1e..b37e1d5551b 100644 --- a/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java +++ b/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java @@ -35,7 +35,7 @@ public class GlobalPhaseRerankHitsImplTest { } } static FunEvalSpec makeConstSpec(double constValue) { - return new FunEvalSpec(() -> new EvalSum(constValue), Collections.emptyList(), Collections.emptyList()); + return new FunEvalSpec(() -> new EvalSum(constValue), List.of(), List.of()); } static FunEvalSpec makeSumSpec(List<String> fromQuery, List<String> fromMF) { List<MatchFeatureInput> mfList = new ArrayList<>(); @@ -175,15 +175,15 @@ public class GlobalPhaseRerankHitsImplTest { } @Test void partialRerankWithRescaling() { var setup = setup().rerank(2).eval(makeConstSpec(3.0)).build(); - var query = makeQuery(Collections.emptyList()); + var query = makeQuery(List.of()); var result = makeResult(query, List.of(hit("a", 3), hit("b", 4), hit("c", 5), hit("d", 6))); var expect = Expect.make(List.of(hit("a", 1), hit("b", 2), hit("c", 3), hit("d", 3))); GlobalPhaseRanker.rerankHitsImpl(setup, query, result); expect.verifyScores(result); } @Test void matchFeaturesCanBePartiallyHidden() { - var setup = setup().eval(makeSumSpec(Collections.emptyList(), List.of("public_value", "private_value"))).hide("private_value").build(); - var query = makeQuery(Collections.emptyList()); + var setup = setup().eval(makeSumSpec(List.of(), List.of("public_value", "private_value"))).hide("private_value").build(); + var query = makeQuery(List.of()); var factory = new HitFactory(List.of("public_value", "private_value")); var result = makeResult(query, List.of(factory.create("a", 1, List.of(value("public_value", 2), value("private_value", 3))), factory.create("b", 2, List.of(value("public_value", 5), value("private_value", 7))))); @@ -194,8 +194,8 @@ public class GlobalPhaseRerankHitsImplTest { verifyDoesNotHaveMF(result, "private_value"); } @Test void matchFeaturesCanBeRemoved() { - var setup = setup().eval(makeSumSpec(Collections.emptyList(), List.of("private_value"))).hide("private_value").build(); - var query = makeQuery(Collections.emptyList()); + var setup = setup().eval(makeSumSpec(List.of(), List.of("private_value"))).hide("private_value").build(); + var query = makeQuery(List.of()); var factory = new HitFactory(List.of("private_value")); var result = makeResult(query, List.of(factory.create("a", 1, List.of(value("private_value", 3))), factory.create("b", 2, List.of(value("private_value", 7))))); @@ -227,7 +227,7 @@ public class GlobalPhaseRerankHitsImplTest { verifyHasMF(result, "bar"); } @Test void queryFeaturesCanBeDefaultValues() { - var setup = setup().eval(makeSumSpec(List.of("foo", "bar"), Collections.emptyList())) + var setup = setup().eval(makeSumSpec(List.of("foo", "bar"), List.of())) .addDefault("query(bar)", Tensor.from(5.0)).build(); var query = makeQuery(List.of(value("query(foo)", 7))); var result = makeResult(query, List.of(hit("a", 1))); @@ -236,7 +236,7 @@ public class GlobalPhaseRerankHitsImplTest { expect.verifyScores(result); } @Test void withNormalizer() { - var setup = setup().eval(makeSumSpec(Collections.emptyList(), List.of("bar"))) + var setup = setup().eval(makeSumSpec(List.of(), List.of("bar"))) .addNormalizer(makeNormalizer("foo", List.of(115.0, 65.0, 55.0, 45.0, 15.0), makeSumSpec(List.of("x"), List.of("bar")))).build(); var query = makeQuery(List.of(value("query(x)", 5))); var factory = new HitFactory(List.of("bar")); diff --git a/container-search/src/test/java/com/yahoo/search/result/test/FillingTestCase.java b/container-search/src/test/java/com/yahoo/search/result/test/FillingTestCase.java index 298673a1ae7..d8f4f39c5b8 100644 --- a/container-search/src/test/java/com/yahoo/search/result/test/FillingTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/result/test/FillingTestCase.java @@ -5,7 +5,8 @@ import com.yahoo.search.result.Hit; import com.yahoo.search.result.HitGroup; import org.junit.jupiter.api.Test; -import java.util.Collections; + +import java.util.Set; import static org.junit.jupiter.api.Assertions.*; @@ -63,7 +64,7 @@ public class FillingTestCase { hits.add(hit1); hits.add(hit2); - assertEquals(Collections.emptySet(), hits.getFilled()); + assertEquals(Set.of(), hits.getFilled()); } @Test @@ -82,7 +83,7 @@ public class FillingTestCase { hits.add(hit2); hits.add(hit3); - assertEquals(Collections.singleton("summary1"), hits.getFilled()); + assertEquals(Set.of("summary1"), hits.getFilled()); } private Hit createNonFilled(String id) { diff --git a/container-search/src/test/java/com/yahoo/search/result/test/HitGroupTestCase.java b/container-search/src/test/java/com/yahoo/search/result/test/HitGroupTestCase.java index 5f8fbbd08df..42098051b82 100644 --- a/container-search/src/test/java/com/yahoo/search/result/test/HitGroupTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/result/test/HitGroupTestCase.java @@ -9,7 +9,6 @@ import com.yahoo.search.result.Hit; import com.yahoo.search.result.HitGroup; import org.junit.jupiter.api.Test; -import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -165,14 +164,14 @@ public class HitGroupTestCase { Hit hit = new Hit("http://nalle.balle/1.html", 832); hit.setField("url", "http://nalle.balle/1.html"); hit.setField("clickurl", "javascript:openWindow('http://www.foo');"); - hit.setField("attributes", Arrays.asList("typevideo")); + hit.setField("attributes", List.of("typevideo")); hg.add(hit); } { Hit hit = new Hit("http://nalle.balle/2.html", 442); hit.setField("url", "http://nalle.balle/2.html"); hit.setField("clickurl", ""); - hit.setField("attributes", Arrays.asList("typevideo")); + hit.setField("attributes", List.of("typevideo")); hg.add(hit); } assertFalse(hg.isFillable()); @@ -187,7 +186,7 @@ public class HitGroupTestCase { Hit hit = new Hit("http://nalle.balle/1.html", 832); hit.setField("url", "http://nalle.balle/1.html"); hit.setField("clickurl", "javascript:openWindow('http://www.foo');"); - hit.setField("attributes", Arrays.asList("typevideo")); + hit.setField("attributes", List.of("typevideo")); hit.setFillable(); hg.add(hit); } @@ -195,7 +194,7 @@ public class HitGroupTestCase { Hit hit = new Hit("http://nalle.balle/2.html", 442); hit.setField("url", "http://nalle.balle/2.html"); hit.setField("clickurl", ""); - hit.setField("attributes", Arrays.asList("typevideo")); + hit.setField("attributes", List.of("typevideo")); hit.setFillable(); hg.add(hit); } @@ -211,14 +210,14 @@ public class HitGroupTestCase { Hit hit = new Hit("http://nalle.balle/1.html", 832); hit.setField("url", "http://nalle.balle/1.html"); hit.setField("clickurl", "javascript:openWindow('http://www.foo');"); - hit.setField("attributes", Arrays.asList("typevideo")); + hit.setField("attributes", List.of("typevideo")); hg.add(hit); } { Hit hit = new Hit("http://nalle.balle/2.html", 442); hit.setField("url", "http://nalle.balle/2.html"); hit.setField("clickurl", ""); - hit.setField("attributes", Arrays.asList("typevideo")); + hit.setField("attributes", List.of("typevideo")); hg.add(hit); } assertFalse(hg.isFillable()); diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java index e8a85e38e80..1bf04eb44fb 100644 --- a/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java @@ -10,7 +10,6 @@ import com.yahoo.search.result.Hit; import org.junit.jupiter.api.Test; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; @@ -70,20 +69,20 @@ public class AsyncExecutionTestCase { void testWaitForAll() { Chain<Searcher> slowChain = new Chain<>( new ComponentId("slow"), - Arrays.asList(new Searcher[]{new WaitingSearcher("slow", 30000)} + List.of(new Searcher[]{new WaitingSearcher("slow", 30000)} ) ); Chain<Searcher> fastChain = new Chain<>( new ComponentId("fast"), - Arrays.asList(new Searcher[]{new SimpleSearcher()}) + List.of(new Searcher[]{new SimpleSearcher()}) ); FutureResult slowFuture = new AsyncExecution(slowChain, Execution.Context.createContextStub()).search(new Query("?hits=0")); FutureResult fastFuture = new AsyncExecution(fastChain, Execution.Context.createContextStub()).search(new Query("?hits=0")); fastFuture.get(); FutureResult [] reslist = new FutureResult[]{slowFuture, fastFuture}; - List<Result> results = AsyncExecution.waitForAll(Arrays.asList(reslist), 0); + List<Result> results = AsyncExecution.waitForAll(List.of(reslist), 0); //assertTrue(slowFuture.isCancelled()); assertTrue(fastFuture.isDone() && !fastFuture.isCancelled()); diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/config/test/DependencyConfigTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/config/test/DependencyConfigTestCase.java index 924aa7ae999..16e9adecdba 100644 --- a/container-search/src/test/java/com/yahoo/search/searchchain/config/test/DependencyConfigTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/searchchain/config/test/DependencyConfigTestCase.java @@ -3,7 +3,7 @@ package com.yahoo.search.searchchain.config.test; import java.io.File; import java.io.IOException; -import java.util.Arrays; +import java.util.List; import com.yahoo.component.chain.dependencies.After; @@ -72,8 +72,8 @@ public class DependencyConfigTestCase { void test() { Dependencies dependencies = registry.getSearcherRegistry().getComponent(Searcher1.class.getName()).getDependencies(); - assertTrue(dependencies.provides().containsAll(Arrays.asList("P", "P1", "P2", Searcher1.class.getSimpleName()))); - assertTrue(dependencies.before().containsAll(Arrays.asList("B", "B1", "B2"))); - assertTrue(dependencies.after().containsAll(Arrays.asList("A", "A1", "A2"))); + assertTrue(dependencies.provides().containsAll(List.of("P", "P1", "P2", Searcher1.class.getSimpleName()))); + assertTrue(dependencies.before().containsAll(List.of("B", "B1", "B2"))); + assertTrue(dependencies.after().containsAll(List.of("A", "A1", "A2"))); } } diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java index bfcde54d65b..fda7bec9d71 100644 --- a/container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java @@ -16,7 +16,7 @@ import com.yahoo.search.searchchain.SearchChainRegistry; import com.yahoo.search.searchchain.model.federation.FederationOptions; import org.junit.jupiter.api.Test; -import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; @@ -82,7 +82,7 @@ public class FutureDataTestCase { void testFutureData() throws InterruptedException, ExecutionException, TimeoutException { // Set up AsyncProviderSearcher futureDataSource = new AsyncProviderSearcher(); - Chain<Searcher> chain = new Chain<>(Collections.<Searcher>singletonList(futureDataSource)); + Chain<Searcher> chain = new Chain<>(List.of(futureDataSource)); // Execute Query query = new Query(); diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/test/SearchChainTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/test/SearchChainTestCase.java index 2f04b695774..87384a15979 100644 --- a/container-search/src/test/java/com/yahoo/search/searchchain/test/SearchChainTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/searchchain/test/SearchChainTestCase.java @@ -5,7 +5,6 @@ import static com.yahoo.search.searchchain.test.SimpleSearchChain.searchChain; import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashSet; @@ -40,7 +39,7 @@ public class SearchChainTestCase { assertEquals("test", searchChain.getId().getName()); assertEquals(Version.emptyVersion, searchChain.getId().getVersion()); assertEquals(new Version(), searchChain.getId().getVersion()); - assertEqualMembers(Arrays.asList("one", "two"), searcherNames(searchChain.searchers())); + assertEqualMembers(List.of("one", "two"), searcherNames(searchChain.searchers())); } public List<String> searcherNames(Collection<Searcher> searchers) { diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/test/SimpleSearchChain.java b/container-search/src/test/java/com/yahoo/search/searchchain/test/SimpleSearchChain.java index de2fc46d803..833fd2c8657 100644 --- a/container-search/src/test/java/com/yahoo/search/searchchain/test/SimpleSearchChain.java +++ b/container-search/src/test/java/com/yahoo/search/searchchain/test/SimpleSearchChain.java @@ -2,7 +2,6 @@ package com.yahoo.search.searchchain.test; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -38,7 +37,7 @@ public class SimpleSearchChain { @Override public Collection<ForkingSearcher.CommentedSearchChain> getSearchChainsForwarded(SearchChainRegistry registry) { - return Arrays.asList( + return List.of( new ForkingSearcher.CommentedSearchChain("Reason for forwarding to this search chain.", dummySearchChain()), new ForkingSearcher.CommentedSearchChain(null, dummySearchChain())); } diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java index 036c41aab66..fb77073f68e 100644 --- a/container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java @@ -15,7 +15,6 @@ import org.junit.jupiter.api.Test; import java.io.IOException; import java.io.StringWriter; import java.util.ArrayList; -import java.util.Arrays; import java.util.Iterator; import java.util.List; @@ -308,7 +307,7 @@ public class TraceTestCase { public Forker(boolean carryOverContext, boolean parallel, Searcher ... branches) { this.carryOverContext = carryOverContext; this.parallel = parallel; - this.branches = Arrays.asList(branches); + this.branches = List.of(branches); } @Override diff --git a/container-search/src/test/java/com/yahoo/search/searchers/test/MockMetric.java b/container-search/src/test/java/com/yahoo/search/searchers/test/MockMetric.java deleted file mode 100644 index 7835a9934c7..00000000000 --- a/container-search/src/test/java/com/yahoo/search/searchers/test/MockMetric.java +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.search.searchers.test; - -import com.yahoo.jdisc.Metric; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -/** -* @author bratseth -*/ -class MockMetric implements Metric { - - private Map<Context, Map<String, Number>> metrics = new HashMap<>(); - - public Map<String, Number> values(Context context) { - return metricsForContext(context); - } - - @Override - public void set(String key, Number val, Context context) { - metricsForContext(context).put(key, val); - } - - @Override - public void add(String key, Number value, Context context) { - Number previousValue = metricsForContext(context).get(key); - if (previousValue == null) - previousValue = 0; - metricsForContext(context).put(key, value.doubleValue() + previousValue.doubleValue()); - } - - /** Returns the metrics for a given context, never null */ - private Map<String, Number> metricsForContext(Context context) { - Map<String, Number> metricsForContext = metrics.get(context); - if (metricsForContext == null) { - metricsForContext = new HashMap<>(); - metrics.put(context, metricsForContext); - } - return metricsForContext; - } - - @Override - public Context createContext(Map<String, ?> dimensions) { - return new MapContext(dimensions); - } - - /** Creates a context containing a single dimension */ - public Metric.Context createContext(String dimensionName, String dimensionValue) { - if (dimensionName.isEmpty()) - return createContext(Collections.emptyMap()); - return createContext(Collections.singletonMap(dimensionName, dimensionValue)); - } - - private class MapContext implements Metric.Context { - - private final Map<String, ?> dimensions; - - public MapContext(Map<String, ?> dimensions) { - this.dimensions = dimensions; - } - - @Override - public int hashCode() { - return dimensions.hashCode(); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if ( ! (o instanceof MapContext)) return false; - return dimensions.equals(((MapContext)o).dimensions); - } - - } - -} diff --git a/container-search/src/test/java/com/yahoo/search/yql/VespaSerializerTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/VespaSerializerTestCase.java index 87bc602f072..20ca81234a6 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/VespaSerializerTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/VespaSerializerTestCase.java @@ -27,7 +27,8 @@ import com.yahoo.search.query.QueryTree; import com.yahoo.search.query.parser.Parsable; import com.yahoo.search.query.parser.ParserEnvironment; -import java.util.Arrays; + +import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -383,7 +384,7 @@ public class VespaSerializerTestCase { private static void newGroupingRequest(Query query, GroupingOperation grouping, Continuation... continuations) { GroupingRequest request = GroupingRequest.newInstance(query); request.setRootOperation(grouping); - request.continuations().addAll(Arrays.asList(continuations)); + request.continuations().addAll(List.of(continuations)); } @Test diff --git a/container-search/src/test/java/com/yahoo/search/yql/YqlFieldAndSourceTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/YqlFieldAndSourceTestCase.java index 87d18c18db5..675acabe906 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/YqlFieldAndSourceTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/YqlFieldAndSourceTestCase.java @@ -3,7 +3,6 @@ package com.yahoo.search.yql; import static org.junit.jupiter.api.Assertions.*; -import java.util.Arrays; import java.util.List; import com.yahoo.search.schema.DocumentSummary; @@ -48,9 +47,9 @@ public class YqlFieldAndSourceTestCase { DocumentSourceSearcher mockBackend = new DocumentSourceSearcher(); mockBackend.addResult(query, result); - mockBackend.addSummaryClassByCopy(DEFAULT_SUMMARY_CLASS, Arrays.asList(FIELD1, FIELD2)); - mockBackend.addSummaryClassByCopy(SORTABLE_ATTRIBUTES_SUMMARY_CLASS, Arrays.asList(FIELD2)); - mockBackend.addSummaryClassByCopy(THIRD_OPTION, Arrays.asList(FIELD3)); + mockBackend.addSummaryClassByCopy(DEFAULT_SUMMARY_CLASS, List.of(FIELD1, FIELD2)); + mockBackend.addSummaryClassByCopy(SORTABLE_ATTRIBUTES_SUMMARY_CLASS, List.of(FIELD2)); + mockBackend.addSummaryClassByCopy(THIRD_OPTION, List.of(FIELD3)); searchChain = new Chain<>(new FieldFiller(schemaInfo()), mockBackend); context = Execution.Context.createContextStub(); diff --git a/container-search/src/test/java/com/yahoo/text/interpretation/test/AnnotationTestCase.java b/container-search/src/test/java/com/yahoo/text/interpretation/test/AnnotationTestCase.java index dd2725f2d6e..3fa81e948a2 100644 --- a/container-search/src/test/java/com/yahoo/text/interpretation/test/AnnotationTestCase.java +++ b/container-search/src/test/java/com/yahoo/text/interpretation/test/AnnotationTestCase.java @@ -2,7 +2,6 @@ package com.yahoo.text.interpretation.test; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -50,7 +49,7 @@ public class AnnotationTestCase { } Set<AnnotationClass> annotationClasses = a.getClasses(0, 3); - Set<AnnotationClass> testClass = new HashSet<>(Arrays.asList( + Set<AnnotationClass> testClass = new HashSet<>(List.of( new AnnotationClass("token"), new AnnotationClass("state"))); assertEquals(testClass, annotationClasses); @@ -75,7 +74,7 @@ public class AnnotationTestCase { //This is bad about the API, getTokens may not necessairily return what a user thinks a token is //But it should still be tested a.annotate(0, 1, "n"); - Set<String> testSet = new HashSet<>(Arrays.asList("n", "york", "hotel")); + Set<String> testSet = new HashSet<>(List.of("n", "york", "hotel")); for (Span span :a.getTokens()) { assertTrue(testSet.remove(span.getText())); } @@ -118,7 +117,7 @@ public class AnnotationTestCase { //if a number is not found woe_id = annotations.getInteger("woe_id"); } - assertEquals(Arrays.asList("crab"), toppings); + assertEquals(List.of("crab"), toppings); assertEquals(2459115, woe_id); } |