From 2d6bbe0b8bff09d105b77161c1d26a00ce43bf0c Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Thu, 11 Apr 2024 15:09:55 +0200 Subject: Unify on List.of --- .../main/java/com/yahoo/component/chain/ChainedComponent.java | 3 +-- .../src/main/java/com/yahoo/container/bundle/MockBundle.java | 2 +- .../yahoo/container/di/componentgraph/cycle/CycleFinder.java | 4 +--- .../yahoo/container/http/filter/FilterChainRepository.java | 5 ++--- .../src/main/java/com/yahoo/jdisc/http/CookieHelper.java | 3 +-- .../src/main/java/com/yahoo/jdisc/http/HttpRequest.java | 3 +-- .../java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java | 4 ++-- .../yahoo/jdisc/http/filter/SecurityResponseFilterChain.java | 11 ++++++----- container-core/src/main/java/com/yahoo/osgi/MockOsgi.java | 5 ++--- .../com/yahoo/processing/response/DefaultIncomingData.java | 5 ++--- .../main/java/com/yahoo/processing/response/IncomingData.java | 3 +-- .../test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java | 7 +++---- .../test/java/com/yahoo/jdisc/http/HttpResponseTestCase.java | 5 ++--- .../com/yahoo/jdisc/http/server/jetty/HttpServerTest.java | 9 ++++----- .../processing/processors/MockUserDatabaseClientTest.java | 4 ++-- .../yahoo/processing/request/test/PropertyMapTestCase.java | 5 ++--- 16 files changed, 33 insertions(+), 45 deletions(-) (limited to 'container-core') 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..d98e7e9c730 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 @@ -13,7 +13,6 @@ 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; /** @@ -90,7 +89,7 @@ public abstract class ChainedComponent extends AbstractComponent { Object values = annotationClass.getMethod("value").invoke(annotation); return Arrays.asList((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/container/bundle/MockBundle.java b/container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java index 29a45c10af3..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 @@ -239,7 +239,7 @@ public class MockBundle implements Bundle, BundleWiring { @Override public Collection 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/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 { 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/jdisc/http/CookieHelper.java b/container-core/src/main/java/com/yahoo/jdisc/http/CookieHelper.java index e3c2d20ba51..3f32ca97a1c 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 @@ -4,7 +4,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 +19,7 @@ public class CookieHelper { public static List decodeSetCookieHeader(HeaderFields headers) { List cookies = headers.get(HttpHeaders.Names.SET_COOKIE); if (cookies == null) { - return Collections.emptyList(); + return List.of(); } List ret = new LinkedList<>(); for (String cookie : cookies) { 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 decodeCookieHeader() { List cookies = headers().get(HttpHeaders.Names.COOKIE); if (cookies == null) { - return Collections.emptyList(); + return List.of(); } List 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 getHeadersAsList(String name) { List 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/SecurityResponseFilterChain.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java index e6d5e67bc57..f3e722fbd61 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 @@ -9,7 +9,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 +19,14 @@ import java.util.Optional; */ public class SecurityResponseFilterChain extends AbstractResource implements ResponseFilter { - private final List filters = new ArrayList<>(); + private final List filters; private SecurityResponseFilterChain(Iterable filters) { + List builder = new ArrayList<>(); for (SecurityResponseFilter filter : filters) { - this.filters.add(filter); + builder.add(filter); } + this.filters = List.copyOf(builder); } @Override @@ -51,7 +52,7 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res /** Returns an unmodifiable view of the filters in this */ public List getFilters() { - return Collections.unmodifiableList(filters); + return filters; } static class RequestViewImpl implements RequestView { @@ -74,7 +75,7 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res @Override public List getHeaders(String name) { List 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/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 getCurrentBundles() { - return Collections.emptyList(); + return List.of(); } @Override @@ -33,7 +32,7 @@ public class MockOsgi extends NonWorkingOsgiFramework implements Osgi { @Override public List install(String absolutePath) { - return Collections.emptyList(); + return List.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 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 { } public List drain() { - return Collections.emptyList(); + return List.of(); } /** 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..ab20c86ded6 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 @@ -9,7 +9,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; @@ -98,7 +97,7 @@ public class HttpRequestTestCase { 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")); + assertEquals(List.of("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")); @@ -170,7 +169,7 @@ public class HttpRequestTestCase { @Test void requireThatCookieHeaderCanBeEncoded() throws Exception { final HttpRequest request = newRequest(HttpRequest.Version.HTTP_1_0); - final List cookies = Collections.singletonList(new Cookie("foo", "bar")); + final List cookies = List.of(new Cookie("foo", "bar")); request.encodeCookieHeader(cookies); final List headers = request.headers().get(com.yahoo.jdisc.http.HttpHeaders.Names.COOKIE); assertEquals(1, headers.size()); @@ -180,7 +179,7 @@ public class HttpRequestTestCase { @Test void requireThatCookieHeaderCanBeDecoded() throws Exception { final HttpRequest request = newRequest(HttpRequest.Version.HTTP_1_0); - final List cookies = Collections.singletonList(new Cookie("foo", "bar")); + final List 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..c948251daad 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 @@ -5,7 +5,6 @@ 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 +78,7 @@ public class HttpResponseTestCase { @Test void requireThatCookieHeaderCanBeEncoded() throws Exception { final HttpResponse response = newResponse(69); - final List cookies = Collections.singletonList(new Cookie("foo", "bar")); + final List cookies = List.of(new Cookie("foo", "bar")); response.encodeSetCookieHeader(cookies); final List headers = response.headers().get(HttpHeaders.Names.SET_COOKIE); assertEquals(1, headers.size()); @@ -100,7 +99,7 @@ public class HttpResponseTestCase { @Test void requireThatCookieHeaderCanBeDecoded() throws Exception { final HttpResponse response = newResponse(69); - final List cookies = Collections.singletonList(new Cookie("foo", "bar")); + final List cookies = List.of(new Cookie("foo", "bar")); response.encodeSetCookieHeader(cookies); assertEquals(cookies, response.decodeSetCookieHeader()); } 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 entries = Collections.emptyList(); + List 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 cookies = new ArrayList<>(((HttpRequest)request).decodeCookieHeader()); - Collections.sort(cookies, new CookieComparator()); + List 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/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 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")); -- cgit v1.2.3