aboutsummaryrefslogtreecommitdiffstats
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
parented76cd45f86c8af9431860a9ac7c40fc59fb9e3c (diff)
Unify on Map.of
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java7
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundle.java23
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetControllerOptions.java3
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java5
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundleUtil.java4
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java3
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ResourceUsageStatsTest.java8
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java5
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java3
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/FileDistributionStatus.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java11
-rw-r--r--container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java19
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java3
-rw-r--r--container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java6
-rw-r--r--container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java18
-rw-r--r--container-core/src/test/java/com/yahoo/container/jdisc/state/MetricSnapshotTest.java6
-rw-r--r--container-core/src/test/java/com/yahoo/metrics/simple/PointTest.java4
-rw-r--r--container-core/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java3
-rw-r--r--container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusClientProviderTest.java2
-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
-rw-r--r--container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java5
-rw-r--r--container-search/src/test/java/com/yahoo/search/searchers/test/MockMetric.java78
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/file/FlagDbFile.java3
-rw-r--r--flags/src/test/java/com/yahoo/vespa/flags/file/FlagDbFileTest.java3
-rw-r--r--indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/linguistics/LinguisticsAnnotatorTestCase.java4
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonModel.java9
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/VespaService.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Reports.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java3
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java6
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java6
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/transform/SimplifierTestCase.java12
-rw-r--r--standalone-container/src/main/java/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.java3
-rw-r--r--tenant-cd-api/src/main/java/ai/vespa/hosted/cd/Endpoint.java3
-rw-r--r--vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/impl/CliArguments.java6
-rw-r--r--zookeeper-server/zookeeper-server-3.9.2/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java3
-rw-r--r--zookeeper-server/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java3
53 files changed, 121 insertions, 251 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java
index e0ddf16ab5f..7991e1c34b6 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java
@@ -4,7 +4,6 @@ package com.yahoo.vespa.clustercontroller.core;
import com.yahoo.vdslib.state.ClusterState;
import com.yahoo.vdslib.state.Node;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -47,7 +46,7 @@ public class AnnotatedClusterState implements Cloneable {
Map<Node, NodeStateReason> nodeStateReasons) {
this.clusterState = Objects.requireNonNull(clusterState, "Cluster state cannot be null");
this.clusterStateReason = Objects.requireNonNull(clusterStateReason, "Cluster state reason cannot be null");
- this.nodeStateReasons = Objects.requireNonNull(nodeStateReasons, "Node state reasons cannot be null");
+ this.nodeStateReasons = Map.copyOf(Objects.requireNonNull(nodeStateReasons, "Node state reasons cannot be null"));
}
public static AnnotatedClusterState emptyState() {
@@ -59,7 +58,7 @@ public class AnnotatedClusterState implements Cloneable {
}
static Map<Node, NodeStateReason> emptyNodeStateReasons() {
- return Collections.emptyMap();
+ return Map.of();
}
public ClusterState getClusterState() {
@@ -67,7 +66,7 @@ public class AnnotatedClusterState implements Cloneable {
}
public Map<Node, NodeStateReason> getNodeStateReasons() {
- return Collections.unmodifiableMap(nodeStateReasons);
+ return nodeStateReasons;
}
public Optional<ClusterStateReason> getClusterStateReason() {
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundle.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundle.java
index 53a39968720..d99d46c11ce 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundle.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundle.java
@@ -4,7 +4,6 @@ package com.yahoo.vespa.clustercontroller.core;
import com.yahoo.vdslib.state.ClusterState;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
@@ -56,7 +55,7 @@ public class ClusterStateBundle {
public FeedBlock(boolean blockFeedInCluster, String description) {
this.blockFeedInCluster = blockFeedInCluster;
this.description = description;
- this.concreteExhaustions = Collections.emptySet();
+ this.concreteExhaustions = Set.of();
}
public FeedBlock(boolean blockFeedInCluster, String description,
@@ -165,14 +164,10 @@ public class ClusterStateBundle {
return ClusterStateBundle.ofBaselineOnly(baselineState, feedBlock, deferredActivation);
}
Map<String, AnnotatedClusterState> derived;
- if (explicitDerivedStates != null) {
- derived = explicitDerivedStates;
- } else {
- derived = bucketSpaces.stream()
- .collect(Collectors.toMap(
- Function.identity(),
- s -> stateDeriver.derivedFrom(baselineState, s)));
- }
+ derived = Objects.requireNonNullElseGet(explicitDerivedStates, () -> bucketSpaces.stream()
+ .collect(Collectors.toUnmodifiableMap(
+ Function.identity(),
+ s -> stateDeriver.derivedFrom(baselineState, s))));
return new ClusterStateBundle(baselineState, derived, feedBlock, deferredActivation);
}
}
@@ -186,7 +181,7 @@ public class ClusterStateBundle {
FeedBlock feedBlock,
boolean deferredActivation) {
this.baselineState = baselineState;
- this.derivedBucketSpaceStates = Collections.unmodifiableMap(derivedBucketSpaceStates);
+ this.derivedBucketSpaceStates = Map.copyOf(derivedBucketSpaceStates);
this.feedBlock = feedBlock;
this.deferredActivation = deferredActivation;
}
@@ -209,11 +204,11 @@ public class ClusterStateBundle {
public static ClusterStateBundle ofBaselineOnly(AnnotatedClusterState baselineState,
FeedBlock feedBlock,
boolean deferredActivation) {
- return new ClusterStateBundle(baselineState, Collections.emptyMap(), feedBlock, deferredActivation);
+ return new ClusterStateBundle(baselineState, Map.of(), feedBlock, deferredActivation);
}
public static ClusterStateBundle ofBaselineOnly(AnnotatedClusterState baselineState) {
- return new ClusterStateBundle(baselineState, Collections.emptyMap());
+ return new ClusterStateBundle(baselineState, Map.of());
}
public static ClusterStateBundle empty() {
@@ -238,7 +233,7 @@ public class ClusterStateBundle {
AnnotatedClusterState clonedBaseline = baselineState.cloneWithClusterState(
mapper.apply(baselineState.getClusterState().clone()));
Map<String, AnnotatedClusterState> clonedDerived = derivedBucketSpaceStates.entrySet().stream()
- .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue().cloneWithClusterState(
+ .collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().cloneWithClusterState(
mapper.apply(e.getValue().getClusterState().clone()))));
return new ClusterStateBundle(clonedBaseline, clonedDerived, feedBlock, deferredActivation);
}
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetControllerOptions.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetControllerOptions.java
index a0efaa70b58..44b2c8833db 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetControllerOptions.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetControllerOptions.java
@@ -10,7 +10,6 @@ import com.yahoo.vespa.clustercontroller.core.database.ZooKeeperDatabaseFactory;
import java.time.Duration;
import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
@@ -433,7 +432,7 @@ public class FleetControllerOptions {
private double minMergeCompletionRatio = 1.0;
private int maxDivergentNodesPrintedInTaskErrorMessages = 10;
private boolean clusterFeedBlockEnabled = false;
- private Map<String, Double> clusterFeedBlockLimit = Collections.emptyMap();
+ private Map<String, Double> clusterFeedBlockLimit = Map.of();
private double clusterFeedBlockNoiseLevel = 0.01;
private int maxNumberOfGroupsAllowedToBeDown = 1;
private Function<FleetControllerContext, DatabaseFactory> dbFactoryFn = ZooKeeperDatabaseFactory::new;
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java
index 12db5c27375..3a6b9a635fa 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java
@@ -41,11 +41,10 @@ public class SlimeClusterStateBundleCodec implements ClusterStateBundleCodec, En
// TODO add another function that is not toString for this..!
states.setString("baseline", stateBundle.getBaselineClusterState().toString());
Cursor spaces = states.setObject("spaces");
- stateBundle.getDerivedBucketSpaceStates().entrySet()
- .forEach(entry -> spaces.setString(entry.getKey(), entry.getValue().toString()));
+ stateBundle.getDerivedBucketSpaceStates().forEach((key, value) -> spaces.setString(key, value.toString()));
// Only bother to encode feed block state if cluster is actually blocked
- if (stateBundle.getFeedBlock().map(fb -> fb.blockFeedInCluster()).orElse(false)) {
+ if (stateBundle.getFeedBlock().map(ClusterStateBundle.FeedBlock::blockFeedInCluster).orElse(false)) {
Cursor feedBlock = root.setObject("feed-block");
feedBlock.setBool("block-feed-in-cluster", true);
feedBlock.setString("description", stateBundle.getFeedBlock().get().getDescription());
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundleUtil.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundleUtil.java
index 7c39135291c..8280706bcd2 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundleUtil.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ClusterStateBundleUtil.java
@@ -14,13 +14,13 @@ public class ClusterStateBundleUtil {
public static ClusterStateBundle.Builder makeBundleBuilder(String baselineState, StateMapping... bucketSpaceStates) {
return ClusterStateBundle.builder(AnnotatedClusterState.withoutAnnotations(ClusterState.stateFromString(baselineState)))
- .explicitDerivedStates(Stream.of(bucketSpaceStates).collect(Collectors.toMap(sm -> sm.bucketSpace,
+ .explicitDerivedStates(Stream.of(bucketSpaceStates).collect(Collectors.toUnmodifiableMap(sm -> sm.bucketSpace,
sm -> AnnotatedClusterState.withoutAnnotations(sm.state))));
}
public static ClusterStateBundle makeBundle(String baselineState, StateMapping... bucketSpaceStates) {
return ClusterStateBundle.of(AnnotatedClusterState.withoutAnnotations(ClusterState.stateFromString(baselineState)),
- Stream.of(bucketSpaceStates).collect(Collectors.toMap(sm -> sm.bucketSpace,
+ Stream.of(bucketSpaceStates).collect(Collectors.toUnmodifiableMap(sm -> sm.bucketSpace,
sm -> AnnotatedClusterState.withoutAnnotations(sm.state))));
}
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java
index 175b7de8f4f..8048e77b05c 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java
@@ -11,7 +11,6 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.io.IOException;
-import java.util.Collections;
import java.util.Map;
import java.util.TreeMap;
@@ -53,7 +52,7 @@ public class ContentClusterHtmlRendererTest {
statsAggregator,
1.0,
10,
- Collections.emptyMap(),
+ Map.of(),
eventLog,
"pathPrefix",
"name");
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ResourceUsageStatsTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ResourceUsageStatsTest.java
index b4246806079..168fe6521d5 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ResourceUsageStatsTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ResourceUsageStatsTest.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.clustercontroller.core;
import org.junit.jupiter.api.Test;
import java.util.Collection;
-import java.util.Collections;
+import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -46,20 +46,20 @@ public class ResourceUsageStatsTest {
@Test
void nodes_above_limit_is_zero_without_feed_block_status() {
- var stats = ResourceUsageStats.calculateFrom(Collections.emptyList(), Collections.emptyMap(), Optional.empty());
+ var stats = ResourceUsageStats.calculateFrom(List.of(), Map.of(), Optional.empty());
assertEquals(0, stats.getNodesAboveLimit());
}
@Test
void nodes_above_limit_is_equal_to_node_resource_exhaustions() {
- var stats = ResourceUsageStats.calculateFrom(Collections.emptyList(), Collections.emptyMap(),
+ var stats = ResourceUsageStats.calculateFrom(List.of(), Map.of(),
createFeedBlock(exhaustion(1, "disk"), exhaustion(2, "memory")));
assertEquals(2, stats.getNodesAboveLimit());
}
@Test
void nodes_above_limit_counts_each_node_only_once() {
- var stats = ResourceUsageStats.calculateFrom(Collections.emptyList(), Collections.emptyMap(),
+ var stats = ResourceUsageStats.calculateFrom(List.of(), Map.of(),
createFeedBlock(exhaustion(1, "disk"), exhaustion(1, "memory")));
assertEquals(1, stats.getNodesAboveLimit());
}
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java b/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java
index 0f89608f9bd..deef16cfe8c 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java
@@ -14,7 +14,6 @@ import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -213,11 +212,11 @@ public interface ApplicationPackage {
}
default Map<Version, FileRegistry> getFileRegistries() {
- return Collections.emptyMap();
+ return Map.of();
}
default Map<String, String> legacyOverrides() {
- return Collections.emptyMap();
+ return Map.of();
}
/**
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java b/config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java
index 9eef386d7d0..370dfbff2b8 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java
@@ -5,7 +5,6 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -25,7 +24,7 @@ import static java.util.Collections.emptyList;
*/
public class Notifications {
- private static final Notifications none = new Notifications(Collections.emptyMap(), Collections.emptyMap());
+ private static final Notifications none = new Notifications(Map.of(), Map.of());
public static Notifications none() { return none; }
private final Map<When, List<String>> emailAddresses;
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java b/config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java
index 3424dad4ee5..f6bc8c34aa6 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java
@@ -6,7 +6,6 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.TenantName;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
@@ -23,7 +22,7 @@ public class SuperModel {
private final boolean complete;
public SuperModel() {
- this(Collections.emptyMap(), false);
+ this(Map.of(), false);
}
public SuperModel(Map<ApplicationId, ApplicationInfo> models, boolean complete) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java b/configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java
index 51918b4902a..bfad5af504c 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java
@@ -6,7 +6,6 @@ import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.vespa.config.ConfigDefinitionKey;
import com.yahoo.vespa.config.buildergen.ConfigDefinition;
-import java.util.Collections;
import java.util.Map;
/**
@@ -24,7 +23,7 @@ public class StaticConfigDefinitionRepo implements ConfigDefinitionRepo {
this.repo = new ConfigDefinitionRepo() {
@Override
public Map<ConfigDefinitionKey, ConfigDefinition> getConfigDefinitions() {
- return Collections.emptyMap();
+ return Map.of();
}
@Override
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/FileDistributionStatus.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/FileDistributionStatus.java
index 3de35a20008..57ecd175435 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/FileDistributionStatus.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/FileDistributionStatus.java
@@ -16,7 +16,6 @@ import com.yahoo.vespa.config.server.http.JSONResponse;
import java.time.Duration;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -75,7 +74,7 @@ public class FileDistributionStatus extends AbstractComponent {
if (request.isError()) {
return new HostStatus(hostname,
Status.UNKNOWN,
- Collections.emptyMap(),
+ Map.of(),
"error: " + request.errorMessage() + "(" + request.errorCode() + ")");
} else {
Map<String, Double> fileReferenceStatuses = new HashMap<>();
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
index b0ecedd4853..6d671377e63 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
@@ -48,7 +48,6 @@ import com.yahoo.vespa.filedistribution.FileReferenceDownload;
import java.nio.ByteBuffer;
import java.time.Duration;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -131,7 +130,7 @@ public class RpcServer implements Runnable, ConfigActivationListener, TenantList
this.superModelRequestHandler = superModelRequestHandler;
metricUpdaterFactory = metrics;
supervisor.setMaxOutputBufferSize(config.maxoutputbuffersize());
- this.metrics = metrics.getOrCreateMetricUpdater(Collections.emptyMap());
+ this.metrics = metrics.getOrCreateMetricUpdater(Map.of());
BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<>(config.maxgetconfigclients());
int rpcWorkerThreads = (config.numRpcThreads() == 0) ? threadsToUse() : config.numRpcThreads();
executorService = new ThreadPoolExecutor(rpcWorkerThreads, rpcWorkerThreads,
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
index 8c4445f897c..f9f477c9693 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
@@ -194,7 +194,7 @@ public class TenantRepository {
this.configserverConfig = configserverConfig;
this.curator = curator;
this.metrics = metrics;
- metricUpdater = metrics.getOrCreateMetricUpdater(Collections.emptyMap());
+ metricUpdater = metrics.getOrCreateMetricUpdater(Map.of());
this.zkCacheExecutor = zkCacheExecutor;
this.zkApplicationWatcherExecutor = zkApplicationWatcherExecutor;
this.zkSessionWatcherExecutor = zkSessionWatcherExecutor;
@@ -312,7 +312,7 @@ public class TenantRepository {
}
}
- if (failed.size() > 0)
+ if (!failed.isEmpty())
throw new RuntimeException("Could not create all tenants when bootstrapping, failed to create: " + failed);
metricUpdater.setTenants(tenants.size());
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
index b8c9a2f8fb8..4fb514bde17 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
@@ -30,7 +30,6 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -93,7 +92,7 @@ public class SessionCreateHandlerTest extends SessionHandlerTest {
@Ignore
@Test
public void require_that_from_parameter_cannot_be_set_if_data_in_request() throws IOException {
- HttpRequest request = post(Collections.singletonMap("from", "active"));
+ HttpRequest request = post(Map.of("from", "active"));
HttpResponse response = createHandler().handle(request);
assertHttpStatusCodeErrorCodeAndMessage(response, BAD_REQUEST, HttpErrorResponse.ErrorCode.BAD_REQUEST, "Parameter 'from' is illegal for POST");
}
@@ -114,14 +113,14 @@ public class SessionCreateHandlerTest extends SessionHandlerTest {
private void assertIllegalFromParameter(String fromValue) throws IOException {
File outFile = CompressedApplicationInputStreamTest.createTarFile(temporaryFolder.getRoot().toPath());
- HttpRequest request = post(outFile, postHeaders, Collections.singletonMap("from", fromValue));
+ HttpRequest request = post(outFile, postHeaders, Map.of("from", fromValue));
assertHttpStatusCodeErrorCodeAndMessage(createHandler().handle(request), BAD_REQUEST, HttpErrorResponse.ErrorCode.BAD_REQUEST, "Parameter 'from' has illegal value '" + fromValue + "'");
}
@Test
public void require_that_prepare_url_is_returned_on_success() throws IOException {
File outFile = CompressedApplicationInputStreamTest.createTarFile(temporaryFolder.getRoot().toPath());
- Map<String, String> parameters = Collections.singletonMap("name", "foo");
+ Map<String, String> parameters = Map.of("name", "foo");
HttpResponse response = createHandler().handle(post(outFile, postHeaders, parameters));
assertNotNull(response);
assertEquals(OK, response.getStatus());
@@ -160,7 +159,7 @@ public class SessionCreateHandlerTest extends SessionHandlerTest {
@Test
public void require_that_application_urls_can_be_given_as_from_parameter() throws Exception {
ApplicationId applicationId = ApplicationId.from(tenant.value(), "foo", "quux");
- HttpRequest request = post(Collections.singletonMap(
+ HttpRequest request = post(Map.of(
"from",
"http://myhost:40555/application/v2/tenant/" + tenant + "/application/foo/environment/test/region/baz/instance/quux"));
assertEquals(applicationId, SessionCreateHandler.getFromApplicationId(request));
@@ -180,7 +179,7 @@ public class SessionCreateHandlerTest extends SessionHandlerTest {
public void require_that_content_type_is_parsed_correctly() throws FileNotFoundException {
HttpRequest request = post(new ByteArrayInputStream("foo".getBytes(StandardCharsets.UTF_8)),
Map.of("Content-Type", "multipart/form-data; charset=ISO-8859-1; boundary=g5gJAzUWl_t6"),
- Collections.emptyMap());
+ Map.of());
// Valid header should validate ok
SessionCreateHandler.validateDataAndHeader(request, List.of(ContentType.MULTIPART_FORM_DATA.getMimeType()));
diff --git a/container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java b/container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java
index da5b040e296..29a45c10af3 100644
--- a/container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java
+++ b/container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java
@@ -157,7 +157,7 @@ public class MockBundle implements Bundle, BundleWiring {
@Override
public Map<X509Certificate, List<X509Certificate>> getSignerCertificates(int signersType) {
- return Collections.emptyMap();
+ return Map.of();
}
@SuppressWarnings("unchecked")
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java b/container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java
index 1c325654f2e..71449d6edae 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java
@@ -412,7 +412,7 @@ public class HttpRequest {
Map<String, String> mask;
Map<String, String> view;
- mask = Objects.requireNonNullElse(parameterMask, Collections.emptyMap());
+ mask = Objects.requireNonNullElse(parameterMask, Map.of());
view = new HashMap<>(parameters.size() + mask.size());
for (Map.Entry<String, List<String>> parameter : parameters.entrySet()) {
if (existsAsOriginalParameter(parameter.getValue())) {
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java
index 4cb19653848..6d6635ecc94 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateMetricContext.java
@@ -3,10 +3,11 @@ package com.yahoo.container.jdisc.state;
import com.yahoo.jdisc.Metric;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.util.Objects;
+
+import static java.util.stream.Collectors.toUnmodifiableMap;
/**
* A context implementation whose identity is the key and values such that this can be used as
@@ -41,16 +42,10 @@ public final class StateMetricContext implements MetricDimensions, Metric.Contex
}
public static StateMetricContext newInstance(Map<String, ?> properties) {
- Map<String, String> data;
- if (properties != null) {
- data = new HashMap<>(properties.size());
- for (Map.Entry<String, ?> entry : properties.entrySet()) {
- data.put(entry.getKey(), entry.getValue() != null ? entry.getValue().toString() : null);
- }
- data = Collections.unmodifiableMap(data);
- } else {
- data = Collections.emptyMap();
- }
+ Map<String, String> data = (properties != null)
+ ? properties.entrySet().stream().collect(
+ toUnmodifiableMap(Map.Entry::getKey, e -> Objects.requireNonNullElse(e.getValue(), "").toString()))
+ : Map.of();
return new StateMetricContext(data);
}
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java
index b43281c524a..7e6b9b822ac 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java
@@ -20,7 +20,6 @@ import java.nio.charset.Charset;
import java.nio.charset.IllegalCharsetNameException;
import java.nio.charset.StandardCharsets;
import java.nio.charset.UnsupportedCharsetException;
-import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -134,7 +133,7 @@ class FormPostRequestHandler extends AbstractRequestHandler implements ContentCh
*/
private static Map<String, List<String>> parseFormParameters(String formContent) {
if (formContent.isEmpty()) {
- return Collections.emptyMap();
+ return Map.of();
}
Map<String, List<String>> parameterMap = new HashMap<>();
diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java b/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
index aacc43d725b..e99f98cb842 100644
--- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
+++ b/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
@@ -21,9 +21,9 @@ import com.yahoo.vespa.config.ConfigKey;
import org.junit.jupiter.api.Test;
import java.lang.annotation.Annotation;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
@@ -480,7 +480,7 @@ public class ComponentGraphTest {
ComponentGraph graph = new ComponentGraph();
graph.add(mockComponentNodeWithId(ExecutorProvider.class, "dummyId"));
graph.complete();
- graph.setAvailableConfigs(Collections.emptyMap());
+ graph.setAvailableConfigs(Map.of());
return graph;
}
@@ -607,7 +607,7 @@ public class ComponentGraphTest {
}
public static class ExecutorProvider implements Provider<Executor> {
- private Executor executor = Executors.newSingleThreadExecutor();
+ private final Executor executor = Executors.newSingleThreadExecutor();
public Executor get() {
return executor;
diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java b/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java
index 59c939863dd..17ead389c48 100644
--- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java
+++ b/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java
@@ -16,7 +16,7 @@ import com.yahoo.container.di.componentgraph.core.ComponentGraphTest.SimpleCompo
import com.yahoo.vespa.config.ConfigKey;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
+import java.util.Map;
import java.util.concurrent.Executor;
import java.util.function.Function;
import java.util.function.Supplier;
@@ -68,12 +68,12 @@ public class ReuseComponentsTest {
Class<ComponentTakingConfig> componentClass = ComponentTakingConfig.class;
ComponentGraph graph = buildGraph(componentClass);
- graph.setAvailableConfigs(Collections.singletonMap(new ConfigKey<>(TestConfig.class, "component"),
+ graph.setAvailableConfigs(Map.of(new ConfigKey<>(TestConfig.class, "component"),
ConfigGetter.getConfig(TestConfig.class, "raw: stringVal \"oldConfig\"")));
ComponentTakingConfig instance = getComponent(graph, componentClass);
ComponentGraph newGraph = buildGraph(componentClass);
- newGraph.setAvailableConfigs(Collections.singletonMap(new ConfigKey<>(TestConfig.class, "component"),
+ newGraph.setAvailableConfigs(Map.of(new ConfigKey<>(TestConfig.class, "component"),
ConfigGetter.getConfig(TestConfig.class, "raw: stringVal \"newConfig\"")));
newGraph.reuseNodes(graph);
ComponentTakingConfig instance2 = getComponent(newGraph, componentClass);
@@ -98,7 +98,7 @@ public class ReuseComponentsTest {
graph.add(injectedComponent);
graph.complete();
- graph.setAvailableConfigs(Collections.singletonMap(new ConfigKey<>(TestConfig.class, configId),
+ graph.setAvailableConfigs(Map.of(new ConfigKey<>(TestConfig.class, configId),
ConfigGetter.getConfig(TestConfig.class, "raw: stringVal \"" + config + "\"")));
return graph;
@@ -132,7 +132,7 @@ public class ReuseComponentsTest {
}
graph.complete();
- graph.setAvailableConfigs(Collections.emptyMap());
+ graph.setAvailableConfigs(Map.of());
return graph;
};
@@ -163,7 +163,7 @@ public class ReuseComponentsTest {
graph.add(injectedComponent);
graph.complete();
- graph.setAvailableConfigs(Collections.singletonMap(new ConfigKey<>(TestConfig.class, configId),
+ graph.setAvailableConfigs(Map.of(new ConfigKey<>(TestConfig.class, configId),
ConfigGetter.getConfig(TestConfig.class, "raw: stringVal \"" + config + "\"")));
return graph;
@@ -188,7 +188,7 @@ public class ReuseComponentsTest {
ComponentGraph graph = new ComponentGraph();
graph.add(mockComponentNode(ComponentTakingExecutor.class, "dummyId"));
graph.complete(ComponentGraphTest.singletonExecutorInjector);
- graph.setAvailableConfigs(Collections.emptyMap());
+ graph.setAvailableConfigs(Map.of());
return graph;
};
@@ -224,7 +224,7 @@ public class ReuseComponentsTest {
private void completeNode(ComponentNode node) {
node.setArguments(new Object[0]);
- node.setAvailableConfigs(Collections.emptyMap());
+ node.setAvailableConfigs(Map.of());
}
private ComponentGraph buildGraph(Class<?> componentClass) {
@@ -237,7 +237,7 @@ public class ReuseComponentsTest {
private ComponentGraph buildGraphAndSetNoConfigs(Class<?> componentClass) {
ComponentGraph g = buildGraph(componentClass);
- g.setAvailableConfigs(Collections.emptyMap());
+ g.setAvailableConfigs(Map.of());
return g;
}
diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricSnapshotTest.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricSnapshotTest.java
index 3217bff4bb3..ccc7b22f348 100644
--- a/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricSnapshotTest.java
+++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricSnapshotTest.java
@@ -3,8 +3,8 @@ package com.yahoo.container.jdisc.state;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.HashMap;
+import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -29,8 +29,8 @@ public class MetricSnapshotTest {
@Test
void testEquality() {
- assertEquals(Collections.unmodifiableMap(new HashMap(0)).hashCode(), Collections.emptyMap().hashCode());
- assertEquals(Collections.unmodifiableMap(new HashMap(0)), Collections.emptyMap());
+ assertEquals(new HashMap(0).hashCode(), Map.of().hashCode());
+ assertEquals(new HashMap(0), Map.of());
}
}
diff --git a/container-core/src/test/java/com/yahoo/metrics/simple/PointTest.java b/container-core/src/test/java/com/yahoo/metrics/simple/PointTest.java
index 0368c925bcc..ad95c87ca8c 100644
--- a/container-core/src/test/java/com/yahoo/metrics/simple/PointTest.java
+++ b/container-core/src/test/java/com/yahoo/metrics/simple/PointTest.java
@@ -3,8 +3,8 @@ package com.yahoo.metrics.simple;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.HashMap;
+import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -15,7 +15,7 @@ public class PointTest {
@Test
void testPointEquality() {
- Point a = new Point(Collections.emptyMap());
+ Point a = new Point(Map.of());
Point b = new Point(new HashMap<>(0));
assertEquals(a.hashCode(), b.hashCode());
assertEquals(a, b);
diff --git a/container-core/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java b/container-core/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java
index d8743d063fb..40ec5973510 100644
--- a/container-core/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java
+++ b/container-core/src/test/java/com/yahoo/metrics/simple/jdisc/SnapshotConverterTest.java
@@ -14,7 +14,6 @@ import com.yahoo.metrics.simple.Point;
import com.yahoo.metrics.simple.UntypedMetric;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -29,7 +28,7 @@ public class SnapshotConverterTest {
@Test
void testPointConversion() {
- MetricDimensions a = SnapshotConverter.convert(new Point(Collections.emptyMap()));
+ MetricDimensions a = SnapshotConverter.convert(new Point(Map.of()));
MetricDimensions b = SnapshotConverter.convert(new Point(new HashMap<>(0)));
MetricDimensions c = SnapshotConverter.convert((Point) null);
assertEquals(a.hashCode(), b.hashCode());
diff --git a/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusClientProviderTest.java b/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusClientProviderTest.java
index e514453bc08..1c85ec37e34 100644
--- a/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusClientProviderTest.java
+++ b/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusClientProviderTest.java
@@ -5,11 +5,9 @@ import com.yahoo.container.jdisc.ContainerMbusConfig;
import com.yahoo.container.jdisc.config.SessionConfig;
import com.yahoo.document.DocumentTypeManager;
import com.yahoo.document.config.DocumentmanagerConfig;
-import com.yahoo.documentapi.messagebus.protocol.DocumentProtocolPoliciesConfig;
import com.yahoo.messagebus.MessagebusConfig;
import com.yahoo.messagebus.network.NetworkMultiplexer;
import com.yahoo.messagebus.shared.NullNetwork;
-import com.yahoo.vespa.config.content.DistributionConfig;
import org.junit.Test;
import static org.junit.Assert.assertNotNull;
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) {
diff --git a/container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java b/container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java
index a9f4c3dfac5..35d5cfd3855 100644
--- a/container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java
+++ b/container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java
@@ -11,7 +11,6 @@ import com.yahoo.container.jdisc.secretstore.SecretStore;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -85,7 +84,7 @@ public class ConfigurableLanguageModelTest {
}
private static InferenceParameters inferenceParams() {
- return new InferenceParameters(s -> lookupParameter(s, Collections.emptyMap()));
+ return new InferenceParameters(s -> lookupParameter(s, Map.of()));
}
private static InferenceParameters inferenceParams(Map<String, String> params) {
@@ -93,7 +92,7 @@ public class ConfigurableLanguageModelTest {
}
private static InferenceParameters inferenceParamsWithDefaultKey() {
- return new InferenceParameters(MockLLMClient.ACCEPTED_API_KEY, s -> lookupParameter(s, Collections.emptyMap()));
+ return new InferenceParameters(MockLLMClient.ACCEPTED_API_KEY, s -> lookupParameter(s, Map.of()));
}
private LlmClientConfig modelParams(String apiKeySecretName, String endpoint) {
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/flags/src/main/java/com/yahoo/vespa/flags/file/FlagDbFile.java b/flags/src/main/java/com/yahoo/vespa/flags/file/FlagDbFile.java
index c4597d1d3b4..73803e5bc5f 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/file/FlagDbFile.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/file/FlagDbFile.java
@@ -14,7 +14,6 @@ import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -55,7 +54,7 @@ public class FlagDbFile {
public Map<FlagId, FlagData> read() {
Optional<byte[]> bytes = readFile();
- if (!bytes.isPresent()) return Collections.emptyMap();
+ if (!bytes.isPresent()) return Map.of();
return FlagData.deserializeList(bytes.get()).stream().collect(Collectors.toMap(FlagData::id, Function.identity()));
}
diff --git a/flags/src/test/java/com/yahoo/vespa/flags/file/FlagDbFileTest.java b/flags/src/test/java/com/yahoo/vespa/flags/file/FlagDbFileTest.java
index 4ea4f8ab638..d8530bf0a9d 100644
--- a/flags/src/test/java/com/yahoo/vespa/flags/file/FlagDbFileTest.java
+++ b/flags/src/test/java/com/yahoo/vespa/flags/file/FlagDbFileTest.java
@@ -12,7 +12,6 @@ import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets;
import java.nio.file.FileSystem;
import java.nio.file.Files;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -68,7 +67,7 @@ public class FlagDbFileTest {
assertThat(anotherReadDataMap, IsMapContaining.hasKey(id3));
assertThat(anotherReadDataMap.get(id1).serializeToJson(), equalTo("{\"id\":\"id1\",\"attributes\":{\"hostname\":\"h1\"}}"));
- assertThat(flagDb.sync(Collections.emptyMap()), equalTo(true));
+ assertThat(flagDb.sync(Map.of()), equalTo(true));
assertThat(getDbContent(), equalTo("{\"flags\":[]}"));
}
diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/linguistics/LinguisticsAnnotatorTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/linguistics/LinguisticsAnnotatorTestCase.java
index 0bdf98f2ae0..fecb89ee167 100644
--- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/linguistics/LinguisticsAnnotatorTestCase.java
+++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/linguistics/LinguisticsAnnotatorTestCase.java
@@ -244,11 +244,11 @@ public class LinguisticsAnnotatorTestCase {
}
private static void assertAnnotations(SpanTree expected, String value, Token... tokens) {
- assertAnnotations(expected, value, new AnnotatorConfig(), newLinguistics(Arrays.asList(tokens), Collections.emptyMap()));
+ assertAnnotations(expected, value, new AnnotatorConfig(), newLinguistics(Arrays.asList(tokens), Map.of()));
}
private static void assertAnnotations(SpanTree expected, String value, AnnotatorConfig config, Token... tokens) {
- assertAnnotations(expected, value, config, newLinguistics(Arrays.asList(tokens), Collections.emptyMap()));
+ assertAnnotations(expected, value, config, newLinguistics(Arrays.asList(tokens), Map.of()));
}
private static void assertAnnotations(SpanTree expected, String str, AnnotatorConfig config, Linguistics linguistics) {
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonModel.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonModel.java
index 3fd95220aca..44f4efb41cc 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonModel.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonModel.java
@@ -19,9 +19,6 @@ import java.util.Set;
import java.util.stream.Collectors;
import static com.yahoo.stream.CustomCollectors.toLinkedMap;
-import static java.util.Collections.emptyList;
-import static java.util.Collections.emptyMap;
-import static java.util.Collections.emptySet;
/**
* Datamodel for Yamas execute output
@@ -80,7 +77,7 @@ public class YamasJsonModel {
}
List<Metric> getMetricsList() {
- if (metrics == null) return emptyList();
+ if (metrics == null) return List.of();
return metrics.keySet().stream()
.map(name -> new Metric(MetricId.toMetricId(name), metrics.get(name)))
@@ -88,14 +85,14 @@ public class YamasJsonModel {
}
Map<DimensionId, String> getDimensionsById() {
- if (dimensions == null) return emptyMap();
+ if (dimensions == null) return Map.of();
return dimensions.keySet().stream().collect(toLinkedMap(DimensionId::toDimensionId,
name -> dimensions.get(name)));
}
Set<ConsumerId> getYamasConsumers() {
- if (routing == null || routing.get("yamas") == null) return emptySet();
+ if (routing == null || routing.get("yamas") == null) return Set.of();
return routing.get("yamas").namespaces.stream()
.map(ConsumerId::toConsumerId)
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/VespaService.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/VespaService.java
index a83a28ff9c6..573292a6592 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/VespaService.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/VespaService.java
@@ -7,7 +7,6 @@ import ai.vespa.metricsproxy.metric.Metrics;
import ai.vespa.metricsproxy.metric.model.DimensionId;
import ai.vespa.metricsproxy.metric.model.ServiceId;
-import java.util.Collections;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
@@ -20,7 +19,7 @@ import java.util.concurrent.atomic.AtomicReference;
*/
public class VespaService implements Comparable<VespaService> {
- private static final Map<DimensionId, String> EMPTY_DIMENSIONS = Collections.emptyMap();
+ private static final Map<DimensionId, String> EMPTY_DIMENSIONS = Map.of();
private static final String DEFAULT_MONITORING_PREFIX = "vespa";
public static final String SEPARATOR = ".";
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java
index c97e4781889..9639d9598a8 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java
@@ -7,7 +7,6 @@ import com.yahoo.yolean.Exceptions;
import java.io.File;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
@@ -34,7 +33,7 @@ public class ImportedMlModels {
/** Create a null imported models */
public ImportedMlModels() {
- importedModels = Collections.emptyMap();
+ importedModels = Map.of();
}
public ImportedMlModels(File modelsDirectory, ExecutorService executor, Collection<MlModelImporter> importers) {
@@ -53,7 +52,7 @@ public class ImportedMlModels {
skippedModels.put(name, Exceptions.toMessageString(e));
}
});
- importedModels = Collections.unmodifiableMap(models);
+ importedModels = Map.copyOf(models);
}
/**
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Reports.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Reports.java
index 8e82307deb1..e10a4e82a0c 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Reports.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Reports.java
@@ -6,7 +6,6 @@ import com.yahoo.slime.Inspector;
import com.yahoo.slime.ObjectTraverser;
import com.yahoo.slime.Type;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -20,8 +19,8 @@ public class Reports {
private final Map<String, Report> reports;
- public Reports() { this(Collections.emptyMap()); }
- private Reports(Map<String, Report> reports) { this.reports = Collections.unmodifiableMap(reports); }
+ public Reports() { this(Map.of()); }
+ private Reports(Map<String, Report> reports) { this.reports = Map.copyOf(reports); }
public boolean isEmpty() { return reports.isEmpty(); }
public Optional<Report> getReport(String id) { return Optional.ofNullable(reports.get(id)); }
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java
index 5409061c441..700a16577af 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java
@@ -19,7 +19,6 @@ import com.yahoo.vespa.hosted.provision.NodeRepository;
import com.yahoo.vespa.service.monitor.ServiceModel;
import com.yahoo.vespa.service.monitor.ServiceMonitor;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -38,7 +37,7 @@ public class ServiceMonitorStub implements ServiceMonitor {
@Inject
@SuppressWarnings("unused")
public ServiceMonitorStub(NodeRepository nodeRepository) {
- this(Collections.emptyMap(), nodeRepository);
+ this(Map.of(), nodeRepository);
}
/** Create a service monitor where all nodes are initially up */
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java
index a2cf662a255..be0a532128f 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java
@@ -4,8 +4,8 @@ package com.yahoo.searchlib.rankingexpression.rule;
import com.yahoo.searchlib.rankingexpression.ExpressionFunction;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -23,12 +23,12 @@ public class FunctionReferenceContext {
/** Create a context for a single serialization task */
public FunctionReferenceContext() {
- this(Collections.emptyList());
+ this(List.of());
}
/** Create a context for a single serialization task */
public FunctionReferenceContext(Collection<ExpressionFunction> functions) {
- this(toMap(functions), Collections.emptyMap());
+ this(toMap(functions), Map.of());
}
public FunctionReferenceContext(Collection<ExpressionFunction> functions, Map<String, String> bindings) {
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java
index d1cb77fb1b4..271e367c1f4 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java
@@ -9,9 +9,9 @@ import com.yahoo.tensor.evaluation.TypeContext;
import static com.yahoo.searchlib.rankingexpression.Reference.wrapInRankingExpression;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -29,7 +29,7 @@ public class SerializationContext extends FunctionReferenceContext {
/** Create a context for a single serialization task */
public SerializationContext() {
- this(Collections.emptyList(), Collections.emptyMap(), Optional.empty(), new LinkedHashMap<>());
+ this(List.of(), Map.of(), Optional.empty(), new LinkedHashMap<>());
}
/**
@@ -40,7 +40,7 @@ public class SerializationContext extends FunctionReferenceContext {
*/
public SerializationContext(Collection<ExpressionFunction> functions,
Optional<TypeContext<Reference>> typeContext) {
- this(functions, Collections.emptyMap(), typeContext, new LinkedHashMap<>());
+ this(functions, Map.of(), typeContext, new LinkedHashMap<>());
}
/**
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/transform/SimplifierTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/transform/SimplifierTestCase.java
index 0f367bb5425..7736b0e9ac7 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/transform/SimplifierTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/transform/SimplifierTestCase.java
@@ -12,7 +12,7 @@ import com.yahoo.searchlib.rankingexpression.rule.ConstantNode;
import com.yahoo.searchlib.rankingexpression.rule.NegativeNode;
import org.junit.Test;
-import java.util.Collections;
+import java.util.Map;
import static org.junit.Assert.*;
@@ -24,7 +24,7 @@ public class SimplifierTestCase {
@Test
public void testSimplify() throws ParseException {
Simplifier s = new Simplifier();
- TransformContext c = new TransformContext(Collections.emptyMap(), new MapTypeContext());
+ TransformContext c = new TransformContext(Map.of(), new MapTypeContext());
assertEquals("a + b", s.transform(new RankingExpression("a + b"), c).toString());
assertEquals("6.5", s.transform(new RankingExpression("1.0 + 2.0 + 3.5"), c).toString());
assertEquals("6.5", s.transform(new RankingExpression("1.0 + ( 2.0 + 3.5 )"), c).toString());
@@ -48,7 +48,7 @@ public class SimplifierTestCase {
@Test
public void testNaNExpression() throws ParseException {
Simplifier s = new Simplifier();
- TransformContext c = new TransformContext(Collections.emptyMap(), new MapTypeContext());
+ TransformContext c = new TransformContext(Map.of(), new MapTypeContext());
assertEquals("0 / 0", s.transform(new RankingExpression("0/0"), c).toString());
assertEquals("1 + 0.0 / 0.0", s.transform(new RankingExpression("1 + (1-1)/(2-2)"), c).toString());
}
@@ -56,7 +56,7 @@ public class SimplifierTestCase {
@Test
public void testSimplifyComplexExpression() throws ParseException {
RankingExpression initial = new RankingExpression("sqrt(if (if (INFERRED * 0.9 < INFERRED, GMP, (1 + 1.1) * INFERRED) < INFERRED * INFERRED - INFERRED, if (GMP < 85.80799542793133 * GMP, INFERRED, if (GMP < GMP, tanh(INFERRED), log(76.89956221113943))), tanh(tanh(INFERRED))) * sqrt(sqrt(GMP + INFERRED)) * GMP ) + 13.5 * (1 - GMP) * pow(GMP * 0.1, 2 + 1.1 * 0)");
- TransformContext c = new TransformContext(Collections.emptyMap(), new MapTypeContext());
+ TransformContext c = new TransformContext(Map.of(), new MapTypeContext());
RankingExpression simplified = new Simplifier().transform(initial, c);
Context context = new MapContext();
@@ -81,7 +81,7 @@ public class SimplifierTestCase {
@Test
public void testParenthesisPreservation() throws ParseException {
Simplifier s = new Simplifier();
- TransformContext c = new TransformContext(Collections.emptyMap(), new MapTypeContext());
+ TransformContext c = new TransformContext(Map.of(), new MapTypeContext());
CompositeNode transformed = (CompositeNode)s.transform(new RankingExpression("a + (b + c) / 100000000.0"), c).getRoot();
assertEquals("a + (b + c) / 1.0E8", transformed.toString());
}
@@ -89,7 +89,7 @@ public class SimplifierTestCase {
@Test
public void testOptimizingNegativeConstants() throws ParseException {
Simplifier s = new Simplifier();
- TransformContext c = new TransformContext(Collections.emptyMap(), new MapTypeContext());
+ TransformContext c = new TransformContext(Map.of(), new MapTypeContext());
assertEquals("-3", s.transform(new RankingExpression("-3"), c).toString());
assertEquals("-9.0", s.transform(new RankingExpression("-3 + -6"), c).toString());
assertEquals("-a", s.transform(new RankingExpression("-a"), c).toString());
diff --git a/standalone-container/src/main/java/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.java b/standalone-container/src/main/java/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.java
index 8da19fcb64b..5789a69a4db 100644
--- a/standalone-container/src/main/java/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.java
+++ b/standalone-container/src/main/java/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.java
@@ -32,7 +32,6 @@ import java.net.URLClassLoader;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;
@@ -226,7 +225,7 @@ public final class ClassLoaderOsgiFramework implements OsgiFramework {
@Override
public Map<X509Certificate, List<X509Certificate>> getSignerCertificates(int signersType) {
- return Collections.emptyMap();
+ return Map.of();
}
@Override
diff --git a/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/Endpoint.java b/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/Endpoint.java
index dd76827dd2b..1ae5171c93a 100644
--- a/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/Endpoint.java
+++ b/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/Endpoint.java
@@ -5,7 +5,6 @@ import java.net.URI;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
-import java.util.Collections;
import java.util.Map;
/**
@@ -34,7 +33,7 @@ public interface Endpoint {
/** Creates a request against the endpoint, with the given path. */
default HttpRequest.Builder request(String path) {
- return request(path, Collections.emptyMap());
+ return request(path, Map.of());
}
}
diff --git a/vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/impl/CliArguments.java b/vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/impl/CliArguments.java
index e07108a84ad..35faa89388b 100644
--- a/vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/impl/CliArguments.java
+++ b/vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/impl/CliArguments.java
@@ -18,7 +18,6 @@ import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Path;
import java.time.Duration;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
@@ -26,7 +25,6 @@ import java.util.OptionalDouble;
import java.util.OptionalInt;
import static ai.vespa.feed.client.FeedClientBuilder.Compression.auto;
-import static ai.vespa.feed.client.FeedClientBuilder.Compression.none;
/**
* Parses command line arguments
@@ -139,7 +137,7 @@ class CliArguments {
Map<String, String> headers() throws CliArgumentsException {
String[] rawArguments = arguments.getOptionValues(HEADER_OPTION);
- if (rawArguments == null) return Collections.emptyMap();
+ if (rawArguments == null) return Map.of();
Map<String, String> headers = new HashMap<>();
for (String rawArgument : rawArguments) {
if (rawArgument.startsWith("\"") || rawArgument.startsWith("'")) {
@@ -152,7 +150,7 @@ class CliArguments {
if (colonIndex == -1) throw new CliArgumentsException("Invalid header: '" + rawArgument + "'");
headers.put(rawArgument.substring(0, colonIndex), rawArgument.substring(colonIndex + 1).trim());
}
- return Collections.unmodifiableMap(headers);
+ return Map.copyOf(headers);
}
boolean sslHostnameVerificationDisabled() { return has(DISABLE_SSL_HOSTNAME_VERIFICATION_OPTION); }
diff --git a/zookeeper-server/zookeeper-server-3.9.2/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java b/zookeeper-server/zookeeper-server-3.9.2/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java
index 8ea94fd4daf..99c4ae16dce 100644
--- a/zookeeper-server/zookeeper-server-3.9.2/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java
+++ b/zookeeper-server/zookeeper-server-3.9.2/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java
@@ -19,7 +19,6 @@
package org.apache.zookeeper.server.quorum;
import java.io.IOException;
-import java.util.Collections;
import java.util.Map;
import org.apache.zookeeper.jmx.MBeanRegistry;
import org.apache.zookeeper.server.DataTreeBean;
@@ -61,7 +60,7 @@ public abstract class LearnerZooKeeperServer extends QuorumZooKeeperServer {
if (sessionTracker != null) {
return ((LearnerSessionTracker) sessionTracker).snapshot();
}
- Map<Long, Integer> map = Collections.emptyMap();
+ Map<Long, Integer> map = Map.of();
return map;
}
diff --git a/zookeeper-server/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java b/zookeeper-server/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java
index 8ea94fd4daf..99c4ae16dce 100644
--- a/zookeeper-server/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java
+++ b/zookeeper-server/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.java
@@ -19,7 +19,6 @@
package org.apache.zookeeper.server.quorum;
import java.io.IOException;
-import java.util.Collections;
import java.util.Map;
import org.apache.zookeeper.jmx.MBeanRegistry;
import org.apache.zookeeper.server.DataTreeBean;
@@ -61,7 +60,7 @@ public abstract class LearnerZooKeeperServer extends QuorumZooKeeperServer {
if (sessionTracker != null) {
return ((LearnerSessionTracker) sessionTracker).snapshot();
}
- Map<Long, Integer> map = Collections.emptyMap();
+ Map<Long, Integer> map = Map.of();
return map;
}