aboutsummaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-04-11 15:09:55 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2024-04-11 21:04:22 +0200
commit2d6bbe0b8bff09d105b77161c1d26a00ce43bf0c (patch)
treef9948a9904d837960887e81a956b29f92d918002 /container-core
parent6923743ed320ce339727ad57f6fc2da5f82f5e3f (diff)
Unify on List.of
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/component/chain/ChainedComponent.java3
-rw-r--r--container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java4
-rw-r--r--container-core/src/main/java/com/yahoo/container/http/filter/FilterChainRepository.java5
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/CookieHelper.java3
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java3
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java4
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java11
-rw-r--r--container-core/src/main/java/com/yahoo/osgi/MockOsgi.java5
-rw-r--r--container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java5
-rw-r--r--container-core/src/main/java/com/yahoo/processing/response/IncomingData.java3
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java7
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/HttpResponseTestCase.java5
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java9
-rw-r--r--container-core/src/test/java/com/yahoo/processing/processors/MockUserDatabaseClientTest.java4
-rw-r--r--container-core/src/test/java/com/yahoo/processing/request/test/PropertyMapTestCase.java5
16 files changed, 33 insertions, 45 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..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<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/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/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<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) {
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/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<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
@@ -51,7 +52,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 +75,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/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/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/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<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 +179,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..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<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());
@@ -100,7 +99,7 @@ public class HttpResponseTestCase {
@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());
}
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/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"));