diff options
author | Harald Musum <musum@yahooinc.com> | 2024-04-11 23:13:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-11 23:13:46 +0200 |
commit | 7e7ebf7b527be1f163d497a41898e2252d878fe7 (patch) | |
tree | 879722e0afee0c88ad22344000c1567d79d741fa /container-search/src/main | |
parent | a6fe59bf11e974b409caf73ac606ba750f45db8e (diff) | |
parent | 2d6bbe0b8bff09d105b77161c1d26a00ce43bf0c (diff) |
Merge pull request #30891 from vespa-engine/balder/list-dot-of
Unify on List.of
Diffstat (limited to 'container-search/src/main')
16 files changed, 33 insertions, 48 deletions
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/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/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/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/pagetemplates/PageTemplateSearcher.java b/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java index e07b290f66e..6504949e174 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 @@ -23,7 +23,6 @@ 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; @@ -145,7 +144,7 @@ public class PageTemplateSearcher extends Searcher { // 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 7b969404984..d8cfaab7cba 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); @@ -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))); } } } 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/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/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/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/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); } |