diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-04-11 09:12:53 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-04-11 09:12:53 +0200 |
commit | 42a9f71995b99044652bddf52ad869a824d98ddc (patch) | |
tree | 8766842d727e4a766c39d19dab6eb756ed06f829 /container-search/src/main | |
parent | ed76cd45f86c8af9431860a9ac7c40fc59fb9e3c (diff) |
Unify on Map.of
Diffstat (limited to 'container-search/src/main')
10 files changed, 24 insertions, 35 deletions
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..7b969404984 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 @@ -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/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/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/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/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/result/Hit.java b/container-search/src/main/java/com/yahoo/search/result/Hit.java index d81880cc548..045388ba31c 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,7 +333,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi */ public void setFillable() { if (filled == null) { - filled = Collections.emptySet(); + filled = Set.of(); unmodifiableFilled = filled; } } @@ -347,7 +347,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi */ public void setFilled(String summaryClass) { if (filled == null || filled.isEmpty()) { - filled = Collections.singleton(summaryClass); + filled = Set.of(summaryClass); unmodifiableFilled = filled; } else if (filled.size() == 1) { filled = new HashSet<>(filled); @@ -483,7 +483,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 +574,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); + searcherSpecificMetaData = Map.of(searcher, data); } else { if (searcherSpecificMetaData.size() == 1) { Object tmp = searcherSpecificMetaData.get(searcher); if (tmp != null) { - searcherSpecificMetaData = Collections.singletonMap(searcher, data); + searcherSpecificMetaData = Map.of(searcher, data); } else { searcherSpecificMetaData = new TreeMap<>(searcherSpecificMetaData); searcherSpecificMetaData.put(searcher, data); 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) { |