aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-04-11 09:12:53 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2024-04-11 09:12:53 +0200
commit42a9f71995b99044652bddf52ad869a824d98ddc (patch)
tree8766842d727e4a766c39d19dab6eb756ed06f829 /container-search/src/main
parented76cd45f86c8af9431860a9ac7c40fc59fb9e3c (diff)
Unify on Map.of
Diffstat (limited to 'container-search/src/main')
-rw-r--r--container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/CopyOnWriteContent.java4
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileProperties.java5
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/compiled/CompiledQueryProfile.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/compiled/DimensionalValue.java18
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/result/Hit.java10
-rw-r--r--container-search/src/main/java/com/yahoo/search/yql/YqlParser.java4
-rw-r--r--container-search/src/main/java/com/yahoo/text/interpretation/Annotations.java3
-rw-r--r--container-search/src/main/java/com/yahoo/vespa/streamingvisitors/QueryEncoder.java7
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 =&gt; "a.d-value" ,a.e =&gt; "a.e-value", b.d =&gt; "b.d-value", then calling listValues("a")
* will return {"d" =&gt; "a.d-value","e" =&gt; "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) {