diff options
Diffstat (limited to 'container-core')
50 files changed, 137 insertions, 185 deletions
diff --git a/container-core/src/main/java/com/yahoo/component/chain/ChainedComponent.java b/container-core/src/main/java/com/yahoo/component/chain/ChainedComponent.java index 12a833881f7..2c2ee5226a6 100644 --- a/container-core/src/main/java/com/yahoo/component/chain/ChainedComponent.java +++ b/container-core/src/main/java/com/yahoo/component/chain/ChainedComponent.java @@ -11,9 +11,7 @@ import com.yahoo.component.chain.dependencies.Provides; import java.lang.annotation.Annotation; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; /** @@ -70,7 +68,7 @@ public abstract class ChainedComponent extends AbstractComponent { // TODO: move to vespajlib. private static List<String> allOf(List<String> symbols, String... otherSymbols) { List<String> result = new ArrayList<>(symbols); - result.addAll(Arrays.asList(otherSymbols)); + result.addAll(List.of(otherSymbols)); return result; } @@ -88,9 +86,9 @@ public abstract class ChainedComponent extends AbstractComponent { Annotation annotation = component.getClass().getAnnotation(annotationClass); if (annotation != null) { Object values = annotationClass.getMethod("value").invoke(annotation); - return Arrays.asList((String[])values); + return List.of((String[])values); } - return Collections.emptyList(); + return List.of(); } catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException e) { throw new RuntimeException(e); diff --git a/container-core/src/main/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilder.java b/container-core/src/main/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilder.java index fef23f3cc27..c0bc01be27c 100644 --- a/container-core/src/main/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilder.java +++ b/container-core/src/main/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilder.java @@ -3,7 +3,6 @@ package com.yahoo.component.chain.dependencies.ordering; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.LinkedHashMap; @@ -50,7 +49,7 @@ public class ChainBuilder<T extends ChainedComponent> { } private Set<String> set(String... s) { - return new HashSet<>(Arrays.asList(s)); + return new HashSet<>(List.of(s)); } public PhaseNameProvider addPhase(Phase phase) { 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..b00455b1e2a 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") @@ -239,7 +239,7 @@ public class MockBundle implements Bundle, BundleWiring { @Override public Collection<String> listResources(String p1, String p2, int p3) { - return Collections.emptyList(); + return List.of(); } @Override 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/ComponentGraph.java b/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java index 98b4d0f4d63..5db57250bdf 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java +++ b/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java @@ -23,7 +23,6 @@ import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.lang.reflect.WildcardType; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -369,7 +368,7 @@ public class ComponentGraph { public static boolean isBindingAnnotation(Annotation annotation) { LinkedList<Class<?>> queue = new LinkedList<>(); queue.add(annotation.getClass()); - queue.addAll(Arrays.asList(annotation.getClass().getInterfaces())); + queue.addAll(List.of(annotation.getClass().getInterfaces())); while (!queue.isEmpty()) { Class<?> clazz = queue.removeFirst(); diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java b/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java index 4500a5636f4..dcc024ef2b1 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java +++ b/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java @@ -199,7 +199,7 @@ public class ComponentNode extends Node { @Override public boolean equals(Object other) { if (other instanceof ComponentNode that) { - return super.equals(that) && equalEdges(Arrays.asList(this.arguments), Arrays.asList(that.arguments)) && this.usedConfigs().equals(that.usedConfigs()); + return super.equals(that) && equalEdges(List.of(this.arguments), List.of(that.arguments)) && this.usedConfigs().equals(that.usedConfigs()); } else { return false; } @@ -225,7 +225,7 @@ public class ComponentNode extends Node { List<Pair<Type, List<Annotation>>> ret = new ArrayList<>(); for (int i = 0; i < types.length; i++) { - ret.add(new Pair<>(types[i], Arrays.asList(annotations[i]))); + ret.add(new Pair<>(types[i], List.of(annotations[i]))); } return ret; } 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/di/componentgraph/cycle/CycleFinder.java b/container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java index f8fa0756cb3..6364eab6d42 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java +++ b/container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java @@ -6,13 +6,11 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.logging.Logger; -import java.util.stream.Collectors; import static com.yahoo.container.di.componentgraph.cycle.CycleFinder.State.BLACK; import static com.yahoo.container.di.componentgraph.cycle.CycleFinder.State.GRAY; import static com.yahoo.container.di.componentgraph.cycle.CycleFinder.State.WHITE; import static java.util.logging.Level.FINE; -import static java.util.Collections.singletonList; /** @@ -55,7 +53,7 @@ public class CycleFinder<T> { resetState(); for (T vertex : graph.getVertices()) { if (colors.get(vertex) == WHITE) { - if (visitDepthFirst(vertex, new ArrayList<>(singletonList(vertex)))) { + if (visitDepthFirst(vertex, new ArrayList<>(List.of(vertex)))) { if (cycle == null) throw new IllegalStateException("Null cycle - this should never happen"); if (cycle.isEmpty()) throw new IllegalStateException("Empty cycle - this should never happen"); log.log(FINE, () -> "Cycle detected: " + cycle); diff --git a/container-core/src/main/java/com/yahoo/container/http/filter/FilterChainRepository.java b/container-core/src/main/java/com/yahoo/container/http/filter/FilterChainRepository.java index 020022dc9fd..10f8400fa37 100644 --- a/container-core/src/main/java/com/yahoo/container/http/filter/FilterChainRepository.java +++ b/container-core/src/main/java/com/yahoo/container/http/filter/FilterChainRepository.java @@ -22,12 +22,11 @@ import com.yahoo.jdisc.http.filter.chain.ResponseFilterChain; import com.yahoo.processing.execution.chain.ChainRegistry; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Set; import java.util.logging.Logger; -import static java.util.Collections.emptyList; +import static java.util.List.of; import static java.util.stream.Collectors.toSet; /** @@ -158,7 +157,7 @@ public class FilterChainRepository extends AbstractComponent { } private static Object wrapIfSecurityFilter(Object filter) { - if (isSecurityFilter(filter)) return createSecurityChain(Collections.singletonList(filter)); + if (isSecurityFilter(filter)) return createSecurityChain(List.of(filter)); return filter; } 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/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/main/java/com/yahoo/container/jdisc/state/StateHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java index ebd5c38e3a3..81ec0919441 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java @@ -31,7 +31,6 @@ import java.io.PrintStream; import java.net.URI; import java.nio.ByteBuffer; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -373,7 +372,7 @@ public class StateHandler extends AbstractRequestHandler implements CapabilityRe private boolean isPrometheusRequest(String query) { if (query == null) return false; - return Arrays.asList(query.split("&")).contains("format=prometheus"); + return List.of(query.split("&")).contains("format=prometheus"); } private String prometheusSanitizedName(String name) { 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/CookieHelper.java b/container-core/src/main/java/com/yahoo/jdisc/http/CookieHelper.java index e3c2d20ba51..1c9e6572d63 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/CookieHelper.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/CookieHelper.java @@ -3,8 +3,6 @@ package com.yahoo.jdisc.http; import com.yahoo.jdisc.HeaderFields; -import java.util.Arrays; -import java.util.Collections; import java.util.LinkedList; import java.util.List; @@ -20,7 +18,7 @@ public class CookieHelper { public static List<Cookie> decodeSetCookieHeader(HeaderFields headers) { List<String> cookies = headers.get(HttpHeaders.Names.SET_COOKIE); if (cookies == null) { - return Collections.emptyList(); + return List.of(); } List<Cookie> ret = new LinkedList<>(); for (String cookie : cookies) { @@ -32,7 +30,7 @@ public class CookieHelper { public static void encodeSetCookieHeader(HeaderFields headers, List<Cookie> cookies) { headers.remove(HttpHeaders.Names.SET_COOKIE); for (Cookie cookie : cookies) { - headers.add(HttpHeaders.Names.SET_COOKIE, Cookie.toSetCookieHeaders(Arrays.asList(cookie))); + headers.add(HttpHeaders.Names.SET_COOKIE, Cookie.toSetCookieHeaders(List.of(cookie))); } } } diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java b/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java index 4f1a0bf0d03..e801873e2cd 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java @@ -16,7 +16,6 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.URI; import java.security.Principal; -import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -226,7 +225,7 @@ public class HttpRequest extends Request { public List<Cookie> decodeCookieHeader() { List<String> cookies = headers().get(HttpHeaders.Names.COOKIE); if (cookies == null) { - return Collections.emptyList(); + return List.of(); } List<Cookie> ret = new LinkedList<>(); for (String cookie : cookies) { diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java index a1ea14d80a3..c22e4afec1c 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java @@ -242,7 +242,7 @@ public class DiscFilterRequest { public List<String> getHeadersAsList(String name) { List<String> values = parent.headers().get(name); if(values == null) { - return Collections.emptyList(); + return List.of(); } return parent.headers().get(name); } @@ -401,7 +401,7 @@ public class DiscFilterRequest { return Optional.ofNullable(parent.context().get(RequestUtils.JDISC_REQUEST_X509CERT)) .map(X509Certificate[].class::cast) .map(Arrays::asList) - .orElse(Collections.emptyList()); + .orElse(List.of()); } public void setUserRoles(String[] roles) { diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterResponse.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterResponse.java index f96bb8b30ae..5070ef75c4d 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterResponse.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterResponse.java @@ -9,7 +9,6 @@ import com.yahoo.jdisc.http.HttpResponse; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Enumeration; import java.util.List; @@ -158,7 +157,7 @@ public class DiscFilterResponse { public void setCookie(String name, String value) { Cookie cookie = new Cookie(name, value); - setCookies(Arrays.asList(cookie)); + setCookies(List.of(cookie)); } } diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityRequestFilterChain.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityRequestFilterChain.java index 22874d2f987..dc8eb7daa7a 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityRequestFilterChain.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityRequestFilterChain.java @@ -9,7 +9,6 @@ import com.yahoo.jdisc.handler.ResponseHandler; import com.yahoo.jdisc.http.HttpRequest; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -42,7 +41,7 @@ public final class SecurityRequestFilterChain extends AbstractResource implement } public static RequestFilter newInstance(SecurityRequestFilter... filters) { - return newInstance(Arrays.asList(filters)); + return newInstance(List.of(filters)); } public static RequestFilter newInstance(List<? extends SecurityRequestFilter> filters) { diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java index e6d5e67bc57..16565cb5010 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java @@ -8,8 +8,6 @@ import com.yahoo.jdisc.http.HttpRequest; import java.net.URI; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Optional; @@ -20,12 +18,14 @@ import java.util.Optional; */ public class SecurityResponseFilterChain extends AbstractResource implements ResponseFilter { - private final List<SecurityResponseFilter> filters = new ArrayList<>(); + private final List<SecurityResponseFilter> filters; private SecurityResponseFilterChain(Iterable<? extends SecurityResponseFilter> filters) { + List<SecurityResponseFilter> builder = new ArrayList<>(); for (SecurityResponseFilter filter : filters) { - this.filters.add(filter); + builder.add(filter); } + this.filters = List.copyOf(builder); } @Override @@ -42,7 +42,7 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res } public static ResponseFilter newInstance(SecurityResponseFilter... filters) { - return newInstance(Arrays.asList(filters)); + return newInstance(List.of(filters)); } public static ResponseFilter newInstance(List<? extends SecurityResponseFilter> filters) { @@ -51,7 +51,7 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res /** Returns an unmodifiable view of the filters in this */ public List<SecurityResponseFilter> getFilters() { - return Collections.unmodifiableList(filters); + return filters; } static class RequestViewImpl implements RequestView { @@ -74,7 +74,7 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res @Override public List<String> getHeaders(String name) { List<String> headers = request.headers().get(name); - return headers == null ? Collections.emptyList() : Collections.unmodifiableList(headers); + return headers == null ? List.of() : List.copyOf(headers); } @Override diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/RequestFilterChain.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/RequestFilterChain.java index 2f50b5e319b..d6666060dbc 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/RequestFilterChain.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/RequestFilterChain.java @@ -8,7 +8,6 @@ import com.yahoo.jdisc.http.HttpRequest; import com.yahoo.jdisc.http.filter.RequestFilter; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** @@ -40,7 +39,7 @@ public final class RequestFilterChain extends AbstractResource implements Reques } public static RequestFilter newInstance(RequestFilter... filters) { - return newInstance(Arrays.asList(filters)); + return newInstance(List.of(filters)); } public static RequestFilter newInstance(List<? extends RequestFilter> filters) { diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseFilterChain.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseFilterChain.java index 02d94a7529e..5145c7210f1 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseFilterChain.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseFilterChain.java @@ -8,7 +8,6 @@ import com.yahoo.jdisc.application.ResourcePool; import com.yahoo.jdisc.http.filter.ResponseFilter; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** @@ -39,7 +38,7 @@ public final class ResponseFilterChain extends AbstractResource implements Respo } public static ResponseFilter newInstance(ResponseFilter... filters) { - return newInstance(Arrays.asList(filters)); + return newInstance(List.of(filters)); } public static ResponseFilter newInstance(List<? extends ResponseFilter> filters) { diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/CompletionHandlers.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/CompletionHandlers.java index caa942b6a5c..23efec5f98d 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/CompletionHandlers.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/CompletionHandlers.java @@ -3,7 +3,8 @@ package com.yahoo.jdisc.http.server.jetty; import com.yahoo.jdisc.handler.CompletionHandler; -import java.util.Arrays; +import java.util.List; + /** * @author Simon Thoresen Hult @@ -33,7 +34,7 @@ public class CompletionHandlers { } public static CompletionHandler wrap(CompletionHandler... handlers) { - return wrap(Arrays.asList(handlers)); + return wrap(List.of(handlers)); } public static CompletionHandler wrap(final Iterable<CompletionHandler> handlers) { 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/main/java/com/yahoo/metrics/simple/Point.java b/container-core/src/main/java/com/yahoo/metrics/simple/Point.java index 5c7abe03596..4a1ae80fc69 100644 --- a/container-core/src/main/java/com/yahoo/metrics/simple/Point.java +++ b/container-core/src/main/java/com/yahoo/metrics/simple/Point.java @@ -74,13 +74,11 @@ public final class Point implements Context { @Override public String toString() { final int maxLen = 3; - StringBuilder builder = new StringBuilder(); - builder.append("Point [location=") - .append(Arrays.asList(location).subList(0, Math.min(location.length, maxLen))) - .append(", dimensions=") - .append(Arrays.asList(dimensions).subList(0, Math.min(dimensions.length, maxLen))) - .append("]"); - return builder.toString(); + return "Point [location=" + + List.of(location).subList(0, Math.min(location.length, maxLen)) + + ", dimensions=" + + List.of(dimensions).subList(0, Math.min(dimensions.length, maxLen)) + + "]"; } /** diff --git a/container-core/src/main/java/com/yahoo/osgi/MockOsgi.java b/container-core/src/main/java/com/yahoo/osgi/MockOsgi.java index e8a92211afb..decf7a557be 100644 --- a/container-core/src/main/java/com/yahoo/osgi/MockOsgi.java +++ b/container-core/src/main/java/com/yahoo/osgi/MockOsgi.java @@ -7,7 +7,6 @@ import com.yahoo.jdisc.test.NonWorkingOsgiFramework; import org.osgi.framework.Bundle; import org.osgi.framework.ServiceReference; -import java.util.Collections; import java.util.List; /** @@ -23,7 +22,7 @@ public class MockOsgi extends NonWorkingOsgiFramework implements Osgi { @Override public List<Bundle> getCurrentBundles() { - return Collections.emptyList(); + return List.of(); } @Override @@ -33,7 +32,7 @@ public class MockOsgi extends NonWorkingOsgiFramework implements Osgi { @Override public List<Bundle> install(String absolutePath) { - return Collections.emptyList(); + return List.of(); } } diff --git a/container-core/src/main/java/com/yahoo/processing/handler/ProcessingTestDriver.java b/container-core/src/main/java/com/yahoo/processing/handler/ProcessingTestDriver.java index cd22dc80a4c..b17e4229c4c 100644 --- a/container-core/src/main/java/com/yahoo/processing/handler/ProcessingTestDriver.java +++ b/container-core/src/main/java/com/yahoo/processing/handler/ProcessingTestDriver.java @@ -12,9 +12,9 @@ import com.yahoo.processing.Processor; import com.yahoo.processing.execution.chain.ChainRegistry; import com.yahoo.processing.rendering.Renderer; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.List; import java.util.concurrent.Executor; import java.util.concurrent.Executors; @@ -38,12 +38,12 @@ public class ProcessingTestDriver extends RequestHandlerTestDriver { @SafeVarargs @SuppressWarnings("varargs") public ProcessingTestDriver(Chain<Processor> ... chains) { - this(Arrays.asList(chains), new ComponentRegistry<>()); + this(List.of(chains), new ComponentRegistry<>()); } @SafeVarargs @SuppressWarnings("varargs") public ProcessingTestDriver(String binding, Chain<Processor> ... chains) { - this(binding, Arrays.asList(chains), new ComponentRegistry<>()); + this(binding, List.of(chains), new ComponentRegistry<>()); } public ProcessingTestDriver(Collection<Chain<Processor>> chains, ComponentRegistry<Renderer> renderers) { this(createProcessingHandler(chains, renderers, AccessLog.voidAccessLog())); diff --git a/container-core/src/main/java/com/yahoo/processing/request/CompoundName.java b/container-core/src/main/java/com/yahoo/processing/request/CompoundName.java index cb4743cd83e..b4536a1c56b 100644 --- a/container-core/src/main/java/com/yahoo/processing/request/CompoundName.java +++ b/container-core/src/main/java/com/yahoo/processing/request/CompoundName.java @@ -173,7 +173,7 @@ public final class CompoundName { if (isEmpty()) return fromComponents(nameParts); List<String> newCompounds = new ArrayList<>(nameParts.length + compounds.size()); - newCompounds.addAll(Arrays.asList(nameParts)); + newCompounds.addAll(List.of(nameParts)); newCompounds.addAll(this.compounds); return new CompoundName(newCompounds); } @@ -204,7 +204,7 @@ public final class CompoundName { throw new IllegalArgumentException("Asked for the first " + n + " components but '" + this + "' only have " + compounds.size() + " components."); if (compounds.size() == n) return this; - if (compounds.size() == 0) return empty; + if (compounds.isEmpty()) return empty; if (compounds.size() - 1 == n) return first; return first.first(n); } @@ -316,7 +316,7 @@ public final class CompoundName { for (String compound : compounds) all += compound.length(); StringBuilder b = new StringBuilder(all); for (String compound : compounds) b.append(compound).append("."); - return b.length()==0 ? "" : b.substring(0, b.length()-1); + return b.isEmpty() ? "" : b.substring(0, b.length()-1); } /** diff --git a/container-core/src/main/java/com/yahoo/processing/request/Properties.java b/container-core/src/main/java/com/yahoo/processing/request/Properties.java index d06e8b26cd9..e689ea76f3a 100644 --- a/container-core/src/main/java/com/yahoo/processing/request/Properties.java +++ b/container-core/src/main/java/com/yahoo/processing/request/Properties.java @@ -3,7 +3,6 @@ package com.yahoo.processing.request; import java.util.Map; import java.util.HashMap; -import java.util.Collections; /** * The properties of a request @@ -271,7 +270,7 @@ public class Properties implements Cloneable { * @throws RuntimeException if no instance in the chain accepted this name-value pair */ public final void clearAll(String name) { - clearAll(new CompoundName(name), Collections.<String,String>emptyMap()); + clearAll(new CompoundName(name), Map.of()); } /** diff --git a/container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java b/container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java index d820c2812e5..ee2e920afcc 100644 --- a/container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java +++ b/container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java @@ -5,7 +5,6 @@ import com.yahoo.collections.Tuple2; import com.yahoo.concurrent.CompletableFutures; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; @@ -60,13 +59,13 @@ public class DefaultIncomingData<DATATYPE extends Data> implements IncomingData< /** Adds new data and marks this as completed */ @Override public synchronized void addLast(DATATYPE data) { - addLast(Collections.singletonList(data)); + addLast(List.of(data)); } /** Adds new data without completing this */ @Override public synchronized void add(DATATYPE data) { - add(Collections.singletonList(data)); + add(List.of(data)); } /** Adds new data and marks this as completed */ diff --git a/container-core/src/main/java/com/yahoo/processing/response/IncomingData.java b/container-core/src/main/java/com/yahoo/processing/response/IncomingData.java index 45dec0ad2ba..fb891f0b8ea 100644 --- a/container-core/src/main/java/com/yahoo/processing/response/IncomingData.java +++ b/container-core/src/main/java/com/yahoo/processing/response/IncomingData.java @@ -3,7 +3,6 @@ package com.yahoo.processing.response; import com.yahoo.processing.impl.ProcessingFuture; -import java.util.Collections; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; @@ -158,7 +157,7 @@ public interface IncomingData<DATATYPE extends Data> { } public List<DATATYPE> drain() { - return Collections.emptyList(); + return List.of(); } /** 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..207e18084ab 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 @@ -11,8 +11,6 @@ import com.yahoo.component.chain.dependencies.Provides; 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,15 +88,15 @@ 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(); depHandler.addComponent(first); depHandler.addComponent(second); - assertEquals(depHandler.orderNodes().components(), Arrays.asList(first, second)); + assertEquals(depHandler.orderNodes().components(), List.of(first, second)); } @@ -114,7 +112,7 @@ public class ChainBuilderTest { chainBuilder.addComponent(c); chainBuilder.addComponent(a2); - assertEquals(Arrays.asList(a1, c, a2), chainBuilder.orderNodes().components()); + assertEquals(List.of(a1, c, a2), chainBuilder.orderNodes().components()); } private ChainBuilder newChainBuilder() { @@ -122,7 +120,7 @@ public class ChainBuilderTest { } private Set<String> set(String... strings) { - return new HashSet<>(Arrays.asList(strings)); + return new HashSet<>(List.of(strings)); } @Before("phase1") @@ -172,9 +170,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/component/chain/dependencies/ordering/OrderedReadyNodesTest.java b/container-core/src/test/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodesTest.java index f1dd1ff03c0..126e96c7543 100644 --- a/container-core/src/test/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodesTest.java +++ b/container-core/src/test/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodesTest.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.component.chain.dependencies.ordering; -import java.util.Arrays; import com.yahoo.component.chain.ChainedComponent; @@ -11,6 +10,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import com.yahoo.component.ComponentId; +import java.util.List; + /** * Test for OrderedReadyNodes. @@ -20,14 +21,14 @@ import com.yahoo.component.ComponentId; @SuppressWarnings("rawtypes") public class OrderedReadyNodesTest { - class ComponentA extends ChainedComponent { + static class ComponentA extends ChainedComponent { public ComponentA(ComponentId id) { super(id); } @Override public Dependencies getDependencies() { - return new Dependencies(Arrays.asList(getId().getName()), null, null); + return new Dependencies(List.of(getId().getName()), null, null); } } 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/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/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-core/src/test/java/com/yahoo/container/jdisc/HttpRequestTestCase.java b/container-core/src/test/java/com/yahoo/container/jdisc/HttpRequestTestCase.java index f70772b7331..2aa5c888865 100644 --- a/container-core/src/test/java/com/yahoo/container/jdisc/HttpRequestTestCase.java +++ b/container-core/src/test/java/com/yahoo/container/jdisc/HttpRequestTestCase.java @@ -8,7 +8,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; -import java.util.Collections; +import java.util.Map; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -30,7 +30,7 @@ public class HttpRequestTestCase { @BeforeEach public void setUp() throws Exception { requestData = new ByteArrayInputStream(Utf8.toBytes(X_RAY_YANKEE_ZULU)); - r = HttpRequest.createTestRequest(HTTP_MAILHOST_25_ALPHA_BRAVO_CHARLIE_DELTA, Method.GET, requestData, Collections.singletonMap("foxtrot", "golf")); + r = HttpRequest.createTestRequest(HTTP_MAILHOST_25_ALPHA_BRAVO_CHARLIE_DELTA, Method.GET, requestData, Map.of("foxtrot", "golf")); } @AfterEach 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/container/jdisc/state/StateHandlerTest.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTest.java index c99a61781cb..68a7d06e7fe 100644 --- a/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTest.java +++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTest.java @@ -79,10 +79,8 @@ public class StateHandlerTest extends StateHandlerTestBase { @Test public void testPrometheusFormat() { - var counterContext = StateMetricContext.newInstance(Map.of("label1", "val1", "label2", "val2")); - var otherContext = StateMetricContext.newInstance(Map.of( - "label1", "This label has \"quotes\"", - "label2", "This label, a\nnewline")); + var counterContext = StateMetricContext.newInstance(Map.of("label", "This label has \"quotes\"")); + var otherContext = StateMetricContext.newInstance(Map.of("label", "This label, a\nnewline")); var snapshot = new MetricSnapshot(0L, SNAPSHOT_INTERVAL, TimeUnit.MILLISECONDS); snapshot.add(counterContext, "some.counter", 10); snapshot.add(counterContext, "some.counter", 20); @@ -100,8 +98,8 @@ public class StateHandlerTest extends StateHandlerTestBase { bar_count 2 300000 bar_max 40.0 300000 bar_sum 60.0 300000 - some_counter_count{label1="This label has \\"quotes\\"",label2="This label, a\\nnewline",} 3 300000 - some_counter_count{label1="val1",label2="val2",} 30 300000 + some_counter_count{label="This label has \\"quotes\\"",} 30 300000 + some_counter_count{label="This label, a\\nnewline",} 3 300000 testing_infinity_count 1 300000 testing_infinity_max -Inf 300000 testing_infinity_sum -Inf 300000 diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java b/container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java index a629acd0d1b..6f5af2f308b 100644 --- a/container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java +++ b/container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java @@ -8,8 +8,6 @@ import org.junit.jupiter.api.Test; import java.net.InetSocketAddress; import java.net.URI; -import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.concurrent.TimeUnit; @@ -97,11 +95,11 @@ public class HttpRequestTestCase { request.setConnectionTimeout(1, TimeUnit.SECONDS); assertEquals(Long.valueOf(1000), request.getConnectionTimeout(TimeUnit.MILLISECONDS)); - assertEquals(Arrays.asList("bar", "baz"), request.parameters().get("foo")); - assertEquals(Collections.singletonList("69"), request.parameters().get("cox")); - request.parameters().put("cox", Arrays.asList("6", "9")); - assertEquals(Arrays.asList("bar", "baz"), request.parameters().get("foo")); - assertEquals(Arrays.asList("6", "9"), request.parameters().get("cox")); + assertEquals(List.of("bar", "baz"), request.parameters().get("foo")); + assertEquals(List.of("69"), request.parameters().get("cox")); + request.parameters().put("cox", List.of("6", "9")); + assertEquals(List.of("bar", "baz"), request.parameters().get("foo")); + assertEquals(List.of("6", "9"), request.parameters().get("cox")); assertEquals(1L, request.getConnectedAt(TimeUnit.MILLISECONDS)); } @@ -170,7 +168,7 @@ public class HttpRequestTestCase { @Test void requireThatCookieHeaderCanBeEncoded() throws Exception { final HttpRequest request = newRequest(HttpRequest.Version.HTTP_1_0); - final List<Cookie> cookies = Collections.singletonList(new Cookie("foo", "bar")); + final List<Cookie> cookies = List.of(new Cookie("foo", "bar")); request.encodeCookieHeader(cookies); final List<String> headers = request.headers().get(com.yahoo.jdisc.http.HttpHeaders.Names.COOKIE); assertEquals(1, headers.size()); @@ -180,7 +178,7 @@ public class HttpRequestTestCase { @Test void requireThatCookieHeaderCanBeDecoded() throws Exception { final HttpRequest request = newRequest(HttpRequest.Version.HTTP_1_0); - final List<Cookie> cookies = Collections.singletonList(new Cookie("foo", "bar")); + final List<Cookie> cookies = List.of(new Cookie("foo", "bar")); request.encodeCookieHeader(cookies); assertEquals(cookies, request.decodeCookieHeader()); } diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/HttpResponseTestCase.java b/container-core/src/test/java/com/yahoo/jdisc/http/HttpResponseTestCase.java index da897794af2..c521462c896 100644 --- a/container-core/src/test/java/com/yahoo/jdisc/http/HttpResponseTestCase.java +++ b/container-core/src/test/java/com/yahoo/jdisc/http/HttpResponseTestCase.java @@ -4,8 +4,6 @@ package com.yahoo.jdisc.http; import com.yahoo.jdisc.Response; import org.junit.jupiter.api.Test; -import java.util.Arrays; -import java.util.Collections; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -79,7 +77,7 @@ public class HttpResponseTestCase { @Test void requireThatCookieHeaderCanBeEncoded() throws Exception { final HttpResponse response = newResponse(69); - final List<Cookie> cookies = Collections.singletonList(new Cookie("foo", "bar")); + final List<Cookie> cookies = List.of(new Cookie("foo", "bar")); response.encodeSetCookieHeader(cookies); final List<String> headers = response.headers().get(HttpHeaders.Names.SET_COOKIE); assertEquals(1, headers.size()); @@ -89,18 +87,18 @@ public class HttpResponseTestCase { @Test void requireThatMultipleCookieHeadersCanBeEncoded() throws Exception { final HttpResponse response = newResponse(69); - final List<Cookie> cookies = Arrays.asList(new Cookie("foo", "bar"), new Cookie("baz", "cox")); + final List<Cookie> cookies = List.of(new Cookie("foo", "bar"), new Cookie("baz", "cox")); response.encodeSetCookieHeader(cookies); final List<String> headers = response.headers().get(HttpHeaders.Names.SET_COOKIE); assertEquals(2, headers.size()); - assertEquals(Cookie.toSetCookieHeaders(Arrays.asList(new Cookie("foo", "bar"), new Cookie("baz", "cox"))), + assertEquals(Cookie.toSetCookieHeaders(List.of(new Cookie("foo", "bar"), new Cookie("baz", "cox"))), headers); } @Test void requireThatCookieHeaderCanBeDecoded() throws Exception { final HttpResponse response = newResponse(69); - final List<Cookie> cookies = Collections.singletonList(new Cookie("foo", "bar")); + final List<Cookie> cookies = List.of(new Cookie("foo", "bar")); response.encodeSetCookieHeader(cookies); assertEquals(cookies, response.decodeSetCookieHeader()); } @@ -108,7 +106,7 @@ public class HttpResponseTestCase { @Test void requireThatMultipleCookieHeadersCanBeDecoded() throws Exception { final HttpResponse response = newResponse(69); - final List<Cookie> cookies = Arrays.asList(new Cookie("foo", "bar"), new Cookie("baz", "cox")); + final List<Cookie> cookies = List.of(new Cookie("foo", "bar"), new Cookie("baz", "cox")); response.encodeSetCookieHeader(cookies); assertEquals(cookies, response.decodeSetCookieHeader()); } diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java index 6460dee8365..9a3005c0971 100644 --- a/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java +++ b/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java @@ -12,7 +12,6 @@ import org.junit.jupiter.api.Test; import java.net.InetSocketAddress; import java.net.URI; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Enumeration; import java.util.List; @@ -306,7 +305,7 @@ public class DiscFilterRequestTest { URI uri = URI.create("http://example.yahoo.com/test"); HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1); httpReq.headers().add("key1", "value1"); - httpReq.headers().add("key2", Arrays.asList("value1", "value2")); + httpReq.headers().add("key2", List.of("value1", "value2")); DiscFilterRequest request = new DiscFilterRequest(httpReq); HeaderFields headers = request.getUntreatedHeaders(); diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java index 9c17ce7d0da..73dfb85519c 100644 --- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java +++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java @@ -54,7 +54,6 @@ import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map; @@ -667,7 +666,7 @@ public class HttpServerTest { private ResponseMetricAggregator.StatisticsEntry waitForStatistics(ResponseMetricAggregator statisticsCollector) { - List<ResponseMetricAggregator.StatisticsEntry> entries = Collections.emptyList(); + List<ResponseMetricAggregator.StatisticsEntry> entries = List.of(); int tries = 0; // Wait up to 30 seconds before giving up while (entries.isEmpty() && tries < 300) { @@ -912,7 +911,7 @@ public class HttpServerTest { @Override public ContentChannel handleRequest(final Request request, final ResponseHandler handler) { final HttpResponse response = HttpResponse.newInstance(OK); - response.encodeSetCookieHeader(Collections.singletonList(cookie)); + response.encodeSetCookieHeader(List.of(cookie)); ResponseDispatch.newInstance(response).dispatch(handler); return null; } @@ -922,8 +921,8 @@ public class HttpServerTest { @Override public ContentChannel handleRequest(final Request request, final ResponseHandler handler) { - final List<Cookie> cookies = new ArrayList<>(((HttpRequest)request).decodeCookieHeader()); - Collections.sort(cookies, new CookieComparator()); + List<Cookie> cookies = new ArrayList<>(((HttpRequest)request).decodeCookieHeader()); + cookies.sort(new CookieComparator()); final ContentChannel out = ResponseDispatch.newInstance(Response.Status.OK).connect(handler); out.write(StandardCharsets.UTF_8.encode(cookies.toString()), null); out.close(null); 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-core/src/test/java/com/yahoo/processing/processors/MockUserDatabaseClientTest.java b/container-core/src/test/java/com/yahoo/processing/processors/MockUserDatabaseClientTest.java index 76de0767ef0..0149842393f 100644 --- a/container-core/src/test/java/com/yahoo/processing/processors/MockUserDatabaseClientTest.java +++ b/container-core/src/test/java/com/yahoo/processing/processors/MockUserDatabaseClientTest.java @@ -17,7 +17,7 @@ import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; import java.net.URI; import java.util.Collection; -import java.util.Collections; +import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -30,7 +30,7 @@ public class MockUserDatabaseClientTest { Request request = null; try { Chain<Processor> chain = new Chain<>("default", new MockUserDatabaseClient()); - setupJDisc(Collections.singletonList(chain)); + setupJDisc(List.of(chain)); request = createRequest(); Response response = Execution.createRoot(chain, 0, Execution.Environment.createEmpty()).process(request); MockUserDatabaseClient.User user = (MockUserDatabaseClient.User) response.data().request().properties().get("User"); diff --git a/container-core/src/test/java/com/yahoo/processing/request/test/PropertyMapTestCase.java b/container-core/src/test/java/com/yahoo/processing/request/test/PropertyMapTestCase.java index 1f1f1d65677..43c7ccc75b2 100644 --- a/container-core/src/test/java/com/yahoo/processing/request/test/PropertyMapTestCase.java +++ b/container-core/src/test/java/com/yahoo/processing/request/test/PropertyMapTestCase.java @@ -5,7 +5,6 @@ import com.yahoo.lang.PublicCloneable; import com.yahoo.processing.request.properties.PropertyMap; import org.junit.jupiter.api.Test; -import java.util.Collections; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -24,8 +23,8 @@ public class PropertyMapTestCase { map.set("clonableArray", new ClonableObject[]{new ClonableObject()}); map.set("publicClonableArray", new ClonableObject[]{new ClonableObject()}); map.set("nonclonableArray", new NonClonableObject[]{new NonClonableObject()}); - map.set("clonableList", Collections.singletonList(new ClonableObject())); - map.set("nonclonableList", Collections.singletonList(new NonClonableObject())); + map.set("clonableList", List.of(new ClonableObject())); + map.set("nonclonableList", List.of(new NonClonableObject())); assertNotNull(map.get("clonable")); assertNotNull(map.get("nonclonable")); diff --git a/container-core/src/test/java/com/yahoo/processing/test/documentation/Federator.java b/container-core/src/test/java/com/yahoo/processing/test/documentation/Federator.java index 101f5d31648..c7892ddbc1e 100644 --- a/container-core/src/test/java/com/yahoo/processing/test/documentation/Federator.java +++ b/container-core/src/test/java/com/yahoo/processing/test/documentation/Federator.java @@ -10,7 +10,6 @@ import com.yahoo.processing.execution.Execution; import com.yahoo.processing.response.FutureResponse; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** @@ -23,7 +22,7 @@ public class Federator extends Processor { @SafeVarargs @SuppressWarnings("varargs") public Federator(Chain<? extends Processor> ... chains) { - this.chains = Arrays.asList(chains); + this.chains = List.of(chains); } @SuppressWarnings("unchecked") |