diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-04-11 10:27:59 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-04-11 16:07:22 +0200 |
commit | 48b9513ee685145d338e0cf9970193ba8254ce33 (patch) | |
tree | d9f489b0c1ffd448bc067441b032adfb1c379f1b | |
parent | ef1cf91e0d21ceb4c40d1a6efd62d3dabd08cb86 (diff) |
Unify on Set.of
30 files changed, 152 insertions, 182 deletions
diff --git a/abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java b/abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java index 6821a03818e..8782e6a6c03 100644 --- a/abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java +++ b/abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java @@ -13,8 +13,9 @@ import com.yahoo.abicheck.classtree.ClassFileTree; import com.yahoo.abicheck.signature.JavaClassSignature; import java.io.IOException; import java.util.Arrays; -import java.util.Collections; +import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.maven.plugin.logging.Log; import org.junit.jupiter.api.Test; import root.Root; @@ -30,9 +31,9 @@ public class AbiCheckTest { ClassFileTree.ClassFile rootPkgClass = mock(ClassFileTree.ClassFile.class); ClassFileTree.ClassFile subPkgClass = mock(ClassFileTree.ClassFile.class); - when(rootPkg.getSubPackages()).thenReturn(Collections.singleton(subPkg)); + when(rootPkg.getSubPackages()).thenReturn(Set.of(subPkg)); when(rootPkg.getClassFiles()).thenReturn(Arrays.asList(rootPkgClass, rootPkgInfoClass)); - when(subPkg.getClassFiles()).thenReturn(Collections.singleton(subPkgClass)); + when(subPkg.getClassFiles()).thenReturn(Set.of(subPkgClass)); when(rootPkgInfoClass.getName()).thenReturn("package-info.class"); when(rootPkgInfoClass.getInputStream()) @@ -68,16 +69,16 @@ public class AbiCheckTest { JavaClassSignature signatureA = new JavaClassSignature( "java.lang.Object", - Collections.emptySet(), - Collections.singletonList("public"), - Collections.singleton("public void foo()"), - Collections.singleton("public int bar")); + Set.of(), + List.of("public"), + Set.of("public void foo()"), + Set.of("public int bar")); JavaClassSignature signatureB = new JavaClassSignature( "java.lang.Exception", - Collections.singleton("java.lang.Runnable"), - Collections.singletonList("protected"), - Collections.singleton("public void foo(int)"), - Collections.singleton("public boolean bar")); + Set.of("java.lang.Runnable"), + List.of("protected"), + Set.of("public void foo(int)"), + Set.of("public boolean bar")); Map<String, JavaClassSignature> expected = ImmutableMap.<String, JavaClassSignature>builder() .put("test.Missing", signatureA) diff --git a/application/src/test/java/com/yahoo/application/container/handler/HeadersTestCase.java b/application/src/test/java/com/yahoo/application/container/handler/HeadersTestCase.java index 9514749138c..4079fc377d6 100644 --- a/application/src/test/java/com/yahoo/application/container/handler/HeadersTestCase.java +++ b/application/src/test/java/com/yahoo/application/container/handler/HeadersTestCase.java @@ -3,11 +3,7 @@ package com.yahoo.application.container.handler; import org.junit.jupiter.api.Test; -import java.util.Arrays; import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -66,9 +62,9 @@ public class HeadersTestCase { @Test void requireThatContainsValueWorksAsExpected() { Headers headers = new Headers(); - assertFalse(headers.containsValue(Arrays.asList("bar"))); + assertFalse(headers.containsValue(List.of("bar"))); headers.add("foo", "bar"); - assertTrue(headers.containsValue(Arrays.asList("bar"))); + assertTrue(headers.containsValue(List.of("bar"))); } @Test @@ -104,19 +100,19 @@ public class HeadersTestCase { Headers headers = new Headers(); assertNull(headers.get("foo")); headers.add("foo", "bar"); - assertEquals(Arrays.asList("bar"), headers.get("foo")); + assertEquals(List.of("bar"), headers.get("foo")); headers.add("foo", "baz"); - assertEquals(Arrays.asList("bar", "baz"), headers.get("foo")); + assertEquals(List.of("bar", "baz"), headers.get("foo")); } @Test void requireThatAddListWorksAsExpected() { Headers headers = new Headers(); assertNull(headers.get("foo")); - headers.add("foo", Arrays.asList("bar")); - assertEquals(Arrays.asList("bar"), headers.get("foo")); - headers.add("foo", Arrays.asList("baz", "cox")); - assertEquals(Arrays.asList("bar", "baz", "cox"), headers.get("foo")); + headers.add("foo", List.of("bar")); + assertEquals(List.of("bar"), headers.get("foo")); + headers.add("foo", List.of("baz", "cox")); + assertEquals(List.of("bar", "baz", "cox"), headers.get("foo")); } @Test @@ -124,16 +120,14 @@ public class HeadersTestCase { Headers headers = new Headers(); headers.add("foo", "bar"); headers.add("bar", "baz"); - assertEquals(Arrays.asList("bar"), headers.get("foo")); - assertEquals(Arrays.asList("baz"), headers.get("bar")); + assertEquals(List.of("bar"), headers.get("foo")); + assertEquals(List.of("baz"), headers.get("bar")); - Map<String, List<String>> map = new HashMap<>(); - map.put("foo", Arrays.asList("baz", "cox")); - map.put("bar", Arrays.asList("cox")); + Map<String, List<String>> map = Map.of("foo", List.of("baz", "cox"), "bar", List.of("cox")); headers.addAll(map); - assertEquals(Arrays.asList("bar", "baz", "cox"), headers.get("foo")); - assertEquals(Arrays.asList("baz", "cox"), headers.get("bar")); + assertEquals(List.of("bar", "baz", "cox"), headers.get("foo")); + assertEquals(List.of("baz", "cox"), headers.get("bar")); } @Test @@ -141,19 +135,19 @@ public class HeadersTestCase { Headers headers = new Headers(); assertNull(headers.get("foo")); headers.put("foo", "bar"); - assertEquals(Arrays.asList("bar"), headers.get("foo")); + assertEquals(List.of("bar"), headers.get("foo")); headers.put("foo", "baz"); - assertEquals(Arrays.asList("baz"), headers.get("foo")); + assertEquals(List.of("baz"), headers.get("foo")); } @Test void requireThatPutListWorksAsExpected() { Headers headers = new Headers(); assertNull(headers.get("foo")); - headers.put("foo", Arrays.asList("bar")); - assertEquals(Arrays.asList("bar"), headers.get("foo")); - headers.put("foo", Arrays.asList("baz", "cox")); - assertEquals(Arrays.asList("baz", "cox"), headers.get("foo")); + headers.put("foo", List.of("bar")); + assertEquals(List.of("bar"), headers.get("foo")); + headers.put("foo", List.of("baz", "cox")); + assertEquals(List.of("baz", "cox"), headers.get("foo")); } @Test @@ -161,24 +155,22 @@ public class HeadersTestCase { Headers headers = new Headers(); headers.add("foo", "bar"); headers.add("bar", "baz"); - assertEquals(Arrays.asList("bar"), headers.get("foo")); - assertEquals(Arrays.asList("baz"), headers.get("bar")); + assertEquals(List.of("bar"), headers.get("foo")); + assertEquals(List.of("baz"), headers.get("bar")); - Map<String, List<String>> map = new HashMap<>(); - map.put("foo", Arrays.asList("baz", "cox")); - map.put("bar", Arrays.asList("cox")); + Map<String, List<String>> map = Map.of("foo", List.of("baz", "cox"), "bar", List.of("cox")); headers.putAll(map); - assertEquals(Arrays.asList("baz", "cox"), headers.get("foo")); - assertEquals(Arrays.asList("cox"), headers.get("bar")); + assertEquals(List.of("baz", "cox"), headers.get("foo")); + assertEquals(List.of("cox"), headers.get("bar")); } @Test void requireThatRemoveWorksAsExpected() { Headers headers = new Headers(); - headers.put("foo", Arrays.asList("bar", "baz")); - assertEquals(Arrays.asList("bar", "baz"), headers.get("foo")); - assertEquals(Arrays.asList("bar", "baz"), headers.remove("foo")); + headers.put("foo", List.of("bar", "baz")); + assertEquals(List.of("bar", "baz"), headers.get("foo")); + assertEquals(List.of("bar", "baz"), headers.remove("foo")); assertNull(headers.get("foo")); assertNull(headers.remove("foo")); } @@ -186,11 +178,11 @@ public class HeadersTestCase { @Test void requireThatRemoveStringWorksAsExpected() { Headers headers = new Headers(); - headers.put("foo", Arrays.asList("bar", "baz")); - assertEquals(Arrays.asList("bar", "baz"), headers.get("foo")); + headers.put("foo", List.of("bar", "baz")); + assertEquals(List.of("bar", "baz"), headers.get("foo")); assertTrue(headers.remove("foo", "bar")); assertFalse(headers.remove("foo", "cox")); - assertEquals(Arrays.asList("baz"), headers.get("foo")); + assertEquals(List.of("baz"), headers.get("foo")); assertTrue(headers.remove("foo", "baz")); assertFalse(headers.remove("foo", "cox")); assertNull(headers.get("foo")); @@ -201,8 +193,8 @@ public class HeadersTestCase { Headers headers = new Headers(); headers.add("foo", "bar"); headers.add("bar", "baz"); - assertEquals(Arrays.asList("bar"), headers.get("foo")); - assertEquals(Arrays.asList("baz"), headers.get("bar")); + assertEquals(List.of("bar"), headers.get("foo")); + assertEquals(List.of("baz"), headers.get("bar")); headers.clear(); assertNull(headers.get("foo")); assertNull(headers.get("bar")); @@ -213,14 +205,14 @@ public class HeadersTestCase { Headers headers = new Headers(); assertNull(headers.get("foo")); headers.add("foo", "bar"); - assertEquals(Arrays.asList("bar"), headers.get("foo")); + assertEquals(List.of("bar"), headers.get("foo")); } @Test void requireThatGetFirstWorksAsExpected() { Headers headers = new Headers(); assertNull(headers.getFirst("foo")); - headers.add("foo", Arrays.asList("bar", "baz")); + headers.add("foo", List.of("bar", "baz")); assertEquals("bar", headers.getFirst("foo")); } @@ -228,28 +220,28 @@ public class HeadersTestCase { void requireThatIsTrueWorksAsExpected() { Headers headers = new Headers(); assertFalse(headers.isTrue("foo")); - headers.put("foo", Arrays.asList("true")); + headers.put("foo", List.of("true")); assertTrue(headers.isTrue("foo")); - headers.put("foo", Arrays.asList("true", "true")); + headers.put("foo", List.of("true", "true")); assertTrue(headers.isTrue("foo")); - headers.put("foo", Arrays.asList("true", "false")); + headers.put("foo", List.of("true", "false")); assertFalse(headers.isTrue("foo")); - headers.put("foo", Arrays.asList("false", "true")); + headers.put("foo", List.of("false", "true")); assertFalse(headers.isTrue("foo")); - headers.put("foo", Arrays.asList("false", "false")); + headers.put("foo", List.of("false", "false")); assertFalse(headers.isTrue("foo")); - headers.put("foo", Arrays.asList("false")); + headers.put("foo", List.of("false")); assertFalse(headers.isTrue("foo")); } @Test void requireThatKeySetWorksAsExpected() { Headers headers = new Headers(); - assertEquals(Collections.<Set<String>>emptySet(), headers.keySet()); + assertEquals(Set.of(), headers.keySet()); headers.add("foo", "bar"); - assertEquals(new HashSet<>(Arrays.asList("foo")), headers.keySet()); + assertEquals(Set.of("foo"), headers.keySet()); headers.add("bar", "baz"); - assertEquals(new HashSet<>(Arrays.asList("foo", "bar")), headers.keySet()); + assertEquals(Set.of("foo", "bar"), headers.keySet()); } @Test @@ -259,34 +251,34 @@ public class HeadersTestCase { headers.add("foo", "bar"); Collection<List<String>> values = headers.values(); assertEquals(1, values.size()); - assertTrue(values.contains(Arrays.asList("bar"))); + assertTrue(values.contains(List.of("bar"))); headers.add("bar", "baz"); values = headers.values(); assertEquals(2, values.size()); - assertTrue(values.contains(Arrays.asList("bar"))); - assertTrue(values.contains(Arrays.asList("baz"))); + assertTrue(values.contains(List.of("bar"))); + assertTrue(values.contains(List.of("baz"))); } @Test void requireThatEntrySetWorksAsExpected() { Headers headers = new Headers(); - assertEquals(Collections.emptySet(), headers.entrySet()); - headers.put("foo", Arrays.asList("bar", "baz")); + assertEquals(Set.of(), headers.entrySet()); + headers.put("foo", List.of("bar", "baz")); Set<Map.Entry<String, List<String>>> entries = headers.entrySet(); assertEquals(1, entries.size()); Map.Entry<String, List<String>> entry = entries.iterator().next(); assertNotNull(entry); assertEquals("foo", entry.getKey()); - assertEquals(Arrays.asList("bar", "baz"), entry.getValue()); + assertEquals(List.of("bar", "baz"), entry.getValue()); } @Test void requireThatEntriesWorksAsExpected() { Headers headers = new Headers(); - assertEquals(Collections.emptyList(), headers.entries()); - headers.put("foo", Arrays.asList("bar", "baz")); + assertEquals(List.of(), headers.entries()); + headers.put("foo", List.of("bar", "baz")); List<Map.Entry<String, String>> entries = headers.entries(); assertEquals(2, entries.size()); diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventDiffCalculator.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventDiffCalculator.java index 5c29228b858..d57f32ee3cb 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventDiffCalculator.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventDiffCalculator.java @@ -9,7 +9,6 @@ import com.yahoo.vdslib.state.NodeType; import com.yahoo.vdslib.state.State; import java.util.ArrayList; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Optional; @@ -174,8 +173,8 @@ public class EventDiffCalculator { private static void emitNodeResourceExhaustionEvents(PerStateParams params, List<Event> events, ContentCluster cluster) { // Feed block events are not ordered by node - Set<NodeResourceExhaustion> fromBlockSet = params.feedBlockFrom != null ? params.feedBlockFrom.getConcreteExhaustions() : Collections.emptySet(); - Set<NodeResourceExhaustion> toBlockSet = params.feedBlockTo != null ? params.feedBlockTo.getConcreteExhaustions() : Collections.emptySet(); + Set<NodeResourceExhaustion> fromBlockSet = params.feedBlockFrom != null ? params.feedBlockFrom.getConcreteExhaustions() : Set.of(); + Set<NodeResourceExhaustion> toBlockSet = params.feedBlockTo != null ? params.feedBlockTo.getConcreteExhaustions() : Set.of(); for (var ex : setSubtraction(fromBlockSet, toBlockSet)) { var info = cluster.getNodeInfo(ex.node); diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ResourceExhaustionCalculator.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ResourceExhaustionCalculator.java index 200a5564c64..4ed1ab967fd 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ResourceExhaustionCalculator.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ResourceExhaustionCalculator.java @@ -4,7 +4,6 @@ package com.yahoo.vespa.clustercontroller.core; import com.yahoo.vespa.clustercontroller.core.hostinfo.HostInfo; import java.util.Collection; -import java.util.Collections; import java.util.LinkedHashSet; import java.util.Map; import java.util.Objects; @@ -60,7 +59,7 @@ public class ResourceExhaustionCalculator { this.feedBlockEnabled = feedBlockEnabled; this.feedBlockLimits = feedBlockLimits; this.feedBlockNoiseLevel = 0.0; - this.previouslyBlockedNodeResources = Collections.emptySet(); + this.previouslyBlockedNodeResources = Set.of(); } public ResourceExhaustionCalculator(boolean feedBlockEnabled, Map<String, Double> feedBlockLimits, @@ -74,7 +73,7 @@ public class ResourceExhaustionCalculator { .map(ex -> NodeAndResourceType.of(ex.node.getIndex(), ex.resourceType)) .collect(Collectors.toSet()); } else { - this.previouslyBlockedNodeResources = Collections.emptySet(); + this.previouslyBlockedNodeResources = Set.of(); } } @@ -124,12 +123,12 @@ public class ResourceExhaustionCalculator { effectiveLimit, nodeInfo.getRpcAddress())); } } - return (exceedingLimit != null) ? exceedingLimit : Collections.emptySet(); + return (exceedingLimit != null) ? exceedingLimit : Set.of(); } public Set<NodeResourceExhaustion> enumerateNodeResourceExhaustions(NodeInfo nodeInfo) { if (!nodeInfo.isStorage()) { - return Collections.emptySet(); + return Set.of(); } return resourceExhaustionsFromHostInfo(nodeInfo, nodeInfo.getHostInfo()); } diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/testutils/Waiter.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/testutils/Waiter.java index 9e7665e65ee..bf8ba7756e2 100644 --- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/testutils/Waiter.java +++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/testutils/Waiter.java @@ -8,7 +8,6 @@ import com.yahoo.vespa.clustercontroller.core.DummyVdsNode; import com.yahoo.vespa.clustercontroller.core.FleetController; import java.time.Duration; import java.time.Instant; -import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Objects; @@ -62,13 +61,13 @@ public interface Waiter { return waitForState(state, data.getTimeout()); } public ClusterState waitForStateInAllSpaces(String state) { - return waitForState(state, data.getTimeout(), true, Collections.emptySet()); + return waitForState(state, data.getTimeout(), true, Set.of()); } public ClusterState waitForStateInSpace(String space, String state) { - return waitForState(state, data.getTimeout(), false, Collections.singleton(space)); + return waitForState(state, data.getTimeout(), false, Set.of(space)); } public ClusterState waitForState(String state, Duration timeoutMS) { - return waitForState(state, timeoutMS, false, Collections.emptySet()); + return waitForState(state, timeoutMS, false, Set.of()); } public ClusterState waitForStableSystem() { return waitForStableSystem(data.getDummyNodes().size() / 2); diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostFilter.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostFilter.java index 4fe6f8453de..f79fee08bc4 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/HostFilter.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostFilter.java @@ -4,7 +4,6 @@ package com.yahoo.config.provision; import com.yahoo.text.StringUtilities; import java.util.Collection; -import java.util.Collections; import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -44,27 +43,27 @@ public class HostFilter { /** Returns a filter which matches all hosts */ public static HostFilter all() { - return new HostFilter(Collections.emptySet(), Collections.emptySet(), Collections.emptySet(), Collections.emptySet()); + return new HostFilter(Set.of(), Set.of(), Set.of(), Set.of()); } /** Returns a filter which matches a given host only */ public static HostFilter hostname(String hostname) { - return new HostFilter(Collections.singleton(hostname), Collections.emptySet(), Collections.emptySet(), Collections.emptySet()); + return new HostFilter(Set.of(hostname), Set.of(), Set.of(), Set.of()); } /** Returns a filter which matches a given flavor only */ public static HostFilter flavor(String flavor) { - return new HostFilter(Collections.emptySet(), Collections.singleton(flavor), Collections.emptySet(), Collections.emptySet()); + return new HostFilter(Set.of(), Set.of(flavor), Set.of(), Set.of()); } /** Returns a filter which matches a given cluster type only */ public static HostFilter clusterType(ClusterSpec.Type clusterType) { - return new HostFilter(Collections.emptySet(), Collections.emptySet(), Collections.singleton(clusterType), Collections.emptySet()); + return new HostFilter(Set.of(), Set.of(), Set.of(clusterType), Set.of()); } /** Returns a filter which matches a given cluster id only */ public static HostFilter clusterId(ClusterSpec.Id clusterId) { - return new HostFilter(Collections.emptySet(), Collections.emptySet(), Collections.emptySet(), Collections.singleton(clusterId)); + return new HostFilter(Set.of(), Set.of(), Set.of(), Set.of(clusterId)); } /** Returns a host filter from three optional conditions */ diff --git a/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java b/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java index fcccc02d143..5a04bd8eae1 100644 --- a/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java +++ b/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java @@ -8,7 +8,6 @@ import com.yahoo.container.di.config.Subscriber; import com.yahoo.container.di.config.SubscriberFactory; import com.yahoo.vespa.config.ConfigKey; -import java.util.Collections; import java.util.HashSet; import java.util.Map; import java.util.Optional; @@ -135,7 +134,7 @@ public final class ConfigRetriever { private void resetComponentSubscriberIfBootstrap(ConfigSnapshot configSnapshot) { if (configSnapshot instanceof BootstrapConfigs) { - setupComponentSubscriber(Collections.emptySet()); + setupComponentSubscriber(Set.of()); } } diff --git a/container-core/src/main/java/com/yahoo/container/di/Osgi.java b/container-core/src/main/java/com/yahoo/container/di/Osgi.java index 0ff640031fc..7bab8605a3e 100644 --- a/container-core/src/main/java/com/yahoo/container/di/Osgi.java +++ b/container-core/src/main/java/com/yahoo/container/di/Osgi.java @@ -10,8 +10,6 @@ import org.osgi.framework.Bundle; import java.util.Collection; import java.util.Set; -import static java.util.Collections.emptySet; - /** * This interface has default implementations of all methods, to allow using it * for testing, instead of mocking or a test implementation. @@ -49,7 +47,7 @@ public interface Osgi { * @return The set of bundles that are no longer needed by the new or latest good generation. */ default Set<Bundle> completeBundleGeneration(GenerationStatus status) { - return emptySet(); + return Set.of(); } default Class<?> resolveClass(BundleInstantiationSpecification spec) { diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java b/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java index ca10072c6c9..8b5fb128e2b 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java +++ b/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java @@ -8,10 +8,8 @@ import com.yahoo.component.provider.ComponentRegistry; import com.yahoo.config.ConfigInstance; import com.yahoo.vespa.config.ConfigKey; -import java.util.Collections; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; /** * @author Tony Vaagenes @@ -20,7 +18,7 @@ import java.util.stream.Collectors; */ public class ComponentRegistryNode extends Node { - private static ComponentId componentRegistryNamespace = ComponentId.fromString("ComponentRegistry"); + private static final ComponentId componentRegistryNamespace = ComponentId.fromString("ComponentRegistry"); private final Class<?> componentClass; @@ -63,7 +61,7 @@ public class ComponentRegistryNode extends Node { @Override public Set<ConfigKey<ConfigInstance>> configKeys() { - return Collections.emptySet(); + return Set.of(); } @Override @@ -76,8 +74,7 @@ public class ComponentRegistryNode extends Node { @Override public boolean equals(Object other) { - if (other instanceof ComponentRegistryNode) { - ComponentRegistryNode that = (ComponentRegistryNode) other; + if (other instanceof ComponentRegistryNode that) { return this.componentId().equals(that.componentId()) && this.instanceType().equals(that.instanceType()) && equalNodeEdges(this.usedComponents(), that.usedComponents()); } else { diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java b/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java index 936eadb0b3c..8e6a39a4921 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java +++ b/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java @@ -7,7 +7,6 @@ import com.yahoo.config.ConfigInstance; import com.yahoo.vespa.config.ConfigKey; import java.lang.annotation.Annotation; -import java.util.Collections; import java.util.List; import java.util.Set; @@ -24,8 +23,7 @@ public final class GuiceNode extends Node { private final Object myInstance; private final Annotation annotation; - public GuiceNode(Object myInstance, - Annotation annotation) { + public GuiceNode(Object myInstance, Annotation annotation) { super(componentId(myInstance)); this.myInstance = myInstance; this.annotation = annotation; @@ -33,7 +31,7 @@ public final class GuiceNode extends Node { @Override public Set<ConfigKey<ConfigInstance>> configKeys() { - return Collections.emptySet(); + return Set.of(); } @Override @@ -54,7 +52,7 @@ public final class GuiceNode extends Node { @Override public List<Node> usedComponents() { - return Collections.emptyList(); + return List.of(); } @Override diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java index 165330662a9..894a231f9be 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java @@ -25,7 +25,6 @@ import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -91,7 +90,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler { @Override protected Iterable<ByteBuffer> responseContent() { - return Collections.singleton(ByteBuffer.wrap(buildMetricOutput(request.getUri().getQuery()))); + return Set.of(ByteBuffer.wrap(buildMetricOutput(request.getUri().getQuery()))); } }.dispatch(handler); @@ -160,7 +159,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler { } private List<JsonNode> getPacketsForSnapshot(MetricSnapshot metricSnapshot, String application, long timestamp) { - if (metricSnapshot == null) return Collections.emptyList(); + if (metricSnapshot == null) return List.of(); List<JsonNode> packets = new ArrayList<>(); @@ -178,9 +177,9 @@ public class MetricsPacketsHandler extends AbstractRequestHandler { } private List<JsonNode> getPacketsForSnapshot(MetricSnapshot metricSnapshot, String metricSetId, String application, long timestamp) { - if (metricSnapshot == null) return Collections.emptyList(); + if (metricSnapshot == null) return List.of(); if (metricSetId == null) return getPacketsForSnapshot(metricSnapshot, application, timestamp); - Set<String> configuredMetrics = metricSets.getOrDefault(metricSetId, Collections.emptySet()); + Set<String> configuredMetrics = metricSets.getOrDefault(metricSetId, Set.of()); List<JsonNode> packets = new ArrayList<>(); for (Map.Entry<MetricDimensions, MetricSet> snapshotEntry : metricSnapshot) { diff --git a/container-core/src/test/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilderTest.java b/container-core/src/test/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilderTest.java index 8c94b5f9a93..7e5cc5187ba 100644 --- a/container-core/src/test/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilderTest.java +++ b/container-core/src/test/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilderTest.java @@ -12,7 +12,6 @@ import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -90,9 +89,9 @@ public class ChainBuilderTest { @Test void testPhaseAndSearcher() { ChainBuilder depHandler = newChainBuilder(); - depHandler.addPhase(new Phase("phase1", set("phase2"), Collections.<String>emptySet())); + depHandler.addPhase(new Phase("phase1", set("phase2"), Set.of())); depHandler.addPhase(new Phase("phase2", set("phase3"), set("phase1"))); - depHandler.addPhase(new Phase("phase3", Collections.<String>emptySet(), set("phase2", "phase1"))); + depHandler.addPhase(new Phase("phase3", Set.of(), set("phase2", "phase1"))); ChainedComponent first = new First(); ChainedComponent second = new Second(); @@ -172,9 +171,9 @@ public class ChainBuilderTest { private ChainBuilder createDependencyHandler() { ChainBuilder chainBuilder = newChainBuilder(); - chainBuilder.addPhase(new Phase("phase1", Collections.<String>emptySet(), Collections.<String>emptySet())); - chainBuilder.addPhase(new Phase("phase2", Collections.<String>emptySet(), Collections.<String>emptySet())); - chainBuilder.addPhase(new Phase("phase3", Collections.<String>emptySet(), Collections.<String>emptySet())); + chainBuilder.addPhase(new Phase("phase1", Set.of(), Set.of())); + chainBuilder.addPhase(new Phase("phase2", Set.of(), Set.of())); + chainBuilder.addPhase(new Phase("phase3", Set.of(), Set.of())); return chainBuilder; } diff --git a/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java b/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java index 14349d4cd51..7240b6510c5 100644 --- a/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java +++ b/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java @@ -15,7 +15,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; import java.io.File; -import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -45,7 +44,7 @@ public class ConfigRetrieverTest { void require_that_bootstrap_configs_come_first() { writeConfigs(); ConfigRetriever retriever = createConfigRetriever(); - ConfigSnapshot bootstrapConfigs = retriever.getConfigs(Collections.emptySet(), 0, true); + ConfigSnapshot bootstrapConfigs = retriever.getConfigs(Set.of(), 0, true); assertTrue(bootstrapConfigs instanceof BootstrapConfigs); retriever.shutdown(); @@ -56,10 +55,10 @@ public class ConfigRetrieverTest { void require_that_components_comes_after_bootstrap() { writeConfigs(); ConfigRetriever retriever = createConfigRetriever(); - ConfigSnapshot bootstrapConfigs = retriever.getConfigs(Collections.emptySet(), 0, true); + ConfigSnapshot bootstrapConfigs = retriever.getConfigs(Set.of(), 0, true); ConfigKey<? extends ConfigInstance> testConfigKey = new ConfigKey<>(TestConfig.class, dirConfigSource.configId()); - ConfigSnapshot componentsConfigs = retriever.getConfigs(Collections.singleton(testConfigKey), 0, true); + ConfigSnapshot componentsConfigs = retriever.getConfigs(Set.of(testConfigKey), 0, true); if (componentsConfigs instanceof ComponentsConfigs) { assertEquals(3, componentsConfigs.size()); @@ -75,8 +74,8 @@ public class ConfigRetrieverTest { writeConfigs(); ConfigRetriever retriever = createConfigRetriever(); ConfigKey<? extends ConfigInstance> testConfigKey = new ConfigKey<>(TestConfig.class, dirConfigSource.configId()); - ConfigSnapshot bootstrapConfigs = retriever.getConfigs(Collections.emptySet(), 0, true); - ConfigSnapshot componentsConfigs = retriever.getConfigs(Collections.singleton(testConfigKey), 0, true); + ConfigSnapshot bootstrapConfigs = retriever.getConfigs(Set.of(), 0, true); + ConfigSnapshot componentsConfigs = retriever.getConfigs(Set.of(testConfigKey), 0, true); Set<ConfigKey<? extends ConfigInstance>> keys = new HashSet<>(); keys.add(testConfigKey); keys.add(new ConfigKey<>(TestConfig.class, "")); @@ -92,8 +91,8 @@ public class ConfigRetrieverTest { void require_that_empty_components_keys_after_bootstrap_returns_components_configs() { writeConfigs(); ConfigRetriever retriever = createConfigRetriever(); - assertTrue(retriever.getConfigs(Collections.emptySet(), 0, true) instanceof BootstrapConfigs); - assertTrue(retriever.getConfigs(Collections.emptySet(), 0, true) instanceof ComponentsConfigs); + assertTrue(retriever.getConfigs(Set.of(), 0, true) instanceof BootstrapConfigs); + assertTrue(retriever.getConfigs(Set.of(), 0, true) instanceof ComponentsConfigs); retriever.shutdown(); } diff --git a/container-core/src/test/java/com/yahoo/container/handler/threadpool/ContainerThreadPoolImplTest.java b/container-core/src/test/java/com/yahoo/container/handler/threadpool/ContainerThreadPoolImplTest.java index 3d5375a9740..11de808a415 100644 --- a/container-core/src/test/java/com/yahoo/container/handler/threadpool/ContainerThreadPoolImplTest.java +++ b/container-core/src/test/java/com/yahoo/container/handler/threadpool/ContainerThreadPoolImplTest.java @@ -116,7 +116,7 @@ public class ContainerThreadPoolImplTest { assertEquals(CPUS * 4 * 100, executor.getQueue().remainingCapacity()); } - private class FlipIt implements Runnable { + private static class FlipIt implements Runnable { public final Receiver<Boolean> didItRun = new Receiver<>(); @Override @@ -176,7 +176,7 @@ public class ContainerThreadPoolImplTest { } } - private class Hang implements Runnable { + private static class Hang implements Runnable { private final long hangMillis; diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java index b5e5ed9ed8f..25aebfb5a00 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java @@ -13,7 +13,6 @@ import com.yahoo.data.access.Inspector; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -62,7 +61,7 @@ public class FastHit extends Hit { * that most fields passes through the container with no processing most * of the time. */ - private List<SummaryData> summaries = Collections.emptyList(); + private List<SummaryData> summaries = List.of(); /** Removed field values, which should therefore not be returned if present in summary data */ private Set<String> removedFields = null; @@ -481,7 +480,7 @@ public class FastHit extends Hit { private Set<String> createSet() { if (this.fieldSet != null) return this.fieldSet; - if ( ! hit.hasFields() && hit.summaries.isEmpty()) return Collections.emptySet(); // shortcut + if ( ! hit.hasFields() && hit.summaries.isEmpty()) return Set.of(); // shortcut Set<String> fields = new HashSet<>(); if (hit.hasFields()) diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java index 44c0cb45732..520879be928 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java @@ -6,7 +6,6 @@ import com.yahoo.prelude.IndexFacts; import com.yahoo.prelude.query.Item; import com.yahoo.search.query.parser.Parser; -import java.util.Collections; import java.util.Set; /** @@ -23,7 +22,7 @@ public interface CustomParser extends Parser { Set<String> toSearch, IndexFacts indexFacts, String defaultIndexName) { if (indexFacts == null) indexFacts = new IndexFacts(); - return parse(queryToParse, filterToParse, parsingLanguage, indexFacts.newSession(toSearch, Collections.emptySet()), defaultIndexName); + return parse(queryToParse, filterToParse, parsingLanguage, indexFacts.newSession(toSearch, Set.of()), defaultIndexName); } Item parse(String queryToParse, String filterToParse, Language parsingLanguage, diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/Tokenizer.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/Tokenizer.java index 1c0d3ea2ee9..5a42efaaea0 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/parser/Tokenizer.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/Tokenizer.java @@ -8,8 +8,8 @@ import com.yahoo.prelude.Index; import com.yahoo.prelude.IndexFacts; import com.yahoo.prelude.query.Substring; -import java.util.Collections; import java.util.List; +import java.util.Set; import static com.yahoo.prelude.query.parser.Token.Kind.*; @@ -63,7 +63,7 @@ public final class Tokenizer { * @return a read-only list of tokens. This list can only be used by this thread */ public List<Token> tokenize(String string) { - return tokenize(string, new IndexFacts().newSession(Collections.emptySet(), Collections.emptySet())); + return tokenize(string, new IndexFacts().newSession(Set.of(), Set.of())); } /** diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java index c1eff1eec67..c2a5ad0222d 100644 --- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java +++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java @@ -3,7 +3,6 @@ package com.yahoo.search.handler; import ai.vespa.metrics.ContainerMetrics; import ai.vespa.cloud.ZoneInfo; -import ai.vespa.metrics.ContainerMetrics; import com.yahoo.collections.Tuple2; import com.yahoo.component.ComponentSpecification; import com.yahoo.component.Vtag; @@ -117,7 +116,7 @@ public class SearchHandler extends LoggingRequestHandler { ZoneInfo zoneInfo) { this(metric, threadpool.executor(), queryProfileRegistry, embedders, executionFactory, config.numQueriesToTraceOnDebugAfterConstruction(), - config.hostResponseHeaderKey().equals("") ? Optional.empty() : Optional.of(config.hostResponseHeaderKey()), + config.hostResponseHeaderKey().isEmpty() ? Optional.empty() : Optional.of(config.hostResponseHeaderKey()), zoneInfo); } diff --git a/container-search/src/main/java/com/yahoo/search/result/FeatureData.java b/container-search/src/main/java/com/yahoo/search/result/FeatureData.java index 0f26ecdcce7..55a4c6c11f2 100644 --- a/container-search/src/main/java/com/yahoo/search/result/FeatureData.java +++ b/container-search/src/main/java/com/yahoo/search/result/FeatureData.java @@ -14,7 +14,6 @@ import com.yahoo.tensor.serialization.TypedBinaryFormat; import static com.yahoo.searchlib.rankingexpression.Reference.wrapInRankingExpression; import java.nio.charset.StandardCharsets; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -150,7 +149,7 @@ public class FeatureData implements Inspectable, JsonProducer { /** Returns the names of the features available in this */ public Set<String> featureNames() { - if (this == empty) return Collections.emptySet(); + if (this == empty) return Set.of(); if (featureNames != null) return featureNames; featureNames = new HashSet<>(); diff --git a/container-search/src/main/java/com/yahoo/search/result/HitGroup.java b/container-search/src/main/java/com/yahoo/search/result/HitGroup.java index 51c0caf38a9..ce403861014 100644 --- a/container-search/src/main/java/com/yahoo/search/result/HitGroup.java +++ b/container-search/src/main/java/com/yahoo/search/result/HitGroup.java @@ -718,7 +718,7 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< if (hitFilled.isEmpty()) { filled = null; } else if (hitFilled.size() == 1) { - filled = Collections.singleton(hitFilled.iterator().next()); + filled = Set.of(hitFilled.iterator().next()); } else { filled = new HashSet<>(hitFilled); } @@ -800,7 +800,7 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< Set<String> hitFilled = hit.getFilled(); if (hitFilled != null) { filled = (hitFilled.size() == 1) - ? Collections.singleton(hitFilled.iterator().next()) + ? Set.of(hitFilled.iterator().next()) : hitFilled.isEmpty() ? null : new HashSet<>(hitFilled); setFilledInternal(filled); } @@ -931,9 +931,9 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< private Set<String> getFilledSingle(String summaryName, Set<String> summaryNames, Iterator<Hit> iterator) { while (true) { if (summaryNames == null) { - return Collections.singleton(summaryName); + return Set.of(summaryName); } else if (!summaryNames.contains(summaryName)) { - return Collections.emptySet(); + return Set.of(); } summaryNames = getSummaryNamesNextFilledHit(iterator); } diff --git a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java index fbede4613da..0b12cf99396 100644 --- a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java @@ -13,8 +13,8 @@ import com.yahoo.prelude.query.parser.Tokenizer; import org.junit.jupiter.api.Test; import java.util.ArrayList; -import java.util.Collections; import java.util.List; +import java.util.Set; import static com.yahoo.prelude.query.parser.Token.Kind.COLON; import static com.yahoo.prelude.query.parser.Token.Kind.COMMA; @@ -283,7 +283,7 @@ public class TokenizerTestCase { sd.addIndex(index2); IndexFacts facts = new IndexFacts(new IndexModel(sd)); - IndexFacts.Session session = facts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session session = facts.newSession(Set.of(), Set.of()); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:/,%#%&+-+ ) testexact2:ho_/&%&/()/aa*::*& b:c", "default", session); // tokenizer.print(); @@ -328,7 +328,7 @@ public class TokenizerTestCase { IndexFacts facts = new IndexFacts(new IndexModel(sd)); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); - IndexFacts.Session session = facts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session session = facts.newSession(Set.of(), Set.of()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:/,%#%&+-+ ) testexact2:ho_/&%&/()/aa*::*&", session); assertEquals(new Token(WORD, "normal"), tokens.get(0)); assertEquals(new Token(SPACE, " "), tokens.get(1)); @@ -365,7 +365,7 @@ public class TokenizerTestCase { IndexFacts facts = new IndexFacts(new IndexModel(sd)); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); - IndexFacts.Session session = facts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session session = facts.newSession(Set.of(), Set.of()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:/,%#%&+-+ ) testexact2:ho_/&%&/()/aa*::*", session); assertEquals(new Token(WORD, "normal"), tokens.get(0)); assertEquals(new Token(SPACE, " "), tokens.get(1)); @@ -402,7 +402,7 @@ public class TokenizerTestCase { IndexFacts facts = new IndexFacts(new IndexModel(sd)); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); - IndexFacts.Session session = facts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session session = facts.newSession(Set.of(), Set.of()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:!/%#%&+-+ ) testexact2:ho_/&%&/()/aa*::*&b:", session); assertEquals(new Token(WORD, "normal"), tokens.get(0)); assertEquals(new Token(SPACE, " "), tokens.get(1)); @@ -439,7 +439,7 @@ public class TokenizerTestCase { sd.addIndex(index2); IndexFacts indexFacts = new IndexFacts(new IndexModel(sd)); - IndexFacts.Session facts = indexFacts.newSession(Collections.emptySet(), Collections.emptySet()); + IndexFacts.Session facts = indexFacts.newSession(Set.of(), Set.of()); Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics()); List<?> tokens = tokenizer.tokenize("normal a:b (normal testexact1:foo) testexact2:bar", facts); diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java index 8ced7d3895e..c59dbc3421e 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/InterleavedSearchInvokerTest.java @@ -29,10 +29,10 @@ import java.time.Duration; import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Optional; +import java.util.Set; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.stream.StreamSupport; @@ -356,7 +356,7 @@ public class InterleavedSearchInvokerTest { .addAggregationResult(new MinAggregationResult().setMin(new IntegerResultNode(6)).setTag(3)))); invokers.add(new MockInvoker(0).setHits(List.of(new GroupingListHit(List.of(grouping2))))); - try (InterleavedSearchInvoker invoker = new InterleavedSearchInvoker(Timer.monotonic, invokers, hitEstimator, dispatchConfig, new Group(0, List.of()), Collections.emptySet())) { + try (InterleavedSearchInvoker invoker = new InterleavedSearchInvoker(Timer.monotonic, invokers, hitEstimator, dispatchConfig, new Group(0, List.of()), Set.of())) { invoker.responseAvailable(invokers.get(0)); invoker.responseAvailable(invokers.get(1)); Result result = invoker.search(query); @@ -373,7 +373,7 @@ public class InterleavedSearchInvokerTest { List<SearchInvoker> invokers = new ArrayList<>(); invokers.add(createInvoker(a, 0)); invokers.add(createInvoker(b, 1)); - InterleavedSearchInvoker invoker = new InterleavedSearchInvoker(Timer.monotonic, invokers, hitEstimator, dispatchConfig, group, Collections.emptySet()); + InterleavedSearchInvoker invoker = new InterleavedSearchInvoker(Timer.monotonic, invokers, hitEstimator, dispatchConfig, group, Set.of()); invoker.responseAvailable(invokers.get(0)); invoker.responseAvailable(invokers.get(1)); return invoker; diff --git a/container-search/src/test/java/com/yahoo/search/result/test/FillingTestCase.java b/container-search/src/test/java/com/yahoo/search/result/test/FillingTestCase.java index 298673a1ae7..d8f4f39c5b8 100644 --- a/container-search/src/test/java/com/yahoo/search/result/test/FillingTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/result/test/FillingTestCase.java @@ -5,7 +5,8 @@ import com.yahoo.search.result.Hit; import com.yahoo.search.result.HitGroup; import org.junit.jupiter.api.Test; -import java.util.Collections; + +import java.util.Set; import static org.junit.jupiter.api.Assertions.*; @@ -63,7 +64,7 @@ public class FillingTestCase { hits.add(hit1); hits.add(hit2); - assertEquals(Collections.emptySet(), hits.getFilled()); + assertEquals(Set.of(), hits.getFilled()); } @Test @@ -82,7 +83,7 @@ public class FillingTestCase { hits.add(hit2); hits.add(hit3); - assertEquals(Collections.singleton("summary1"), hits.getFilled()); + assertEquals(Set.of("summary1"), hits.getFilled()); } private Hit createNonFilled(String id) { diff --git a/document/src/main/java/com/yahoo/document/DocumentType.java b/document/src/main/java/com/yahoo/document/DocumentType.java index 38bd3bfdeca..3b58b50dc4f 100644 --- a/document/src/main/java/com/yahoo/document/DocumentType.java +++ b/document/src/main/java/com/yahoo/document/DocumentType.java @@ -62,13 +62,13 @@ public class DocumentType extends StructuredDataType { * @param contentStructType The type of the content struct */ public DocumentType(String name, StructDataType contentStructType) { - this(name, contentStructType, Collections.emptySet()); + this(name, contentStructType, Set.of()); } public DocumentType(String name, StructDataType contentStructType, Set<String> importedFieldNames) { super(name); this.contentStructType = contentStructType; - this.importedFieldNames = Collections.unmodifiableSet(importedFieldNames); + this.importedFieldNames = Set.copyOf(importedFieldNames); } public DocumentType(String name, Set<String> importedFieldNames) { diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java index 53c6c533518..743f15c00d6 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java @@ -5,7 +5,6 @@ import ai.vespa.metricsproxy.metric.Metric; import java.time.Instant; import java.util.Collection; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; @@ -14,7 +13,6 @@ import java.util.Objects; import java.util.Set; import java.util.function.Function; -import static java.util.Collections.unmodifiableMap; import static java.util.stream.Collectors.joining; /** @@ -42,13 +40,13 @@ public class MetricsPacket { this.statusMessage = statusMessage; this.timestamp = timestamp; this.service = service; - this.metrics = metrics; - this.dimensions = dimensions; + this.metrics = Map.copyOf(metrics); + this.dimensions = Map.copyOf(dimensions); this.consumers = Set.copyOf(consumers); } - public Map<MetricId, Number> metrics() { return unmodifiableMap(metrics); } - public Map<DimensionId, String> dimensions() { return unmodifiableMap(dimensions); } + public Map<MetricId, Number> metrics() { return metrics; } + public Map<DimensionId, String> dimensions() { return dimensions; } public Set<ConsumerId> consumers() { return consumers;} @Override @@ -80,7 +78,7 @@ public class MetricsPacket { private long timestamp = 0L; private Map<MetricId, Number> metrics = new LinkedHashMap<>(); private final Map<DimensionId, String> dimensions = new LinkedHashMap<>(); - private Set<ConsumerId> consumers = Collections.emptySet(); + private Set<ConsumerId> consumers = Set.of(); public Builder(ServiceId service) { Objects.requireNonNull(service, "Service cannot be null."); @@ -169,7 +167,7 @@ public class MetricsPacket { if ((extraConsumers != null) && !extraConsumers.isEmpty()) { if (consumers.isEmpty()) { if (extraConsumers.size() == 1) { - consumers = Collections.singleton(extraConsumers.iterator().next()); + consumers = Set.of(extraConsumers.iterator().next()); return this; } consumers = new LinkedHashSet<>(extraConsumers.size()); diff --git a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/model/ClusterApiImpl.java b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/model/ClusterApiImpl.java index d2638345f29..bf0de161f73 100644 --- a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/model/ClusterApiImpl.java +++ b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/model/ClusterApiImpl.java @@ -18,7 +18,6 @@ import com.yahoo.vespa.orchestrator.status.HostStatus; import java.time.Clock; import java.time.Duration; import java.time.Instant; -import java.util.Collections; import java.util.HashSet; import java.util.Map; import java.util.Optional; @@ -83,8 +82,8 @@ class ClusterApiImpl implements ClusterApi { Collectors.groupingBy( instance -> nodeGroup.contains(instance.hostName()), Collectors.toSet())); - servicesInGroup = serviceInstancesByLocality.getOrDefault(true, Collections.emptySet()); - servicesNotInGroup = serviceInstancesByLocality.getOrDefault(false, Collections.emptySet()); + servicesInGroup = serviceInstancesByLocality.getOrDefault(true, Set.of()); + servicesNotInGroup = serviceInstancesByLocality.getOrDefault(false, Set.of()); int serviceInstances = serviceCluster.serviceInstances().size(); if (clusterParams.size().isPresent() && serviceInstances < clusterParams.size().getAsInt()) { diff --git a/vespa-athenz/src/test/java/com/yahoo/vespa/athenz/identityprovider/client/InstanceCsrGeneratorTest.java b/vespa-athenz/src/test/java/com/yahoo/vespa/athenz/identityprovider/client/InstanceCsrGeneratorTest.java index 1f9ad2ced64..322e9ffaf82 100644 --- a/vespa-athenz/src/test/java/com/yahoo/vespa/athenz/identityprovider/client/InstanceCsrGeneratorTest.java +++ b/vespa-athenz/src/test/java/com/yahoo/vespa/athenz/identityprovider/client/InstanceCsrGeneratorTest.java @@ -12,7 +12,6 @@ import org.junit.jupiter.api.Test; import javax.security.auth.x500.X500Principal; import java.security.KeyPair; -import java.util.Collections; import java.util.Set; import static com.yahoo.security.SubjectAlternativeName.Type.DNS; @@ -36,7 +35,7 @@ public class InstanceCsrGeneratorTest { VespaUniqueInstanceId vespaUniqueInstanceId = VespaUniqueInstanceId.fromDottedString("0.default.default.foo-app.vespa.us-north-1.prod.node"); KeyPair keyPair = KeyUtils.generateKeypair(KeyAlgorithm.RSA); - Pkcs10Csr csr = csrGenerator.generateInstanceCsr(service, vespaUniqueInstanceId, Collections.emptySet(), ClusterType.CONTAINER, keyPair); + Pkcs10Csr csr = csrGenerator.generateInstanceCsr(service, vespaUniqueInstanceId, Set.of(), ClusterType.CONTAINER, keyPair); assertEquals(new X500Principal(String.format("OU=%s, CN=%s", PROVIDER_SERVICE, ATHENZ_SERVICE)), csr.getSubject()); var actualSans = Set.copyOf(csr.getSubjectAlternativeNames()); var expectedSans = Set.of( diff --git a/vespajlib/src/main/java/com/yahoo/collections/LazyMap.java b/vespajlib/src/main/java/com/yahoo/collections/LazyMap.java index 9d0df495f9a..c979d746243 100644 --- a/vespajlib/src/main/java/com/yahoo/collections/LazyMap.java +++ b/vespajlib/src/main/java/com/yahoo/collections/LazyMap.java @@ -4,7 +4,6 @@ package com.yahoo.collections; import java.util.AbstractMap; import java.util.AbstractSet; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -129,7 +128,7 @@ public abstract class LazyMap<K, V> implements Map<K, V> { @Override public Set<Entry<K, V>> entrySet() { - return Collections.emptySet(); + return Set.of(); } } diff --git a/vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java b/vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java index ecefd891ca9..8450c7986ef 100644 --- a/vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java +++ b/vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java @@ -4,11 +4,11 @@ package com.yahoo.collections; import org.junit.Test; import org.mockito.Mockito; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.NoSuchElementException; import java.util.Set; @@ -26,25 +26,25 @@ public class LazySetTest { @Test public void requireThatInitialDelegateIsEmpty() { - LazySet<String> set = newLazySet(new HashSet<String>()); + LazySet<String> set = newLazySet(new HashSet<>()); assertEquals(LazySet.EmptySet.class, set.getDelegate().getClass()); } @Test public void requireThatEmptySetAddUpgradesToSingletonSet() { - LazySet<String> set = newLazySet(new HashSet<String>()); + LazySet<String> set = newLazySet(new HashSet<>()); assertTrue(set.add("foo")); assertEquals(LazySet.SingletonSet.class, set.getDelegate().getClass()); - set = newLazySet(new HashSet<String>()); - assertTrue(set.addAll(Arrays.asList("foo"))); + set = newLazySet(new HashSet<>()); + assertTrue(set.addAll(List.of("foo"))); assertEquals(LazySet.SingletonSet.class, set.getDelegate().getClass()); } @Test public void requireThatEmptySetAddAllEmptySetDoesNotUpgradeToSingletonSet() { - LazySet<String> set = newLazySet(new HashSet<String>()); - assertFalse(set.addAll(Collections.<String>emptySet())); + LazySet<String> set = newLazySet(new HashSet<>()); + assertFalse(set.addAll(Set.of())); assertEquals(LazySet.EmptySet.class, set.getDelegate().getClass()); } @@ -52,7 +52,7 @@ public class LazySetTest { public void requireThatEmptySetAddAllUpgradesToFinalSet() { Set<String> delegate = new HashSet<>(); LazySet<String> set = newLazySet(delegate); - assertTrue(set.addAll(Arrays.asList("foo", "bar"))); + assertTrue(set.addAll(List.of("foo", "bar"))); assertSame(delegate, set.getDelegate()); assertEquals(2, delegate.size()); assertTrue(delegate.contains("foo")); @@ -76,7 +76,7 @@ public class LazySetTest { @Test public void requireThatSingletonSetAddAllEmptySetDoesNotUpgradeToFinalSet() { LazySet<String> set = newSingletonSet("foo"); - assertFalse(set.addAll(Collections.<String>emptySet())); + assertFalse(set.addAll(Set.of())); assertEquals(LazySet.SingletonSet.class, set.getDelegate().getClass()); } @@ -102,7 +102,7 @@ public class LazySetTest { public void requireThatSingletonSetAddAllUpgradesToFinalSet() { Set<String> delegate = new HashSet<>(); LazySet<String> set = newSingletonSet(delegate, "foo"); - assertTrue(set.addAll(Arrays.asList("bar"))); + assertTrue(set.addAll(List.of("bar"))); assertSame(delegate, set.getDelegate()); assertEquals(2, delegate.size()); assertTrue(delegate.contains("foo")); @@ -110,7 +110,7 @@ public class LazySetTest { delegate = new HashSet<>(); set = newSingletonSet(delegate, "foo"); - assertTrue(set.addAll(Arrays.asList("bar", "baz"))); + assertTrue(set.addAll(List.of("bar", "baz"))); assertSame(delegate, set.getDelegate()); assertEquals(3, delegate.size()); assertTrue(delegate.contains("foo")); diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java index c4cc1541ca6..d05c8f11ad4 100644 --- a/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java +++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java @@ -53,7 +53,7 @@ class MemoryFileSystem extends FileSystem { @Override public Iterable<Path> getRootDirectories() { - return Collections.singleton(Paths.get("/")); + return Set.of(Paths.get("/")); } @Override @@ -63,7 +63,7 @@ class MemoryFileSystem extends FileSystem { @Override public Set<String> supportedFileAttributeViews() { - return Collections.emptySet(); + return Set.of(); } @Override |