aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java5
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JarFiles.java5
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java5
-rw-r--r--client/src/main/java/ai/vespa/client/dsl/Sources.java3
-rw-r--r--client/src/test/java/ai/vespa/client/dsl/QTest.java12
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java2
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java29
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java3
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java3
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/HostFilterTest.java10
-rw-r--r--config-proxy/src/main/java/com/yahoo/vespa/config/proxy/MemoryCacheConfigClient.java3
-rw-r--r--config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java3
-rw-r--r--config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MockConfigSourceClient.java3
-rw-r--r--[-rwxr-xr-x]config/src/main/java/com/yahoo/vespa/config/RawConfig.java3
-rw-r--r--config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpConfigRequest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerBootstrapTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponseTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java5
-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
-rw-r--r--container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java11
-rw-r--r--container-messagebus/src/test/java/com/yahoo/messagebus/jdisc/MbusServerConformanceTest.java4
-rw-r--r--container-search/src/main/java/com/yahoo/search/Query.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java6
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java5
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java11
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java5
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java8
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/Select.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java5
-rw-r--r--container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java6
-rw-r--r--container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java13
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java3
-rw-r--r--container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java6
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java3
-rw-r--r--container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java3
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java5
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java5
-rw-r--r--container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java16
-rw-r--r--container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java4
-rw-r--r--docproc/src/main/java/com/yahoo/docproc/Processing.java3
-rw-r--r--docprocs/src/test/java/com/yahoo/docprocs/indexing/DocumentScriptTestCase.java12
-rw-r--r--[-rwxr-xr-x]document/src/main/java/com/yahoo/document/FieldPath.java5
-rw-r--r--document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLUpdateReader.java12
-rw-r--r--[-rwxr-xr-x]documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java5
-rw-r--r--hosted-api/src/test/java/ai/vespa/hosted/api/TestDescriptorTest.java7
-rw-r--r--indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java3
-rw-r--r--jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/misc/VespaTlsFilterTest.java3
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/application/BundleInstaller.java8
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/application/ContainerBuilder.java3
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/Main.java7
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/handler/RequestDispatch.java6
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/handler/ResponseDispatch.java11
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/test/NonWorkingOsgiFramework.java5
-rw-r--r--jdisc_core/src/test/java/com/yahoo/jdisc/application/UriPatternTestCase.java3
-rw-r--r--jdisc_core/src/test/java/com/yahoo/jdisc/core/ApplicationEnvironmentModuleTestCase.java5
-rw-r--r--jrt/tests/com/yahoo/jrt/CryptoUtils.java4
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java7
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java7
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonUtil.java9
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java3
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java5
-rw-r--r--metrics/src/test/java/ai/vespa/metrics/MetricSetTest.java5
-rw-r--r--model-evaluation/src/main/java/ai/vespa/models/evaluation/RankProfilesConfigImporter.java5
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java10
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/OnnxConstant.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java3
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java4
-rw-r--r--orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/ApplicationReferenceList.java3
-rw-r--r--orchestrator/src/test/java/com/yahoo/vespa/orchestrator/model/ClusterApiImplTest.java5
-rw-r--r--orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/HostRequestHandlerTest.java21
-rw-r--r--predicate-search-core/src/test/java/com/yahoo/document/predicate/FeatureConjunctionTest.java15
-rw-r--r--[-rwxr-xr-x]searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java3
-rw-r--r--[-rwxr-xr-x]searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java3
-rw-r--r--[-rwxr-xr-x]searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionNode.java3
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java3
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/LambdaFunctionNode.java3
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/NotNode.java3
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/TensorFunctionNode.java3
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/UnpackBitsNode.java3
-rw-r--r--[-rwxr-xr-x]searchlib/src/main/javacc/RankingExpressionParser.jj3
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java26
-rw-r--r--security-utils/src/main/java/com/yahoo/security/KeyStoreBuilder.java4
-rw-r--r--security-utils/src/main/java/com/yahoo/security/Pkcs10Csr.java6
-rw-r--r--security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java6
-rw-r--r--security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java3
-rw-r--r--security-utils/src/main/java/com/yahoo/security/X509CertificateWithKey.java3
-rw-r--r--security-utils/src/test/java/com/yahoo/security/tls/AuthorizedPeersTest.java11
-rw-r--r--security-utils/src/test/java/com/yahoo/security/tls/DefaultTlsContextTest.java3
-rw-r--r--security-utils/src/test/java/com/yahoo/security/tls/PeerAuthorizerTest.java27
-rw-r--r--security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsJsonSerializerTest.java6
-rw-r--r--security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsTest.java10
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java5
-rw-r--r--vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java3
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzPrincipal.java6
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java3
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java8
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzCredentialsService.java4
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/LegacyAthenzIdentityProviderImpl.java3
-rw-r--r--vespa-feed-client-api/src/main/java/ai/vespa/feed/client/FeedClientBuilder.java3
-rw-r--r--vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java3
-rw-r--r--vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java5
-rw-r--r--vespa-feed-client/src/test/java/ai/vespa/feed/client/impl/HttpFeedClientTest.java12
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/VersionsTestCase.java9
-rw-r--r--vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java4
-rw-r--r--vespaclient-java/src/test/java/com/yahoo/vespastat/BucketStatsPrinterTest.java5
-rw-r--r--vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java2
-rw-r--r--vespajlib/src/main/java/com/yahoo/concurrent/InThreadExecutorService.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/data/access/simple/Value.java4
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/Tensor.java33
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/TensorTypeParser.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/evaluation/VariableTensor.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/CellCast.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/ConstantTensor.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Diag.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Expand.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/L1Normalize.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/L2Normalize.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Map.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/MapSubspaces.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Random.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Range.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Softmax.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/yolean/trace/TraceNode.java5
-rw-r--r--vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java6
-rw-r--r--vespajlib/src/test/java/com/yahoo/io/reader/NamedReaderTestCase.java3
-rw-r--r--vespajlib/src/test/java/com/yahoo/tensor/IndexedTensorTestCase.java4
-rw-r--r--vespajlib/src/test/java/com/yahoo/tensor/MatrixDotProductBenchmark.java3
-rw-r--r--vespajlib/src/test/java/com/yahoo/tensor/TensorTestCase.java5
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorOperations.java3
160 files changed, 368 insertions, 507 deletions
diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java
index cbe5e97374c..74780cdaa25 100644
--- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java
+++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java
@@ -9,7 +9,6 @@ import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.jar.Manifest;
@@ -37,7 +36,7 @@ public class AnalyzeBundle {
static List<Export> exportedPackages(File jarFile) {
var manifest = getOsgiManifest(jarFile);
- if (manifest == null) return Collections.emptyList();
+ if (manifest == null) return List.of();
try {
return parseExports(manifest);
} catch (Exception e) {
@@ -55,7 +54,7 @@ public class AnalyzeBundle {
private static List<String> nonPublicApiPackages(File jarFile) {
var manifest = getOsgiManifest(jarFile);
- if (manifest == null) return Collections.emptyList();
+ if (manifest == null) return List.of();
return getMainAttributeValue(manifest, "X-JDisc-Non-PublicApi-Export-Package")
.map(s -> Arrays.asList(s.split(",")))
.orElseGet(ArrayList::new);
diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JarFiles.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JarFiles.java
index af403946f39..c66aa61a8ee 100644
--- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JarFiles.java
+++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JarFiles.java
@@ -4,7 +4,6 @@ package com.yahoo.container.plugin.util;
import java.io.File;
import java.io.InputStream;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.jar.JarFile;
@@ -25,8 +24,8 @@ public class JarFiles {
.map(s -> Arrays.stream(s.split(","))
.map(ArtifactId::fromStringValue)
.toList())
- .orElse(Collections.emptyList()))
- .orElse(Collections.emptyList());
+ .orElse(List.of()))
+ .orElse(List.of());
}
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
index caaa8d5c6c0..7ad1afff01d 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
@@ -6,7 +6,6 @@ import com.yahoo.container.plugin.osgi.ExportPackages.Parameter;
import com.yahoo.container.plugin.osgi.ImportPackages.Import;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -23,8 +22,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
*/
public class ImportPackageTest {
private static final String PACKAGE_NAME = "com.yahoo.exported";
- private final Set<String> referencedPackages = Collections.singleton(PACKAGE_NAME);
- private final Map<String, Export> exports = exportByPackageName(new Export(List.of(PACKAGE_NAME), Collections.emptyList()));
+ private final Set<String> referencedPackages = Set.of(PACKAGE_NAME);
+ private final Map<String, Export> exports = exportByPackageName(new Export(List.of(PACKAGE_NAME), List.of()));
private final Map<String, Export> exportsWithVersion = exportByPackageName(
new Export(List.of(PACKAGE_NAME), List.of(new Parameter("version", "1.3"))));
diff --git a/client/src/main/java/ai/vespa/client/dsl/Sources.java b/client/src/main/java/ai/vespa/client/dsl/Sources.java
index b6dd1b06536..cecf27aa240 100644
--- a/client/src/main/java/ai/vespa/client/dsl/Sources.java
+++ b/client/src/main/java/ai/vespa/client/dsl/Sources.java
@@ -3,7 +3,6 @@ package ai.vespa.client.dsl;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -19,7 +18,7 @@ public class Sources {
}
Sources(Select select, String searchDefinition) {
- this(select, Collections.singletonList(searchDefinition));
+ this(select, List.of(searchDefinition));
}
Sources(Select select, String searchDefinition, String... others) {
diff --git a/client/src/test/java/ai/vespa/client/dsl/QTest.java b/client/src/test/java/ai/vespa/client/dsl/QTest.java
index 3dbf714ed62..7673d0ff717 100644
--- a/client/src/test/java/ai/vespa/client/dsl/QTest.java
+++ b/client/src/test/java/ai/vespa/client/dsl/QTest.java
@@ -4,9 +4,9 @@ package ai.vespa.client.dsl;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -498,7 +498,7 @@ class QTest {
@Test
void use_contains_instead_of_contains_equiv_when_input_size_is_1() {
- String q = Q.p("f1").containsEquiv(Collections.singletonList("p1"))
+ String q = Q.p("f1").containsEquiv(List.of("p1"))
.build();
assertEquals(q, "yql=select * from sources * where f1 contains \"p1\"");
@@ -506,16 +506,16 @@ class QTest {
@Test
void contains_phrase_near_onear_equiv_empty_list_should_throw_illegal_argument_exception() {
- assertThrows(IllegalArgumentException.class, () -> Q.p("f1").containsPhrase(Collections.emptyList())
+ assertThrows(IllegalArgumentException.class, () -> Q.p("f1").containsPhrase(List.of())
.build());
- assertThrows(IllegalArgumentException.class, () -> Q.p("f1").containsNear(Collections.emptyList())
+ assertThrows(IllegalArgumentException.class, () -> Q.p("f1").containsNear(List.of())
.build());
- assertThrows(IllegalArgumentException.class, () -> Q.p("f1").containsOnear(Collections.emptyList())
+ assertThrows(IllegalArgumentException.class, () -> Q.p("f1").containsOnear(List.of())
.build());
- assertThrows(IllegalArgumentException.class, () -> Q.p("f1").containsEquiv(Collections.emptyList())
+ assertThrows(IllegalArgumentException.class, () -> Q.p("f1").containsEquiv(List.of())
.build());
}
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java
index 16cd7bf7e88..4308e0c2a0e 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java
@@ -386,7 +386,7 @@ public class DeploymentSpec {
public abstract boolean concerns(Environment environment, Optional<RegionName> region);
/** Returns the zones deployed to in this step. */
- public List<DeclaredZone> zones() { return Collections.emptyList(); }
+ public List<DeclaredZone> zones() { return List.of(); }
/** The delay introduced by this step (beyond the time it takes to execute the step). */
public Duration delay() { return Duration.ZERO; }
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java b/config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java
index 370dfbff2b8..ac8900ab67b 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/Notifications.java
@@ -7,10 +7,9 @@ import com.google.common.collect.ImmutableSet;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
-import static java.util.Collections.emptyList;
-
/**
* Configuration of notifications for deployment jobs.
*
@@ -59,7 +58,7 @@ public class Notifications {
/** Returns all email addresses to notify for the given condition. */
public Set<String> emailAddressesFor(When when) {
ImmutableSet.Builder<String> addresses = ImmutableSet.builder();
- addresses.addAll(emailAddresses.getOrDefault(when, emptyList()));
+ addresses.addAll(emailAddresses.getOrDefault(when, List.of()));
for (When include : when.includes)
addresses.addAll(emailAddressesFor(include));
return addresses.build();
@@ -68,7 +67,7 @@ public class Notifications {
/** Returns all roles for which email notification is to be sent for the given condition. */
public Set<Role> emailRolesFor(When when) {
ImmutableSet.Builder<Role> roles = ImmutableSet.builder();
- roles.addAll(emailRoles.getOrDefault(when, emptyList()));
+ roles.addAll(emailRoles.getOrDefault(when, List.of()));
for (When include : when.includes)
roles.addAll(emailRolesFor(include));
return roles.build();
@@ -81,17 +80,17 @@ public class Notifications {
author;
public static String toValue(Role role) {
- switch (role) {
- case author: return "author";
- default: throw new IllegalArgumentException("Unexpected constant '" + role.name() + "'.");
+ if (Objects.requireNonNull(role) == Role.author) {
+ return "author";
}
+ throw new IllegalArgumentException("Unexpected constant '" + role.name() + "'.");
}
public static Role fromValue(String value) {
- switch (value) {
- case "author": return author;
- default: throw new IllegalArgumentException("Unknown value '" + value + "'.");
+ if (value.equals("author")) {
+ return author;
}
+ throw new IllegalArgumentException("Unknown value '" + value + "'.");
}
}
@@ -112,11 +111,11 @@ public class Notifications {
}
public static String toValue(When when) {
- switch (when) {
- case failing: return "failing";
- case failingCommit: return "failing-commit";
- default: throw new IllegalArgumentException("Unexpected constant '" + when.name() + "'.");
- }
+ return switch (when) {
+ case failing -> "failing";
+ case failingCommit -> "failing-commit";
+ default -> throw new IllegalArgumentException("Unexpected constant '" + when.name() + "'.");
+ };
}
public static When fromValue(String value) {
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
index 99c9dad02de..05807ae6cc1 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
@@ -23,7 +23,6 @@ import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
import java.time.ZoneId;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -1152,7 +1151,7 @@ public class DeploymentSpecTest {
<instance id='default'/>
</deployment>
""");
- assertEquals(Collections.emptyList(), spec.requireInstance("default").endpoints());
+ assertEquals(List.of(), spec.requireInstance("default").endpoints());
assertEquals(ZoneEndpoint.defaultEndpoint, spec.zoneEndpoint(InstanceName.defaultName(),
defaultId(),
ClusterSpec.Id.from("cluster")));
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
index e102e3afaa7..e25069fdc3a 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
@@ -16,7 +16,6 @@ import java.io.StringReader;
import java.time.Duration;
import java.time.Instant;
import java.time.ZoneId;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -599,7 +598,7 @@ public class DeploymentSpecWithoutInstanceTest {
@Test
public void emptyEndpoints() {
var spec = DeploymentSpec.fromXml("<deployment><endpoints/></deployment>");
- assertEquals(Collections.emptyList(), spec.requireInstance("default").endpoints());
+ assertEquals(List.of(), spec.requireInstance("default").endpoints());
}
@Test
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/HostFilterTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/HostFilterTest.java
index 87165c0afef..93995bace63 100644
--- a/config-provisioning/src/test/java/com/yahoo/config/provision/HostFilterTest.java
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/HostFilterTest.java
@@ -4,7 +4,7 @@ package com.yahoo.config.provision;
import com.yahoo.component.Vtag;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
+import java.util.List;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -45,10 +45,10 @@ public class HostFilterTest {
@Test
void testMultiConditionFilter() {
- HostFilter typeAndId = HostFilter.from(Collections.emptyList(),
- Collections.emptyList(),
- Collections.singletonList(ClusterSpec.Type.content),
- Collections.singletonList(ClusterSpec.Id.from("type1")));
+ HostFilter typeAndId = HostFilter.from(List.of(),
+ List.of(),
+ List.of(ClusterSpec.Type.content),
+ List.of(ClusterSpec.Id.from("type1")));
assertFalse(typeAndId.matches("anyhost", "flavor", membership("content/anyType/0/0/stateful")));
assertFalse(typeAndId.matches("anyhost", "flavor", membership("container/type1/0/0")));
diff --git a/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/MemoryCacheConfigClient.java b/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/MemoryCacheConfigClient.java
index e69d76ec124..a34ad69d22c 100644
--- a/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/MemoryCacheConfigClient.java
+++ b/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/MemoryCacheConfigClient.java
@@ -6,7 +6,6 @@ import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.RawConfig;
import com.yahoo.vespa.config.protocol.JRTServerConfigRequest;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.logging.Level;
@@ -56,7 +55,7 @@ class MemoryCacheConfigClient implements ConfigSourceClient {
@Override
public List<String> getSourceConnections() {
- return Collections.singletonList("N/A");
+ return List.of("N/A");
}
@Override
diff --git a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java
index aa063b1ea54..656187ea8e5 100644
--- a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java
+++ b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java
@@ -17,7 +17,6 @@ import com.yahoo.vespa.config.protocol.Payload;
import com.yahoo.vespa.config.protocol.Trace;
import com.yahoo.vespa.config.util.ConfigUtils;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -30,7 +29,7 @@ import static com.yahoo.vespa.config.PayloadChecksum.Type.XXHASH64;
public class ConfigTester {
private static final long defaultTimeout = 10000;
- private static final List<String> defContent = Collections.singletonList("bar string");
+ private static final List<String> defContent = List.of("bar string");
static RawConfig fooConfig;
static RawConfig barConfig;
diff --git a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MockConfigSourceClient.java b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MockConfigSourceClient.java
index baafe2ae2dd..69f6e0e8dae 100644
--- a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MockConfigSourceClient.java
+++ b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MockConfigSourceClient.java
@@ -5,7 +5,6 @@ import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.RawConfig;
import com.yahoo.vespa.config.protocol.JRTServerConfigRequest;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -51,7 +50,7 @@ public class MockConfigSourceClient implements ConfigSourceClient{
@Override
public List<String> getSourceConnections() {
- return Collections.singletonList("N/A");
+ return List.of("N/A");
}
@Override
diff --git a/config/src/main/java/com/yahoo/vespa/config/RawConfig.java b/config/src/main/java/com/yahoo/vespa/config/RawConfig.java
index 9964e63bfd6..3f7d9c15fa7 100755..100644
--- a/config/src/main/java/com/yahoo/vespa/config/RawConfig.java
+++ b/config/src/main/java/com/yahoo/vespa/config/RawConfig.java
@@ -11,7 +11,6 @@ import com.yahoo.vespa.config.protocol.Payload;
import com.yahoo.vespa.config.protocol.VespaVersion;
import com.yahoo.vespa.config.util.ConfigUtils;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -40,7 +39,7 @@ public class RawConfig extends ConfigInstance {
* @param defMd5 The md5 sum of the .def-file.
*/
public RawConfig(ConfigKey<?> key, String defMd5) {
- this(key, defMd5, null, PayloadChecksums.empty(), 0L, false, 0, Collections.emptyList(), Optional.empty());
+ this(key, defMd5, null, PayloadChecksums.empty(), 0L, false, 0, List.of(), Optional.empty());
}
public RawConfig(ConfigKey<?> key, String defMd5, Payload payload, PayloadChecksums payloadChecksums, long generation,
diff --git a/config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java b/config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java
index 69ec2ff2d7b..c347880f239 100644
--- a/config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java
+++ b/config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java
@@ -11,7 +11,6 @@ import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.TimingValues;
import org.junit.Test;
-import java.util.Collections;
import java.util.List;
import static org.junit.Assert.assertEquals;
@@ -78,7 +77,7 @@ public class ConfigSubscriptionTest {
@Test
public void testSubscribeWithException() {
TestConfigSubscriber sub = new TestConfigSubscriber();
- ConfigSourceSet configSourceSet = new ConfigSourceSet(Collections.singletonList("tcp/localhost:99999"));
+ ConfigSourceSet configSourceSet = new ConfigSourceSet(List.of("tcp/localhost:99999"));
try {
sub.subscribe(SimpletypesConfig.class, "configid", configSourceSet, new TimingValues().setSubscribeTimeout(100));
fail();
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpConfigRequest.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpConfigRequest.java
index 06e5ded4cdb..c80d034a2f9 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpConfigRequest.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpConfigRequest.java
@@ -19,7 +19,7 @@ import com.yahoo.vespa.config.server.http.v2.request.HttpConfigRequests;
import com.yahoo.vespa.config.server.http.v2.request.TenantRequest;
import com.yahoo.vespa.config.util.ConfigUtils;
-import java.util.Collections;
+import java.util.List;
import java.util.Optional;
import java.util.Set;
@@ -190,7 +190,7 @@ public class HttpConfigRequest implements GetConfigRequest, TenantRequest {
@Override
public DefContent getDefContent() {
- return DefContent.fromList(Collections.emptyList());
+ return DefContent.fromList(List.of());
}
@Override
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerBootstrapTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerBootstrapTest.java
index 801f599c2d8..34900f61463 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerBootstrapTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerBootstrapTest.java
@@ -35,7 +35,6 @@ import java.io.IOException;
import java.nio.file.Paths;
import java.time.Duration;
import java.time.Instant;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.function.BooleanSupplier;
@@ -311,7 +310,7 @@ public class ConfigServerBootstrapTest {
}
private Host createHost(String hostname, String version) {
- return new Host(hostname, Collections.emptyList(), Optional.empty(), Optional.of(com.yahoo.component.Version.fromString(version)));
+ return new Host(hostname, List.of(), Optional.empty(), Optional.of(com.yahoo.component.Version.fromString(version)));
}
private VipStatus createVipStatus(StateMonitor stateMonitor) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
index af86463bb81..39f1cb70112 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
@@ -30,8 +30,8 @@ import org.xml.sax.SAXException;
import java.io.File;
import java.io.IOException;
-import java.util.Collections;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -73,7 +73,7 @@ public class SuperModelControllerTest {
public void test_unknown_config_definition() {
PayloadChecksums payloadChecksums = PayloadChecksums.empty();
Request request = createWithParams(new ConfigKey<>("foo", "id", "bar", null),
- DefContent.fromList(Collections.emptyList()), "fromHost",
+ DefContent.fromList(List.of()), "fromHost",
payloadChecksums, 1, 1, Trace.createDummy(),
CompressionType.UNCOMPRESSED, Optional.empty())
.getRequest();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java b/configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java
index c18dad1ea67..4025c88de32 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java
@@ -48,7 +48,7 @@ public class MockModel implements Model {
hostnames.forEach(hostname -> {
ServiceInfo configProxy = createServiceInfo(hostname, "configproxy", "configproxy",
ClusterSpec.Type.admin, rpcPort, "rpc");
- hostInfos.add(new HostInfo(hostname, Collections.singletonList(configProxy)));
+ hostInfos.add(new HostInfo(hostname, List.of(configProxy)));
});
return new MockModel(hostInfos);
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
index 67a1a335067..68add64ddd9 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
@@ -53,7 +53,6 @@ import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -219,7 +218,7 @@ public class DeployTester {
public ModelCreateResult createAndValidateModel(ModelContext modelContext, ValidationParameters validationParameters) {
if ( ! validationParameters.ignoreValidationErrors())
throw new IllegalArgumentException("Model building fails");
- return new ModelCreateResult(createModel(modelContext), Collections.emptyList());
+ return new ModelCreateResult(createModel(modelContext), List.of());
}
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
index 838b1b6b209..512f4dff6b7 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
@@ -47,7 +47,6 @@ import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -581,7 +580,7 @@ public class HostedDeployTest {
}
private Host createHost(String hostname, String version) {
- return new Host(hostname, Collections.emptyList(), Optional.empty(), Optional.ofNullable(version).map(Version::fromString));
+ return new Host(hostname, List.of(), Optional.empty(), Optional.ofNullable(version).map(Version::fromString));
}
private DeployTester createTester(List<Host> hosts, List<ModelFactory> modelFactories, Zone zone) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponseTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponseTest.java
index 2ca0155ac6f..0773ace0051 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponseTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponseTest.java
@@ -17,7 +17,6 @@ import org.junit.rules.TemporaryFolder;
import java.io.IOException;
import java.time.Duration;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -80,7 +79,7 @@ public class DelayedConfigResponseTest {
private JRTServerConfigRequest createRequest(String configName, String configId, long generation, long timeout, String namespace) {
Request request = createWithParams(new ConfigKey<>(configName, configId, namespace, null),
- DefContent.fromList(Collections.emptyList()), "fromHost",
+ DefContent.fromList(List.of()), "fromHost",
PayloadChecksums.empty(), generation, timeout, Trace.createDummy(),
CompressionType.UNCOMPRESSED, Optional.empty())
.getRequest();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
index f736eab0576..0ec651468cd 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
@@ -61,7 +61,6 @@ import java.security.KeyPair;
import java.security.cert.X509Certificate;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -192,7 +191,7 @@ public class SessionPreparerTest {
public void require_exception_for_overlapping_host() throws IOException {
FilesApplicationPackage app = getApplicationPackage(testApp);
HostRegistry hostValidator = new HostRegistry();
- hostValidator.update(applicationId("foo"), Collections.singletonList("mytesthost"));
+ hostValidator.update(applicationId("foo"), List.of("mytesthost"));
preparer.prepare(hostValidator, new BaseDeployLogger(), new PrepareParams.Builder().applicationId(applicationId("default")).build(),
Optional.empty(), Instant.now(), app.getAppDir(), app, createSessionZooKeeperClient());
}
@@ -206,7 +205,7 @@ public class SessionPreparerTest {
FilesApplicationPackage app = getApplicationPackage(testApp);
HostRegistry hostValidator = new HostRegistry();
ApplicationId applicationId = applicationId();
- hostValidator.update(applicationId, Collections.singletonList("mytesthost"));
+ hostValidator.update(applicationId, List.of("mytesthost"));
preparer.prepare(hostValidator, logger, new PrepareParams.Builder().applicationId(applicationId).build(),
Optional.empty(), Instant.now(), app.getAppDir(), app,
createSessionZooKeeperClient());
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"));
diff --git a/container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java b/container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java
index 6e8b8d44d0d..f0173fe4d68 100644
--- a/container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java
+++ b/container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java
@@ -13,7 +13,6 @@ import java.time.Instant;
import java.util.List;
import java.util.function.Supplier;
-import static java.util.Collections.emptyList;
import static java.util.Collections.singleton;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -33,7 +32,7 @@ public class DeconstructorTest {
deconstructor = new Deconstructor();
var slowDeconstructComponent = new SlowDeconstructComponent();
- deconstructor.deconstruct(0, List.of(slowDeconstructComponent), emptyList());
+ deconstructor.deconstruct(0, List.of(slowDeconstructComponent), List.of());
deconstructor.shutdown();
assertTrue(slowDeconstructComponent.destructed);
}
@@ -41,7 +40,7 @@ public class DeconstructorTest {
@Test
void require_abstract_component_destructed() throws InterruptedException {
TestAbstractComponent abstractComponent = new TestAbstractComponent();
- deconstructor.deconstruct(0, List.of(abstractComponent), emptyList());
+ deconstructor.deconstruct(0, List.of(abstractComponent), List.of());
waitForDeconstructToComplete(() -> abstractComponent.destructed);
assertTrue(abstractComponent.destructed);
@@ -50,7 +49,7 @@ public class DeconstructorTest {
@Test
void require_provider_destructed() throws InterruptedException {
TestProvider provider = new TestProvider();
- deconstructor.deconstruct(0, List.of(provider), emptyList());
+ deconstructor.deconstruct(0, List.of(provider), List.of());
waitForDeconstructToComplete(() -> provider.destructed);
assertTrue(provider.destructed);
@@ -59,7 +58,7 @@ public class DeconstructorTest {
@Test
void require_shared_resource_released() throws InterruptedException {
TestSharedResource sharedResource = new TestSharedResource();
- deconstructor.deconstruct(0, List.of(sharedResource), emptyList());
+ deconstructor.deconstruct(0, List.of(sharedResource), List.of());
waitForDeconstructToComplete(() -> sharedResource.released);
assertTrue(sharedResource.released);
}
@@ -68,7 +67,7 @@ public class DeconstructorTest {
void bundles_are_uninstalled() throws InterruptedException {
var bundle = new UninstallableMockBundle();
// Done by executor, so it takes some time even with a 0 delay.
- deconstructor.deconstruct(0, emptyList(), singleton(bundle));
+ deconstructor.deconstruct(0, List.of(), singleton(bundle));
waitForDeconstructToComplete(() -> bundle.uninstalled);
assertTrue(bundle.uninstalled);
diff --git a/container-messagebus/src/test/java/com/yahoo/messagebus/jdisc/MbusServerConformanceTest.java b/container-messagebus/src/test/java/com/yahoo/messagebus/jdisc/MbusServerConformanceTest.java
index 6cc22beb921..9d1668ba671 100644
--- a/container-messagebus/src/test/java/com/yahoo/messagebus/jdisc/MbusServerConformanceTest.java
+++ b/container-messagebus/src/test/java/com/yahoo/messagebus/jdisc/MbusServerConformanceTest.java
@@ -24,7 +24,7 @@ import org.junit.Test;
import java.io.Closeable;
import java.io.IOException;
import java.nio.ByteBuffer;
-import java.util.Collections;
+import java.util.List;
import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.TimeUnit;
@@ -643,7 +643,7 @@ public class MbusServerConformanceTest extends ServerProviderConformanceTest {
@Override
public Iterable<ByteBuffer> newResponseContent() {
- return Collections.emptyList();
+ return List.of();
}
@Override
diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java
index 3227b047984..4ec3fa358d2 100644
--- a/container-search/src/main/java/com/yahoo/search/Query.java
+++ b/container-search/src/main/java/com/yahoo/search/Query.java
@@ -772,7 +772,7 @@ public class Query extends com.yahoo.processing.Request implements Cloneable {
private String serializeSortingAndLimits(boolean includeHitsAndOffset) {
StringBuilder insert = new StringBuilder();
- if (getRanking().getSorting() != null && getRanking().getSorting().fieldOrders().size() > 0) {
+ if (getRanking().getSorting() != null && !getRanking().getSorting().fieldOrders().isEmpty()) {
serializeSorting(insert);
}
if (includeHitsAndOffset) {
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java b/container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java
index 88d6b68a610..9c41c0b930f 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/InvokerResult.java
@@ -7,7 +7,6 @@ import com.yahoo.search.Result;
import com.yahoo.search.query.Sorting;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
/**
@@ -22,7 +21,7 @@ public class InvokerResult {
public InvokerResult(Result result) {
this.result = result;
- this.leanHits = Collections.emptyList();
+ this.leanHits = List.of();
}
public InvokerResult(Query query, int expectedHits) {
@@ -54,7 +53,8 @@ public class InvokerResult {
fh.setCached(false);
result.hits().add(fh);
}
- leanHits.clear();
+ if (!leanHits.isEmpty())
+ leanHits.clear();
}
}
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java b/container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java
index 9302ce5b7c6..add562bd5ad 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/SearchPath.java
@@ -8,7 +8,6 @@ import com.yahoo.search.dispatch.searchcluster.Node;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
@@ -163,7 +162,7 @@ public class SearchPath {
nodes = parseNodeRange(nodes, ret);
} else {
if (isWildcard(nodes)) { // any node will be accepted
- return Collections.emptyList();
+ return List.of();
}
nodes = parseNodeNum(nodes, ret);
}
@@ -231,7 +230,7 @@ public class SearchPath {
public Collection<Integer> matches(int max) {
if (from >= max) {
- return Collections.emptyList();
+ return List.of();
}
int end = Math.min(to, max);
return IntStream.range(from, end).boxed().toList();
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java b/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java
index 3ad610f6ee0..da0b258d6ef 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java
@@ -15,7 +15,6 @@ import com.yahoo.search.query.Select;
import com.yahoo.search.searchchain.Execution;
import com.yahoo.search.searchchain.PhaseNames;
-import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
@@ -83,7 +82,7 @@ public class GroupingQueryParser extends Searcher {
private List<Continuation> getContinuations(String param) {
if (param == null) {
- return Collections.emptyList();
+ return List.of();
}
List<Continuation> ret = new LinkedList<>();
for (String str : param.split(" ")) {
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java b/container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java
index 6d2b416700a..e319740f741 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/UniqueGroupingSearcher.java
@@ -27,7 +27,6 @@ import com.yahoo.search.searchchain.Execution;
import com.yahoo.search.searchchain.PhaseNames;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.logging.Logger;
@@ -188,7 +187,7 @@ public class UniqueGroupingSearcher extends Searcher {
private static List<Hit> getRequestedHits(GroupList resultGroups, int offset, int hits) {
List<Hit> receivedHits = getAllHitsFromGroupingResult(resultGroups);
if (receivedHits.size() <= offset) {
- return Collections.emptyList(); // There weren't any hits as far out as requested.
+ return List.of(); // There weren't any hits as far out as requested.
}
int lastRequestedHit = Math.min(offset + hits, receivedHits.size());
return receivedHits.subList(offset, lastRequestedHit);
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java
index b6fc0ffb968..fe49b46fc6f 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java
@@ -537,12 +537,7 @@ public abstract class GroupingOperation extends GroupingNode {
} else if (level == 1) {
return "single group";
} else {
- StringBuilder ret = new StringBuilder();
- for (int i = 1; i < level; ++i) {
- ret.append("list of ");
- }
- ret.append("groups");
- return ret.toString();
+ return "list of ".repeat(level - 1) + "groups";
}
}
@@ -571,8 +566,8 @@ public abstract class GroupingOperation extends GroupingNode {
* @throws IllegalArgumentException thrown if the string could not be parsed
*/
public static List<GroupingOperation> fromStringAsList(String string) {
- if (string == null || string.trim().length() == 0) {
- return Collections.emptyList();
+ if (string == null || string.trim().isEmpty()) {
+ return List.of();
}
GroupingParserInput input = new GroupingParserInput(string);
try {
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java
index 7026e726675..a2e2bcd649a 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java
@@ -1,8 +1,7 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.grouping.request;
-import java.util.Arrays;
-import java.util.Collections;
+import java.util.List;
/**
* This class represents a now-function in a {@link GroupingExpression}. It evaluates to a long that equals the number
@@ -21,7 +20,7 @@ public class NowFunction extends FunctionNode {
}
private NowFunction(String label, Integer level) {
- super("now", label, level, Collections.emptyList());
+ super("now", label, level, List.of());
}
@Override
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java
index be4f2f786e5..fba9064298c 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java
@@ -21,7 +21,6 @@ import com.yahoo.search.searchchain.Execution;
import com.yahoo.searchlib.aggregation.Grouping;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
@@ -357,7 +356,7 @@ public class GroupingExecutor extends Searcher {
public static List<Grouping> getGroupingList(Query query) {
Object obj = query.properties().get(PROP_GROUPINGLIST);
if (!(obj instanceof List)) {
- return Collections.emptyList();
+ return List.of();
}
return (List<Grouping>)obj;
}
diff --git a/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java b/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java
index e07b290f66e..6504949e174 100644
--- a/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/pagetemplates/PageTemplateSearcher.java
@@ -23,7 +23,6 @@ import com.yahoo.search.searchchain.Execution;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -145,7 +144,7 @@ public class PageTemplateSearcher extends Searcher {
// If none set, just return the default or null if none
if (pageIds == null) {
PageElement defaultPage=templateRegistry.getComponent("default");
- return (defaultPage == null ? Collections.<PageElement>emptyList() : Collections.singletonList(defaultPage));
+ return (defaultPage == null ? List.of() : List.of(defaultPage));
}
// Resolve the id list to page templates
diff --git a/container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java b/container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java
index 7b969404984..d8cfaab7cba 100644
--- a/container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java
+++ b/container-search/src/main/java/com/yahoo/search/pagetemplates/config/PageTemplateXMLReader.java
@@ -72,7 +72,7 @@ public class PageTemplateXMLReader {
File file = new File(fileName);
pageReader = new NamedReader(fileName,new FileReader(file));
String firstName = file.getName().substring(0, file.getName().length() - 4);
- return read(Collections.singletonList(pageReader), true).getComponent(firstName);
+ return read(List.of(pageReader), true).getComponent(firstName);
}
catch (IOException e) {
throw new IllegalArgumentException("Could not read the page template '" + fileName + "'", e);
@@ -296,7 +296,7 @@ public class PageTemplateXMLReader {
if ("item".equals(value.getNodeName()))
map.values().add(readPageElements(value));
else
- map.values().add(Collections.singletonList(readPageElement(value)));
+ map.values().add(List.of(readPageElement(value)));
}
return map;
}
@@ -311,7 +311,7 @@ public class PageTemplateXMLReader {
else if (alternative.getNodeName().equals("include")) // Implicit include
choice.alternatives().add(readInclude(alternative));
else // Other implicit
- choice.alternatives().add(Collections.singletonList(readPageElement(alternative)));
+ choice.alternatives().add(List.of(readPageElement(alternative)));
}
return choice;
}
@@ -323,7 +323,7 @@ public class PageTemplateXMLReader {
if ("alternative".equals(alternative.getNodeName())) // Explicit alternative container
source.renderer().alternatives().addAll(readRenderers(XML.children(alternative)));
else // Implicit alternative - yes implicit and explicit may be combined
- source.renderer().alternatives().addAll(readRenderers(Collections.singletonList(alternative)));
+ source.renderer().alternatives().addAll(readRenderers(List.of(alternative)));
}
}
}
diff --git a/container-search/src/main/java/com/yahoo/search/query/Select.java b/container-search/src/main/java/com/yahoo/search/query/Select.java
index 32e28dc3ff7..6735a6bd050 100644
--- a/container-search/src/main/java/com/yahoo/search/query/Select.java
+++ b/container-search/src/main/java/com/yahoo/search/query/Select.java
@@ -10,7 +10,6 @@ import com.yahoo.search.query.profile.types.QueryProfileType;
import com.yahoo.search.yql.VespaGroupingStep;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -53,7 +52,7 @@ public class Select implements Cloneable {
}
public Select(String where, String grouping, Query query) {
- this(where, grouping, null, query, Collections.emptyList());
+ this(where, grouping, null, query, List.of());
}
private Select(String where, String grouping, String groupingExpressionString, Query query, List<GroupingRequest> groupingRequests) {
diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java
index 1c694417475..d638f57422c 100644
--- a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java
+++ b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java
@@ -121,7 +121,7 @@ public class QueryProfile extends FreezableSimpleComponent implements Cloneable
*/
public List<QueryProfile> inherited() {
if (isFrozen()) return inherited; // Frozen profiles always have an unmodifiable, non-null list
- if (inherited == null) return Collections.emptyList();
+ if (inherited == null) return List.of();
return Collections.unmodifiableList(inherited);
}
diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java
index 0ed6b590227..c9dbfe9d89a 100644
--- a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java
+++ b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java
@@ -5,7 +5,6 @@ import com.yahoo.component.provider.Freezable;
import com.yahoo.search.query.profile.types.QueryProfileType;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -187,7 +186,7 @@ public class QueryProfileVariants implements Freezable, Cloneable {
* @param dimensionBinding the dimension bindings to use in this
*/
public Object get(String name, QueryProfileType type, boolean allowQueryProfileResult, DimensionBinding dimensionBinding) {
- SingleValueQueryProfileVisitor visitor = new SingleValueQueryProfileVisitor(Collections.singletonList(name),allowQueryProfileResult);
+ SingleValueQueryProfileVisitor visitor = new SingleValueQueryProfileVisitor(List.of(name),allowQueryProfileResult);
visitor.enter("");
accept(true, type, visitor, dimensionBinding);
visitor.leave("");
@@ -370,7 +369,7 @@ public class QueryProfileVariants implements Freezable, Cloneable {
/** Returns the field values (values for various dimensions) for this field as a read-only list (never null) */
public List<FieldValue> asList() {
- if (resolutionList == null) return Collections.emptyList();
+ if (resolutionList == null) return List.of();
return resolutionList;
}
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java b/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java
index d62860afcda..74e79475ce6 100644
--- a/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java
+++ b/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java
@@ -10,7 +10,7 @@ import com.yahoo.search.Result;
import com.yahoo.search.pagetemplates.result.PageTemplatesXmlRenderer;
import java.util.Collection;
-import java.util.Collections;
+import java.util.List;
import java.util.concurrent.Executor;
/**
@@ -34,7 +34,7 @@ public final class RendererRegistry extends ComponentRegistry<com.yahoo.processi
* Use MoreExecutors.directExecutor().
*/
public RendererRegistry(Executor executor) {
- this(Collections.emptyList(), executor);
+ this(List.of(), executor);
}
/**
@@ -111,7 +111,7 @@ public final class RendererRegistry extends ComponentRegistry<com.yahoo.processi
private String rendererNames() {
StringBuilder r = new StringBuilder();
for (Renderer<Result> c : allComponents()) {
- if (r.length() > 0)
+ if (!r.isEmpty())
r.append(", ");
r.append(c.getId().stringValue());
}
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java
index 6f376042f2d..7bd3ca1174f 100644
--- a/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java
+++ b/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java
@@ -15,7 +15,6 @@ import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
@@ -156,7 +155,7 @@ abstract public class SectionedRenderer<WRITER> extends Renderer {
}
private void renderResultContent(WRITER writer, Result result) throws IOException {
- if (result.hits().getError() != null || result.hits().getQuery().errors().size() > 0) {
+ if (result.hits().getError() != null || !result.hits().getQuery().errors().isEmpty()) {
error(writer, asUnmodifiableSearchErrorList(result.hits().getQuery().errors(), result.hits().getError()));
}
@@ -172,14 +171,14 @@ abstract public class SectionedRenderer<WRITER> extends Renderer {
}
private Collection<ErrorMessage> asUnmodifiableSearchErrorList(List<com.yahoo.processing.request.ErrorMessage> queryErrors,ErrorMessage resultError) {
- if (queryErrors.size() == 0)
- return Collections.singletonList(resultError);
+ if (queryErrors.isEmpty())
+ return List.of(resultError);
List<ErrorMessage> searchErrors = new ArrayList<>(queryErrors.size() + (resultError != null ? 1 :0) );
- for (int i=0; i<queryErrors.size(); i++)
- searchErrors.add(ErrorMessage.from(queryErrors.get(i)));
+ for (com.yahoo.processing.request.ErrorMessage queryError : queryErrors)
+ searchErrors.add(ErrorMessage.from(queryError));
if (resultError != null)
searchErrors.add(resultError);
- return Collections.unmodifiableCollection(searchErrors);
+ return List.copyOf(searchErrors);
}
private void renderHitGroup(WRITER writer, HitGroup hitGroup) throws IOException {
diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java
index f21ea506fde..69a1f8ec6cb 100644
--- a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java
+++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java
@@ -11,7 +11,6 @@ import com.yahoo.search.searchchain.model.federation.FederationSearcherModel;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -61,7 +60,7 @@ public class VespaSearchers {
private static FederationSearcherModel federationSearcherModel() {
return new FederationSearcherModel(new ComponentSpecification("federation"),
Dependencies.emptyDependencies(),
- Collections.emptyList(),
+ List.of(),
true);
}
diff --git a/container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java b/container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java
index 150a2a5d78a..ebe4ccdd2ba 100644
--- a/container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java
+++ b/container-search/src/test/java/com/yahoo/container/core/config/testutil/MockOsgiWrapper.java
@@ -8,8 +8,6 @@ import org.osgi.framework.Bundle;
import java.util.Collection;
import java.util.List;
-import static java.util.Collections.emptyList;
-
/**
* @author gjoranv
*/
@@ -22,7 +20,7 @@ public class MockOsgiWrapper implements OsgiWrapper {
@Override
public List<Bundle> getCurrentBundles() {
- return emptyList();
+ return List.of();
}
@Override
@@ -32,7 +30,7 @@ public class MockOsgiWrapper implements OsgiWrapper {
@Override
public List<Bundle> install(String absolutePath) {
- return emptyList();
+ return List.of();
}
@Override
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java
index 58427bee30a..3cefeeabdcf 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java
@@ -20,7 +20,6 @@ import com.yahoo.search.schema.Schema;
import com.yahoo.search.schema.SchemaInfo;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -98,7 +97,7 @@ public class IndexedBackendTestCase {
var backend = new IndexedBackend(new ClusterParams(CLUSTER_PARAMS.getSearcherName(), CLUSTER_PARAMS.getServerId(),
CLUSTER_PARAMS.getDefaultSummary(), CLUSTER_PARAMS.getDocumentdbInfoConfig(),
new SchemaInfo(List.of(schema.build()), List.of())),
- MockDispatcher.create(Collections.singletonList(new Node(CLUSTER, 0, "host0", 0))));
+ MockDispatcher.create(List.of(new Node(CLUSTER, 0, "host0", 0))));
Query q = new Query("?query=foo");
Result result = doSearch(backend, q, 0, 10);
assertFalse(backend.summaryNeedsQuery(q));
diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java
index 8b6b3c4d13a..3053fe7d730 100644
--- a/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java
+++ b/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java
@@ -10,7 +10,6 @@ import org.junit.jupiter.api.Test;
import java.time.Duration;
import java.time.Instant;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -238,7 +237,7 @@ public class LoadBalancerTest {
}
private GroupStatus newGroupStatus(int id) {
- Group dummyGroup = new Group(id, Collections.emptyList()) {
+ Group dummyGroup = new Group(id, List.of()) {
@Override
public boolean hasSufficientCoverage() {
return true;
diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java
index be8f99a4ef4..6459d67480d 100644
--- a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java
+++ b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/ProtobufSerializationTest.java
@@ -14,7 +14,6 @@ import com.yahoo.search.query.profile.compiled.CompiledQueryProfileRegistry;
import com.yahoo.search.query.profile.config.QueryProfileXMLReader;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -66,7 +65,7 @@ public class ProtobufSerializationTest {
builder.setTimeout(0);
var hit = new FastHit();
hit.setGlobalId(new GlobalId(IdString.createIdString("id:ns:type::id")).getRawId());
- var bytes = ProtobufSerialization.serializeDocsumRequest(builder, Collections.singletonList(hit));
+ var bytes = ProtobufSerialization.serializeDocsumRequest(builder, List.of(hit));
assertEquals(56, bytes.length);
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java
index 76a1a71f6ed..540ecfa6e12 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java
@@ -9,7 +9,6 @@ import com.yahoo.search.searchchain.Execution;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.List;
import java.util.TimeZone;
@@ -22,12 +21,12 @@ public class GroupingQueryParserTestCase {
@Test
void requireThatNoRequestIsSkipped() {
- assertEquals(Collections.emptyList(), executeQuery(null, null, null));
+ assertEquals(List.of(), executeQuery(null, null, null));
}
@Test
void requireThatEmptyRequestIsSkipped() {
- assertEquals(Collections.emptyList(), executeQuery("", null, null));
+ assertEquals(List.of(), executeQuery("", null, null));
}
@Test
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
index 97eed95946f..f064180222c 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
@@ -12,7 +12,6 @@ import org.junit.jupiter.api.Test;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
@@ -121,7 +120,7 @@ public class GroupingRequestTestCase {
@Test
void requireThatGetRequestsReturnsAllRequests() {
Query query = new Query();
- assertEquals(Collections.emptyList(), query.getSelect().getGrouping());
+ assertEquals(List.of(), query.getSelect().getGrouping());
GroupingRequest foo = GroupingRequest.newInstance(query);
assertEquals(List.of(foo), query.getSelect().getGrouping());
diff --git a/container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java b/container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java
index 42dcab41015..793a907b5d1 100644
--- a/container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/query/properties/test/PropertyMapTestCase.java
@@ -4,7 +4,6 @@ package com.yahoo.search.query.properties.test;
import com.yahoo.processing.request.properties.PropertyMap;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -22,8 +21,8 @@ public class PropertyMapTestCase {
map.set("nonclonable", new NonClonableObject());
map.set("clonableArray", 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-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java b/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java
index 39b202daf1e..b37e1d5551b 100644
--- a/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java
+++ b/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseRerankHitsImplTest.java
@@ -35,7 +35,7 @@ public class GlobalPhaseRerankHitsImplTest {
}
}
static FunEvalSpec makeConstSpec(double constValue) {
- return new FunEvalSpec(() -> new EvalSum(constValue), Collections.emptyList(), Collections.emptyList());
+ return new FunEvalSpec(() -> new EvalSum(constValue), List.of(), List.of());
}
static FunEvalSpec makeSumSpec(List<String> fromQuery, List<String> fromMF) {
List<MatchFeatureInput> mfList = new ArrayList<>();
@@ -175,15 +175,15 @@ public class GlobalPhaseRerankHitsImplTest {
}
@Test void partialRerankWithRescaling() {
var setup = setup().rerank(2).eval(makeConstSpec(3.0)).build();
- var query = makeQuery(Collections.emptyList());
+ var query = makeQuery(List.of());
var result = makeResult(query, List.of(hit("a", 3), hit("b", 4), hit("c", 5), hit("d", 6)));
var expect = Expect.make(List.of(hit("a", 1), hit("b", 2), hit("c", 3), hit("d", 3)));
GlobalPhaseRanker.rerankHitsImpl(setup, query, result);
expect.verifyScores(result);
}
@Test void matchFeaturesCanBePartiallyHidden() {
- var setup = setup().eval(makeSumSpec(Collections.emptyList(), List.of("public_value", "private_value"))).hide("private_value").build();
- var query = makeQuery(Collections.emptyList());
+ var setup = setup().eval(makeSumSpec(List.of(), List.of("public_value", "private_value"))).hide("private_value").build();
+ var query = makeQuery(List.of());
var factory = new HitFactory(List.of("public_value", "private_value"));
var result = makeResult(query, List.of(factory.create("a", 1, List.of(value("public_value", 2), value("private_value", 3))),
factory.create("b", 2, List.of(value("public_value", 5), value("private_value", 7)))));
@@ -194,8 +194,8 @@ public class GlobalPhaseRerankHitsImplTest {
verifyDoesNotHaveMF(result, "private_value");
}
@Test void matchFeaturesCanBeRemoved() {
- var setup = setup().eval(makeSumSpec(Collections.emptyList(), List.of("private_value"))).hide("private_value").build();
- var query = makeQuery(Collections.emptyList());
+ var setup = setup().eval(makeSumSpec(List.of(), List.of("private_value"))).hide("private_value").build();
+ var query = makeQuery(List.of());
var factory = new HitFactory(List.of("private_value"));
var result = makeResult(query, List.of(factory.create("a", 1, List.of(value("private_value", 3))),
factory.create("b", 2, List.of(value("private_value", 7)))));
@@ -227,7 +227,7 @@ public class GlobalPhaseRerankHitsImplTest {
verifyHasMF(result, "bar");
}
@Test void queryFeaturesCanBeDefaultValues() {
- var setup = setup().eval(makeSumSpec(List.of("foo", "bar"), Collections.emptyList()))
+ var setup = setup().eval(makeSumSpec(List.of("foo", "bar"), List.of()))
.addDefault("query(bar)", Tensor.from(5.0)).build();
var query = makeQuery(List.of(value("query(foo)", 7)));
var result = makeResult(query, List.of(hit("a", 1)));
@@ -236,7 +236,7 @@ public class GlobalPhaseRerankHitsImplTest {
expect.verifyScores(result);
}
@Test void withNormalizer() {
- var setup = setup().eval(makeSumSpec(Collections.emptyList(), List.of("bar")))
+ var setup = setup().eval(makeSumSpec(List.of(), List.of("bar")))
.addNormalizer(makeNormalizer("foo", List.of(115.0, 65.0, 55.0, 45.0, 15.0), makeSumSpec(List.of("x"), List.of("bar")))).build();
var query = makeQuery(List.of(value("query(x)", 5)));
var factory = new HitFactory(List.of("bar"));
diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java
index bfcde54d65b..fda7bec9d71 100644
--- a/container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/searchchain/test/FutureDataTestCase.java
@@ -16,7 +16,7 @@ import com.yahoo.search.searchchain.SearchChainRegistry;
import com.yahoo.search.searchchain.model.federation.FederationOptions;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
@@ -82,7 +82,7 @@ public class FutureDataTestCase {
void testFutureData() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
AsyncProviderSearcher futureDataSource = new AsyncProviderSearcher();
- Chain<Searcher> chain = new Chain<>(Collections.<Searcher>singletonList(futureDataSource));
+ Chain<Searcher> chain = new Chain<>(List.of(futureDataSource));
// Execute
Query query = new Query();
diff --git a/docproc/src/main/java/com/yahoo/docproc/Processing.java b/docproc/src/main/java/com/yahoo/docproc/Processing.java
index cc9d7b9e8b7..c8c536cb4c1 100644
--- a/docproc/src/main/java/com/yahoo/docproc/Processing.java
+++ b/docproc/src/main/java/com/yahoo/docproc/Processing.java
@@ -9,7 +9,6 @@ import com.yahoo.document.DocumentOperation;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -221,7 +220,7 @@ public final class Processing extends ProcessingAccess {
@Override
protected List<DocumentOperation> getOnceOperationsToBeProcessed() {
if (operationsGotten)
- return Collections.emptyList();
+ return List.of();
operationsGotten = true;
return getDocumentOperations();
diff --git a/docprocs/src/test/java/com/yahoo/docprocs/indexing/DocumentScriptTestCase.java b/docprocs/src/test/java/com/yahoo/docprocs/indexing/DocumentScriptTestCase.java
index 2f07958e39e..7abfdc324b3 100644
--- a/docprocs/src/test/java/com/yahoo/docprocs/indexing/DocumentScriptTestCase.java
+++ b/docprocs/src/test/java/com/yahoo/docprocs/indexing/DocumentScriptTestCase.java
@@ -21,7 +21,6 @@ import com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate;
import com.yahoo.document.fieldpathupdate.FieldPathUpdate;
import com.yahoo.document.update.AssignValueUpdate;
import com.yahoo.document.update.FieldUpdate;
-import com.yahoo.document.update.MapValueUpdate;
import com.yahoo.document.update.ValueUpdate;
import com.yahoo.vespa.indexinglanguage.AdapterFactory;
import com.yahoo.vespa.indexinglanguage.SimpleAdapterFactory;
@@ -33,8 +32,7 @@ import com.yahoo.vespa.indexinglanguage.parser.ParseException;
import org.junit.Test;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
+import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -160,7 +158,7 @@ public class DocumentScriptTestCase {
assertSpanTrees(str, "mySpanTree");
}
- private class FieldPathFixture {
+ private static class FieldPathFixture {
final DocumentType type;
final StructDataType structType;
final DataType structMap;
@@ -264,7 +262,7 @@ public class DocumentScriptTestCase {
}
private static DocumentScript newScript(DocumentType docType, String fieldName) {
- return new DocumentScript(docType.getName(), Collections.singletonList(fieldName),
+ return new DocumentScript(docType.getName(), List.of(fieldName),
new StatementExpression(new InputExpression(fieldName),
new IndexExpression(fieldName)));
}
@@ -285,7 +283,7 @@ public class DocumentScriptTestCase {
private static void assertSpanTrees(FieldValue actual, String... expectedSpanTrees) {
assertTrue(actual instanceof StringFieldValue);
StringFieldValue str = (StringFieldValue)actual;
- assertEquals(new ArrayList<>(Arrays.asList(expectedSpanTrees)),
+ assertEquals(List.of(expectedSpanTrees),
new ArrayList<>(str.getSpanTreeMap().keySet()));
}
@@ -359,7 +357,7 @@ public class DocumentScriptTestCase {
}
private static DocumentScript newScript() throws ParseException {
- return new DocumentScript("documentType", Arrays.asList("documentField"),
+ return new DocumentScript("documentType", List.of("documentField"),
Expression.fromString("input documentField | index documentField"));
}
}
diff --git a/document/src/main/java/com/yahoo/document/FieldPath.java b/document/src/main/java/com/yahoo/document/FieldPath.java
index b78e48d2b41..7596e359d99 100755..100644
--- a/document/src/main/java/com/yahoo/document/FieldPath.java
+++ b/document/src/main/java/com/yahoo/document/FieldPath.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.document;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -19,7 +18,7 @@ public class FieldPath implements Iterable<FieldPathEntry> {
* Constructs an empty path.
*/
public FieldPath() {
- list = Collections.emptyList();
+ list = List.of();
}
/**
@@ -109,7 +108,7 @@ public class FieldPath implements Iterable<FieldPathEntry> {
FieldPathEntry.Type type = entry.getType();
switch (type) {
case STRUCT_FIELD:
- if (out.length() > 0) {
+ if (!out.isEmpty()) {
out.append(".");
}
Field field = entry.getFieldRef();
diff --git a/document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLUpdateReader.java b/document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLUpdateReader.java
index 656fb8dd033..334a994ebe8 100644
--- a/document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLUpdateReader.java
+++ b/document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLUpdateReader.java
@@ -1,7 +1,17 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespaxmlparser;
-import com.yahoo.document.*;
+import com.yahoo.document.ArrayDataType;
+import com.yahoo.document.DataType;
+import com.yahoo.document.DocumentId;
+import com.yahoo.document.DocumentType;
+import com.yahoo.document.DocumentTypeManager;
+import com.yahoo.document.DocumentUpdate;
+import com.yahoo.document.Field;
+import com.yahoo.document.FieldPath;
+import com.yahoo.document.MapDataType;
+import com.yahoo.document.NumericDataType;
+import com.yahoo.document.WeightedSetDataType;
import com.yahoo.document.datatypes.Array;
import com.yahoo.document.datatypes.FieldValue;
import com.yahoo.document.datatypes.IntegerFieldValue;
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java
index 0a0fc5f4991..5eb5b6f2567 100755..100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java
@@ -16,7 +16,6 @@ import com.yahoo.messagebus.routing.RoutingPolicy;
import com.yahoo.text.Utf8String;
import com.yahoo.vespa.config.content.DistributionConfig;
-import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
@@ -283,7 +282,7 @@ public class DocumentProtocol implements Protocol {
// Prepare version specifications to use when adding routable factories.
VersionSpecification version6 = new VersionSpecification(6, 221);
- List<VersionSpecification> from6 = Collections.singletonList(version6);
+ List<VersionSpecification> from6 = List.of(version6);
// 6.x serialization (keep alphabetized please)
putRoutableFactory(MESSAGE_CREATEVISITOR, new RoutableFactories60.CreateVisitorMessageFactory(), from6);
@@ -322,7 +321,7 @@ public class DocumentProtocol implements Protocol {
private void registerV8Factories() {
var version8 = new VersionSpecification(8, 310); // Must be same as in C++ impl
- var from8 = Collections.singletonList(version8);
+ var from8 = List.of(version8);
putRoutableFactory(MESSAGE_CREATEVISITOR, RoutableFactories80.createCreateVisitorMessageFactory(), from8);
putRoutableFactory(MESSAGE_DESTROYVISITOR, RoutableFactories80.createDestroyVisitorMessageFactory(), from8);
diff --git a/hosted-api/src/test/java/ai/vespa/hosted/api/TestDescriptorTest.java b/hosted-api/src/test/java/ai/vespa/hosted/api/TestDescriptorTest.java
index ca4e6f6963c..f5674b15a79 100644
--- a/hosted-api/src/test/java/ai/vespa/hosted/api/TestDescriptorTest.java
+++ b/hosted-api/src/test/java/ai/vespa/hosted/api/TestDescriptorTest.java
@@ -5,7 +5,6 @@ import com.yahoo.test.json.JsonTestHelper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import java.util.Collections;
import java.util.List;
/**
@@ -31,13 +30,13 @@ public class TestDescriptorTest {
Assertions.assertIterableEquals(List.of("ai.vespa.test.SystemTest1", "ai.vespa.test.SystemTest2"), systemTests);
var stagingTests = testClassDescriptor.getConfiguredTests(TestDescriptor.TestCategory.stagingtest);
- Assertions.assertIterableEquals(Collections.emptyList(), stagingTests);
+ Assertions.assertIterableEquals(List.of(), stagingTests);
var stagingSetupTests = testClassDescriptor.getConfiguredTests(TestDescriptor.TestCategory.stagingtest);
- Assertions.assertIterableEquals(Collections.emptyList(), stagingSetupTests);
+ Assertions.assertIterableEquals(List.of(), stagingSetupTests);
var productionTests = testClassDescriptor.getConfiguredTests(TestDescriptor.TestCategory.productiontest);
- Assertions.assertIterableEquals(Collections.emptyList(), productionTests);
+ Assertions.assertIterableEquals(List.of(), productionTests);
}
@Test
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java
index 7d180b9fd7a..929f51f0fef 100644
--- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java
+++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java
@@ -14,7 +14,6 @@ import com.yahoo.vespa.indexinglanguage.parser.ParseException;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -26,7 +25,7 @@ import java.util.Objects;
public final class ScriptExpression extends ExpressionList<StatementExpression> {
public ScriptExpression() {
- this(Collections.emptyList());
+ this(List.of());
}
public ScriptExpression(StatementExpression... statements) {
diff --git a/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/misc/VespaTlsFilterTest.java b/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/misc/VespaTlsFilterTest.java
index 30af4a9ac23..1da5b1b39a3 100644
--- a/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/misc/VespaTlsFilterTest.java
+++ b/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/misc/VespaTlsFilterTest.java
@@ -17,7 +17,6 @@ import java.math.BigInteger;
import java.security.cert.X509Certificate;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
-import java.util.Collections;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -28,7 +27,7 @@ public class VespaTlsFilterTest {
@Test
void testFilter() {
assertSuccess(createRequest(List.of(createCertificate())));
- assertForbidden(createRequest(Collections.emptyList()));
+ assertForbidden(createRequest(List.of()));
}
private static X509Certificate createCertificate() {
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/application/BundleInstaller.java b/jdisc_core/src/main/java/com/yahoo/jdisc/application/BundleInstaller.java
index 60ca0851fd4..1e0050335dc 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/application/BundleInstaller.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/application/BundleInstaller.java
@@ -5,11 +5,9 @@ import com.google.inject.Inject;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleException;
-import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
-import static java.util.Collections.singletonList;
/**
* <p>This is a utility class to help with installing, starting, stopping and uninstalling OSGi Bundles. You can choose
@@ -30,7 +28,7 @@ public final class BundleInstaller {
}
public List<Bundle> installAndStart(String... locations) throws BundleException {
- return installAndStart(Arrays.asList(locations));
+ return installAndStart(List.of(locations));
}
public List<Bundle> installAndStart(Iterable<String> locations) throws BundleException {
@@ -56,7 +54,7 @@ public final class BundleInstaller {
}
public void stopAndUninstall(Bundle... bundles) throws BundleException {
- stopAndUninstall(Arrays.asList(bundles));
+ stopAndUninstall(List.of(bundles));
}
public void stopAndUninstall(Iterable<Bundle> bundles) throws BundleException {
@@ -76,7 +74,7 @@ public final class BundleInstaller {
throw new BundleException("OSGi header '" + OsgiHeader.APPLICATION + "' not allowed for " +
"non-application bundle " + bundle.getSymbolicName() + ".");
}
- osgiFramework.startBundles(singletonList(bundle), false);
+ osgiFramework.startBundles(List.of(bundle), false);
}
private void stop(Bundle bundle) throws BundleException {
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/application/ContainerBuilder.java b/jdisc_core/src/main/java/com/yahoo/jdisc/application/ContainerBuilder.java
index 6550d9b5386..8b3fe4c13aa 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/application/ContainerBuilder.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/application/ContainerBuilder.java
@@ -8,7 +8,6 @@ import com.google.inject.Module;
import com.yahoo.jdisc.Container;
import com.yahoo.jdisc.handler.RequestHandler;
-import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -107,7 +106,7 @@ public class ContainerBuilder {
public static List<String> safeStringSplit(Object obj, String delim) {
if (!(obj instanceof String)) {
- return Collections.emptyList();
+ return List.of();
}
List<String> lst = new LinkedList<>();
for (String str : ((String)obj).split(delim)) {
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/Main.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/Main.java
index edd4dd40496..b2a8660e2a8 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/Main.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/Main.java
@@ -6,8 +6,7 @@ import com.yahoo.jdisc.application.ContainerBuilder;
import com.yahoo.jdisc.application.OsgiFramework;
import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
+import java.util.List;
/**
* @author Simon Thoresen Hult
@@ -31,7 +30,7 @@ public class Main {
static Iterable<Module> newConfigModule() {
String configFile = System.getProperty("jdisc.config.file");
if (configFile == null) {
- return Collections.emptyList();
+ return List.of();
}
Module configModule;
try {
@@ -39,7 +38,7 @@ public class Main {
} catch (IOException e) {
throw new IllegalStateException("Exception thrown while reading config file '" + configFile + "'.", e);
}
- return Arrays.asList(configModule);
+ return List.of(configModule);
}
}
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/RequestDispatch.java b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/RequestDispatch.java
index ef420d69f16..c39a70c7093 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/RequestDispatch.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/RequestDispatch.java
@@ -8,7 +8,7 @@ import com.yahoo.jdisc.Response;
import com.yahoo.jdisc.SharedResource;
import java.nio.ByteBuffer;
-import java.util.Collections;
+import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
@@ -35,7 +35,7 @@ import java.util.concurrent.TimeoutException;
* }
* &#64;Override
* protected Iterable&lt;ByteBuffer&gt; requestContent() {
- * return Collections.singleton(ByteBuffer.wrap(new byte[] { 6, 9 }));
+ * return Set.of(ByteBuffer.wrap(new byte[] { 6, 9 }));
* }
* &#64;Override
* public ContentChannel handleResponse(Response response) {
@@ -69,7 +69,7 @@ public abstract class RequestDispatch implements Future<Response>, ResponseHandl
* @return The ByteBuffers to write to the Request's ContentChannel.
*/
protected Iterable<ByteBuffer> requestContent() {
- return Collections.emptyList();
+ return List.of();
}
/**
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ResponseDispatch.java b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ResponseDispatch.java
index ff1f23917d7..0670aa5ea67 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ResponseDispatch.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ResponseDispatch.java
@@ -5,8 +5,7 @@ import com.yahoo.jdisc.Response;
import com.yahoo.jdisc.SharedResource;
import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.Collections;
+import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
@@ -28,7 +27,7 @@ import java.util.concurrent.TimeoutException;
* }
* &#64;Override
* protected Iterable&lt;ByteBuffer&gt; responseContent() {
- * return Collections.singleton(ByteBuffer.wrap(new byte[] { 6, 9 }));
+ * return Set.of(ByteBuffer.wrap(new byte[] { 6, 9 }));
* }
* }.dispatch(handler);
* }
@@ -56,7 +55,7 @@ public abstract class ResponseDispatch implements Future<Boolean> {
* @return The ByteBuffers to write to the Response's ContentChannel.
*/
protected Iterable<ByteBuffer> responseContent() {
- return Collections.emptyList();
+ return List.of();
}
/**
@@ -130,7 +129,7 @@ public abstract class ResponseDispatch implements Future<Boolean> {
* @return The created ResponseDispatch.
*/
public static ResponseDispatch newInstance(int responseStatus, ByteBuffer... content) {
- return newInstance(new Response(responseStatus), Arrays.asList(content));
+ return newInstance(new Response(responseStatus), List.of(content));
}
/**
@@ -155,7 +154,7 @@ public abstract class ResponseDispatch implements Future<Boolean> {
* @return The created ResponseDispatch.
*/
public static ResponseDispatch newInstance(Response response, ByteBuffer... content) {
- return newInstance(response, Arrays.asList(content));
+ return newInstance(response, List.of(content));
}
/**
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/test/NonWorkingOsgiFramework.java b/jdisc_core/src/main/java/com/yahoo/jdisc/test/NonWorkingOsgiFramework.java
index 1b90e8adcfe..3565a1ec4c5 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/test/NonWorkingOsgiFramework.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/test/NonWorkingOsgiFramework.java
@@ -6,7 +6,6 @@ import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
/**
@@ -36,12 +35,12 @@ public class NonWorkingOsgiFramework implements OsgiFramework {
@Override
public List<Bundle> bundles() {
- return Collections.emptyList();
+ return List.of();
}
@Override
public List<Bundle> getBundles(Bundle requestingBundle) {
- return Collections.emptyList();
+ return List.of();
}
@Override
diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/application/UriPatternTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/application/UriPatternTestCase.java
index fa949ccaabd..063ddc81f45 100644
--- a/jdisc_core/src/test/java/com/yahoo/jdisc/application/UriPatternTestCase.java
+++ b/jdisc_core/src/test/java/com/yahoo/jdisc/application/UriPatternTestCase.java
@@ -6,7 +6,6 @@ import org.junit.jupiter.api.Test;
import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -20,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.fail;
*/
public class UriPatternTestCase {
- private static final List<String> NO_GROUPS = Collections.emptyList();
+ private static final List<String> NO_GROUPS = List.of();
@Test
void requireThatIllegalPatternsAreDetected() {
diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/core/ApplicationEnvironmentModuleTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/core/ApplicationEnvironmentModuleTestCase.java
index dfc52b92583..af3fa418556 100644
--- a/jdisc_core/src/test/java/com/yahoo/jdisc/core/ApplicationEnvironmentModuleTestCase.java
+++ b/jdisc_core/src/test/java/com/yahoo/jdisc/core/ApplicationEnvironmentModuleTestCase.java
@@ -17,7 +17,6 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ThreadFactory;
-import static java.util.Collections.emptyList;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -40,7 +39,7 @@ public class ApplicationEnvironmentModuleTestCase {
expected.add(entry.getKey().getTypeLiteral().getRawType());
}
- ApplicationLoader loader = new ApplicationLoader(new NonWorkingOsgiFramework(), emptyList());
+ ApplicationLoader loader = new ApplicationLoader(new NonWorkingOsgiFramework(), List.of());
injector = Guice.createInjector(new ApplicationEnvironmentModule(loader));
for (Map.Entry<Key<?>, Binding<?>> entry : injector.getBindings().entrySet()) {
assertNotNull(expected.remove(entry.getKey().getTypeLiteral().getRawType()));
@@ -50,7 +49,7 @@ public class ApplicationEnvironmentModuleTestCase {
@Test
void requireThatContainerBuilderCanBeInjected() {
- ApplicationLoader loader = new ApplicationLoader(new NonWorkingOsgiFramework(), emptyList());
+ ApplicationLoader loader = new ApplicationLoader(new NonWorkingOsgiFramework(), List.of());
assertNotNull(new ApplicationEnvironmentModule(loader).containerBuilder());
assertNotNull(Guice.createInjector(new ApplicationEnvironmentModule(loader))
.getInstance(ContainerBuilder.class));
diff --git a/jrt/tests/com/yahoo/jrt/CryptoUtils.java b/jrt/tests/com/yahoo/jrt/CryptoUtils.java
index 7bad0e64aa8..772e7722391 100644
--- a/jrt/tests/com/yahoo/jrt/CryptoUtils.java
+++ b/jrt/tests/com/yahoo/jrt/CryptoUtils.java
@@ -25,7 +25,6 @@ import static com.yahoo.security.X509CertificateBuilder.generateRandomSerialNumb
import static java.time.Instant.EPOCH;
import static java.time.temporal.ChronoUnit.DAYS;
import static java.util.Collections.singleton;
-import static java.util.Collections.singletonList;
/**
* @author bjorncs
@@ -42,8 +41,7 @@ class CryptoUtils {
singleton(
new PeerPolicy(
"localhost-policy",
- singletonList(
- RequiredPeerCredential.of(Field.CN, "localhost")))));
+ List.of(RequiredPeerCredential.of(Field.CN, "localhost")))));
static TlsContext createTestTlsContext() {
return DefaultTlsContext.of(
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java
index b610c57cd99..60e85f3f9e4 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/MetricsManager.java
@@ -13,7 +13,6 @@ import ai.vespa.metricsproxy.service.VespaServices;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
@@ -107,7 +106,7 @@ public class MetricsManager {
* NOTE: Use {@link #getMetrics(List, Instant)} instead, unless further processing of the metrics is necessary.
*/
public List<MetricsPacket.Builder> getMetricsAsBuilders(List<VespaService> services, Instant startTime, ConsumerId consumerId) {
- if (services.isEmpty()) return Collections.emptyList();
+ if (services.isEmpty()) return List.of();
log.log(FINE, () -> "Updating services prior to fetching metrics, number of services= " + services.size());
vespaServices.updateServices(services);
@@ -164,7 +163,7 @@ public class MetricsManager {
* @return Health metrics for all matching services.
*/
public List<MetricsPacket> getHealthMetrics(List<VespaService> services) {
- if (services.isEmpty()) return Collections.emptyList();
+ if (services.isEmpty()) return List.of();
vespaServices.updateServices(services);
// TODO: Add global dimensions to health metrics?
@@ -190,7 +189,7 @@ public class MetricsManager {
public void purgeExtraMetrics() {
extraDimensions = new HashMap<>();
- externalMetrics.setExtraMetrics(Collections.emptyList());
+ externalMetrics.setExtraMetrics(List.of());
}
/**
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java
index 9fe5983d5b9..4dabc7a66d8 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java
@@ -17,7 +17,6 @@ import ai.vespa.metricsproxy.service.VespaService;
import java.time.Instant;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
@@ -140,7 +139,7 @@ public class VespaMetrics {
if ( ! configuredDimensions.isEmpty()) {
Map<DimensionId, String> dims = new HashMap<>(dimensions);
configuredDimensions.forEach(d -> dims.put(d.key(), d.value()));
- dimensions = Collections.unmodifiableMap(dims);
+ dimensions = Map.copyOf(dims);
}
return dimensions;
}
@@ -222,10 +221,10 @@ public class VespaMetrics {
}
private List<ConfiguredMetric> getMetricDefinitions(ConsumerId consumer) {
- if (metricsConsumers == null) return Collections.emptyList();
+ if (metricsConsumers == null) return List.of();
List<ConfiguredMetric> definitions = metricsConsumers.getMetricDefinitions(consumer);
- return definitions == null ? Collections.emptyList() : definitions;
+ return definitions == null ? List.of() : definitions;
}
private static void setMetaInfo(MetricsPacket.Builder builder, Instant timestamp) {
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonUtil.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonUtil.java
index c32e90ecc9f..3d2bf7aaecf 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonUtil.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/GenericJsonUtil.java
@@ -18,8 +18,7 @@ import static ai.vespa.metricsproxy.metric.ExternalMetrics.VESPA_NODE_SERVICE_ID
import static ai.vespa.metricsproxy.metric.model.DimensionId.toDimensionId;
import static ai.vespa.metricsproxy.metric.model.MetricId.toMetricId;
import static ai.vespa.metricsproxy.metric.model.json.JacksonUtil.objectMapper;
-import static java.util.Collections.emptyList;
-import static java.util.Collections.singletonList;
+
import static java.util.logging.Level.WARNING;
import static java.util.stream.Collectors.toList;
@@ -90,7 +89,7 @@ public class GenericJsonUtil {
return toMetricsPackets(jsonModel);
} catch (IOException e) {
log.log(WARNING, "Could not create metrics packet from string:\n" + jsonString, e);
- return emptyList();
+ return List.of();
}
}
@@ -106,7 +105,7 @@ public class GenericJsonUtil {
if (node == null) return packets;
if (node.metrics == null || node.metrics.isEmpty()) {
- return singletonList(new MetricsPacket.Builder(VESPA_NODE_SERVICE_ID)
+ return List.of(new MetricsPacket.Builder(VESPA_NODE_SERVICE_ID)
.statusCode(StatusCode.UP.ordinal())
.timestamp(node.timestamp));
}
@@ -124,7 +123,7 @@ public class GenericJsonUtil {
private static List<MetricsPacket.Builder> toServicePackets(GenericService service) {
List<MetricsPacket.Builder> packets = new ArrayList<>();
if (service.metrics == null || service.metrics.isEmpty())
- return singletonList(newServicePacket(service));
+ return List.of(newServicePacket(service));
for (var genericMetrics : service.metrics) {
var packet = newServicePacket(service);
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java
index 82049da5115..649a4978ed9 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java
@@ -21,7 +21,6 @@ import java.util.stream.Collectors;
import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.model.json.JacksonUtil.objectMapper;
-import static java.util.Collections.emptyList;
import static java.util.logging.Level.WARNING;
/**
@@ -65,7 +64,7 @@ public class YamasJsonUtil {
return packets;
} catch (IOException e) {
log.log(WARNING, "Could not create metrics packet from string:\n" + jsonString, e);
- return emptyList();
+ return List.of();
}
}
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java
index 973e1adb96d..d7436ccf404 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java
@@ -13,9 +13,6 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import static java.util.Collections.emptyList;
-import static java.util.Collections.singletonList;
-
/**
* @author yj-jtakagi
* @author gjoranv
@@ -62,7 +59,7 @@ public class PrometheusUtil {
var statusMetricName = serviceName + "_status";
// MetricsPacket status 0 means OK, but it's the opposite in Prometheus.
var statusMetricValue = (firstPacket.statusCode == 0) ? 1 : 0;
- var sampleList = singletonList(new Sample(statusMetricName, emptyList(), emptyList(),
+ var sampleList = List.of(new Sample(statusMetricName, List.of(), List.of(),
statusMetricValue, firstPacket.timestamp * 1000));
metricFamilySamples.add(new MetricFamilySamples(statusMetricName, Collector.Type.UNKNOWN, "status of service", sampleList));
}
diff --git a/metrics/src/test/java/ai/vespa/metrics/MetricSetTest.java b/metrics/src/test/java/ai/vespa/metrics/MetricSetTest.java
index db6f5457b5b..962d3c1f1d6 100644
--- a/metrics/src/test/java/ai/vespa/metrics/MetricSetTest.java
+++ b/metrics/src/test/java/ai/vespa/metrics/MetricSetTest.java
@@ -10,7 +10,6 @@ import java.util.EnumSet;
import java.util.List;
import java.util.Map;
-import static java.util.Collections.emptyList;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -23,7 +22,7 @@ public class MetricSetTest {
void metrics_from_children_are_added() {
MetricSet child1 = new MetricSet("child1", List.of(new Metric("child1_metric")));
MetricSet child2 = new MetricSet("child2", List.of(new Metric("child2_metric")));
- MetricSet parent = new MetricSet("parent", emptyList(), List.of(child1, child2));
+ MetricSet parent = new MetricSet("parent", List.of(), List.of(child1, child2));
Map<String, Metric> parentMetrics = parent.getMetrics();
assertEquals(2, parentMetrics.size());
@@ -34,7 +33,7 @@ public class MetricSetTest {
@Test
void adding_the_same_child_set_twice_has_no_effect() {
MetricSet child = new MetricSet("child", List.of(new Metric("child_metric")));
- MetricSet parent = new MetricSet("parent", emptyList(), List.of(child, child));
+ MetricSet parent = new MetricSet("parent", List.of(), List.of(child, child));
Map<String, Metric> parentMetrics = parent.getMetrics();
assertEquals(1, parentMetrics.size());
diff --git a/model-evaluation/src/main/java/ai/vespa/models/evaluation/RankProfilesConfigImporter.java b/model-evaluation/src/main/java/ai/vespa/models/evaluation/RankProfilesConfigImporter.java
index 0e2a27952ef..e396020ad7a 100644
--- a/model-evaluation/src/main/java/ai/vespa/models/evaluation/RankProfilesConfigImporter.java
+++ b/model-evaluation/src/main/java/ai/vespa/models/evaluation/RankProfilesConfigImporter.java
@@ -27,7 +27,6 @@ import java.io.IOException;
import java.io.UncheckedIOException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
@@ -104,7 +103,7 @@ public class RankProfilesConfigImporter {
if (externalReference.isPresent()) {
RankingExpression expression = largeExpressions.get(property.value());
ExpressionFunction function = new ExpressionFunction(externalReference.get().functionName(),
- Collections.emptyList(),
+ List.of(),
expression);
if (externalReference.get().isFree()) // make available in model under configured name
@@ -115,7 +114,7 @@ public class RankProfilesConfigImporter {
else if (reference.isPresent()) {
RankingExpression expression = new RankingExpression(reference.get().functionName(), property.value());
ExpressionFunction function = new ExpressionFunction(reference.get().functionName(),
- Collections.emptyList(),
+ List.of(),
expression);
if (reference.get().isFree()) // make available in model under configured name
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java
index e985b6d2956..dbd17d96d4f 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java
@@ -8,7 +8,6 @@ import com.yahoo.tensor.evaluation.VariableTensor;
import com.yahoo.tensor.functions.Rename;
import com.yahoo.tensor.functions.TensorFunction;
-import java.util.Collections;
import java.util.List;
public class Argument extends IntermediateOperation {
@@ -16,7 +15,7 @@ public class Argument extends IntermediateOperation {
private OrderedTensorType standardNamingType; // using standard naming convention: d0, d1, ...
public Argument(String modelName, String nodeName, OrderedTensorType type) {
- super(modelName, nodeName, Collections.emptyList());
+ super(modelName, nodeName, List.of());
this.type = type.rename(vespaName() + "_");
standardNamingType = OrderedTensorType.standardType(type);
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java
index 91c46d1232e..1d430611c49 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java
@@ -7,14 +7,13 @@ import com.yahoo.searchlib.rankingexpression.Reference;
import com.yahoo.searchlib.rankingexpression.evaluation.Value;
import com.yahoo.tensor.functions.TensorFunction;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
public class Constant extends IntermediateOperation {
public Constant(String modelName, String nodeName, OrderedTensorType type) {
- super(modelName, nodeName, Collections.emptyList());
+ super(modelName, nodeName, List.of());
this.type = type.rename(vespaName() + "_");
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java
index 52de27891cf..d9f4a4b7f4c 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java
@@ -53,7 +53,7 @@ public abstract class IntermediateOperation {
private final List<String> importWarnings = new ArrayList<>();
private Value constantValue = null;
- private List<IntermediateOperation> controlInputs = Collections.emptyList();
+ private List<IntermediateOperation> controlInputs = List.of();
protected Function<OrderedTensorType, Value> constantValueFunction = null;
@@ -259,7 +259,7 @@ public abstract class IntermediateOperation {
if (result == DoubleValue.NaN) {
if (constantValue != null) {
result = constantValue;
- } else if (inputs.size() == 0) {
+ } else if (inputs.isEmpty()) {
if (getConstantValue().isEmpty()) {
throw new IllegalArgumentException("Error in evaluating constant for " + name);
}
@@ -278,7 +278,7 @@ public abstract class IntermediateOperation {
/** Insert an operation between an input and this one */
public void insert(IntermediateOperation operationToInsert, int inputNumber) {
- if ( operationToInsert.inputs.size() > 0 ) {
+ if (!operationToInsert.inputs.isEmpty()) {
throw new IllegalArgumentException("Operation to insert to '" + name + "' has " +
"existing inputs which is not supported.");
}
@@ -336,7 +336,7 @@ public abstract class IntermediateOperation {
public abstract IntermediateOperation withInputs(List<IntermediateOperation> inputs);
String asString(Optional<OrderedTensorType> type) {
- return type.map(t -> t.toString()).orElse("(unknown)");
+ return type.map(OrderedTensorType::toString).orElse("(unknown)");
}
/**
@@ -373,7 +373,7 @@ public abstract class IntermediateOperation {
public String toFullString() {
return "\t" + type + ":\t" + operationName() + "(" +
- inputs().stream().map(input -> input.toFullString()).collect(Collectors.joining(", ")) +
+ inputs().stream().map(IntermediateOperation::toFullString).collect(Collectors.joining(", ")) +
")";
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java
index ba056d362ac..fa115d8af97 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java
@@ -5,13 +5,12 @@ import ai.vespa.rankingexpression.importer.OrderedTensorType;
import com.yahoo.searchlib.rankingexpression.Reference;
import com.yahoo.tensor.functions.TensorFunction;
-import java.util.Collections;
import java.util.List;
public class NoOp extends IntermediateOperation {
public NoOp(String modelName, String nodeName, List<IntermediateOperation> inputs) {
- super(modelName, nodeName, Collections.emptyList()); // don't propagate inputs
+ super(modelName, nodeName, List.of()); // don't propagate inputs
}
@Override
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/OnnxConstant.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/OnnxConstant.java
index dff548cf319..2e48d65fce2 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/OnnxConstant.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/OnnxConstant.java
@@ -9,7 +9,6 @@ import com.yahoo.searchlib.rankingexpression.evaluation.Value;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.functions.TensorFunction;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -31,7 +30,7 @@ public class OnnxConstant extends IntermediateOperation {
if (value instanceof TensorValue) {
type = OrderedTensorType.fromSpec(value.type().toString()).rename(vespaName() + "_");
} else {
- type = OrderedTensorType.fromDimensionList(TensorType.Value.DOUBLE, Collections.emptyList());
+ type = OrderedTensorType.fromDimensionList(TensorType.Value.DOUBLE, List.of());
}
return type;
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java
index 5a7bbc95889..068c06acd8c 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java
@@ -7,7 +7,6 @@ import com.yahoo.searchlib.rankingexpression.Reference;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.functions.TensorFunction;
-import java.util.Collections;
import java.util.List;
/**
@@ -20,7 +19,7 @@ public class Rename extends IntermediateOperation {
private String from, to;
public Rename(String modelName, String from, String to, IntermediateOperation input) {
- super(modelName, "rename", input != null ? List.of(input) : Collections.emptyList());
+ super(modelName, "rename", input != null ? List.of(input) : List.of());
this.from = from;
this.to = to;
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java
index c4d728e9661..6d0a6c3b04b 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java
@@ -10,7 +10,6 @@ import com.yahoo.tensor.functions.ScalarFunctions;
import com.yahoo.tensor.functions.TensorFunction;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
/**
@@ -77,7 +76,7 @@ public class Softmax extends IntermediateOperation {
private class SoftmaxPartialOperation extends IntermediateOperation {
private SoftmaxPartialOperation(String modelName, String nodeName, List<IntermediateOperation> inputs) {
- super(modelName, nodeName + "_partial" , inputs != null ? inputs : Collections.emptyList());
+ super(modelName, nodeName + "_partial" , inputs != null ? inputs : List.of());
}
@Override
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java
index d511570881b..d2edaaf3737 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java
@@ -157,7 +157,7 @@ public class CuratorDb {
* @return the nodes in their persisted state
*/
public List<Node> writeTo(List<Node> nodes, Agent agent, Optional<String> reason) {
- if (nodes.isEmpty()) return Collections.emptyList();
+ if (nodes.isEmpty()) return List.of();
List<Node> writtenNodes = new ArrayList<>(nodes.size());
@@ -191,7 +191,7 @@ public class CuratorDb {
}
public Node writeTo(Node.State toState, Node node, Agent agent, Optional<String> reason) {
- return writeTo(toState, Collections.singletonList(node), agent, reason).get(0);
+ return writeTo(toState, List.of(node), agent, reason).get(0);
}
/**
diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/ApplicationReferenceList.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/ApplicationReferenceList.java
index bcbd0d2f3b8..b91271c1adf 100644
--- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/ApplicationReferenceList.java
+++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/ApplicationReferenceList.java
@@ -5,7 +5,6 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Collections;
import java.util.List;
/**
@@ -17,5 +16,5 @@ import java.util.List;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ApplicationReferenceList {
@JsonProperty("applications")
- public List<UrlReference> applicationList = Collections.emptyList();
+ public List<UrlReference> applicationList = List.of();
}
diff --git a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/model/ClusterApiImplTest.java b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/model/ClusterApiImplTest.java
index 7dccaad1b1c..db5beafac81 100644
--- a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/model/ClusterApiImplTest.java
+++ b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/model/ClusterApiImplTest.java
@@ -28,7 +28,6 @@ import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.EnumSet;
import java.util.List;
import java.util.Optional;
@@ -73,7 +72,7 @@ public class ClusterApiImplTest {
modelUtils.createServiceInstance("service-5", hostName5, ServiceStatus.UP)
)
);
- modelUtils.createApplicationInstance(Collections.singletonList(serviceCluster));
+ modelUtils.createApplicationInstance(List.of(serviceCluster));
modelUtils.createNode(hostName1, HostStatus.NO_REMARKS);
modelUtils.createNode(hostName2, HostStatus.NO_REMARKS);
@@ -278,7 +277,7 @@ public class ClusterApiImplTest {
service6
)
);
- modelUtils.createApplicationInstance(Collections.singletonList(serviceCluster));
+ modelUtils.createApplicationInstance(List.of(serviceCluster));
modelUtils.createNode(hostName1, HostStatus.NO_REMARKS);
modelUtils.createNode(hostName2, HostStatus.NO_REMARKS);
diff --git a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/HostRequestHandlerTest.java b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/HostRequestHandlerTest.java
index 6a2783949d8..53192b1d40e 100644
--- a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/HostRequestHandlerTest.java
+++ b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/HostRequestHandlerTest.java
@@ -53,7 +53,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.time.Clock;
import java.time.Instant;
-import java.util.Collections;
+import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
@@ -278,7 +278,7 @@ class HostRequestHandlerTest {
ServiceCluster serviceCluster = new ServiceCluster(
new ClusterId("clusterId"),
new ServiceType("serviceType"),
- Collections.singleton(serviceInstance));
+ Set.of(serviceInstance));
serviceInstance.setServiceCluster(serviceCluster);
Host host = new Host(
@@ -287,7 +287,7 @@ class HostRequestHandlerTest {
new ApplicationInstanceReference(
new TenantId("tenantId"),
new ApplicationInstanceId("applicationId")),
- Collections.singletonList(serviceInstance));
+ List.of(serviceInstance));
when(orchestrator.getHost(hostName)).thenReturn(host);
HttpResponse httpResponse = executeRequest(testDriver, Method.GET, "/orchestrator/v1/hosts/hostname", null);
@@ -314,13 +314,14 @@ class HostRequestHandlerTest {
assertEquals(409, httpResponse.getStatus());
ByteArrayOutputStream out = new ByteArrayOutputStream();
httpResponse.render(out);
- JsonTestHelper.assertJsonEquals("{\n" +
- " \"hostname\" : \"hostname\",\n" +
- " \"reason\" : {\n" +
- " \"constraint\" : \"deadline\",\n" +
- " \"message\" : \"resume failed: Timeout Message\"\n" +
- " }\n" +
- "}",
+ JsonTestHelper.assertJsonEquals("""
+ {
+ "hostname" : "hostname",
+ "reason" : {
+ "constraint" : "deadline",
+ "message" : "resume failed: Timeout Message"
+ }
+ }""",
out.toString());
}
diff --git a/predicate-search-core/src/test/java/com/yahoo/document/predicate/FeatureConjunctionTest.java b/predicate-search-core/src/test/java/com/yahoo/document/predicate/FeatureConjunctionTest.java
index 38b8d668a18..35dab62925f 100644
--- a/predicate-search-core/src/test/java/com/yahoo/document/predicate/FeatureConjunctionTest.java
+++ b/predicate-search-core/src/test/java/com/yahoo/document/predicate/FeatureConjunctionTest.java
@@ -3,8 +3,7 @@ package com.yahoo.document.predicate;
import org.junit.jupiter.api.Test;
-import java.util.Arrays;
-import java.util.Collections;
+import java.util.List;
import static com.yahoo.document.predicate.Predicates.feature;
import static com.yahoo.document.predicate.Predicates.not;
@@ -17,7 +16,7 @@ public class FeatureConjunctionTest {
@Test
void require_that_featureconjunction_with_valid_operands_can_be_constructed() {
- new FeatureConjunction(Arrays.asList(
+ new FeatureConjunction(List.of(
not(feature("a").inSet("1")),
feature("b").inSet("1")));
}
@@ -25,7 +24,7 @@ public class FeatureConjunctionTest {
@Test
void require_that_constructor_throws_exception_if_all_operands_are_not_featuresets() {
assertThrows(IllegalArgumentException.class, () -> {
- new FeatureConjunction(Arrays.asList(
+ new FeatureConjunction(List.of(
not(feature("a").inSet("1")),
feature("b").inRange(1, 2)));
});
@@ -34,28 +33,28 @@ public class FeatureConjunctionTest {
@Test
void require_that_constructor_throws_exception_if_single_operand() {
assertThrows(IllegalArgumentException.class, () -> {
- new FeatureConjunction(Arrays.asList(feature("a").inSet("1")));
+ new FeatureConjunction(List.of(feature("a").inSet("1")));
});
}
@Test
void require_that_constructor_throws_exception_if_no_operands() {
assertThrows(IllegalArgumentException.class, () -> {
- new FeatureConjunction(Collections.emptyList());
+ new FeatureConjunction(List.of());
});
}
@Test
void require_that_contructor_throws_exception_if_featuresets_contain_multiple_values() {
assertThrows(IllegalArgumentException.class, () -> {
- new FeatureConjunction(Arrays.asList(feature("a").inSet("1"), feature("b").inSet("2", "3")));
+ new FeatureConjunction(List.of(feature("a").inSet("1"), feature("b").inSet("2", "3")));
});
}
@Test
void require_that_constructor_throws_exception_if_featureset_keys_are_not_unique() {
assertThrows(IllegalArgumentException.class, () -> {
- new FeatureConjunction(Arrays.asList(
+ new FeatureConjunction(List.of(
not(feature("a").inSet("1")),
feature("a").inSet("2")));
});
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java
index 093e65b2e4d..840eacd9dd9 100755..100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java
@@ -15,7 +15,6 @@ import static com.yahoo.searchlib.rankingexpression.Reference.wrapInRankingExpre
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Deque;
import java.util.HashMap;
import java.util.List;
@@ -50,7 +49,7 @@ public class ExpressionFunction {
* @param body the ranking expression that defines this function
*/
public ExpressionFunction(String name, RankingExpression body) {
- this(name, Collections.emptyList(), body);
+ this(name, List.of(), body);
}
/**
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java
index 1186541b9c0..c7231ecd800 100755..100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java
@@ -7,7 +7,6 @@ import com.yahoo.searchlib.rankingexpression.evaluation.Value;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.TypeContext;
-import java.util.Collections;
import java.util.Deque;
import java.util.List;
import java.util.Objects;
@@ -36,7 +35,7 @@ public final class EmbracedNode extends CompositeNode {
@Override
public List<ExpressionNode> children() {
- return Collections.singletonList(value);
+ return List.of(value);
}
@Override
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionNode.java
index e7db8848be5..e93edb71ac6 100755..100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionNode.java
@@ -11,7 +11,6 @@ import com.yahoo.tensor.evaluation.TypeContext;
import com.yahoo.tensor.functions.Join;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Deque;
import java.util.List;
import java.util.Objects;
@@ -34,7 +33,7 @@ public final class FunctionNode extends CompositeNode {
public FunctionNode(Function function, ExpressionNode argument) {
if (function.arity() != 1) throw new IllegalArgumentException(function + " is not unary");
this.function = function;
- this.arguments = new Arguments(Collections.singletonList(argument));
+ this.arguments = new Arguments(List.of(argument));
}
/** Creates a binary function node */
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java
index bef19a656f8..49311b1553b 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java
@@ -8,7 +8,6 @@ import com.yahoo.searchlib.rankingexpression.evaluation.Value;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.TypeContext;
-import java.util.Collections;
import java.util.Deque;
import java.util.List;
import java.util.Objects;
@@ -39,7 +38,7 @@ public class GeneratorLambdaFunctionNode extends CompositeNode {
@Override
public List<ExpressionNode> children() {
- return Collections.singletonList(generator);
+ return List.of(generator);
}
@Override
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/LambdaFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/LambdaFunctionNode.java
index 0f1331515cc..b84bb655140 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/LambdaFunctionNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/LambdaFunctionNode.java
@@ -9,7 +9,6 @@ import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.TypeContext;
import com.yahoo.tensor.functions.Generate;
-import java.util.Collections;
import java.util.Deque;
import java.util.HashSet;
import java.util.List;
@@ -50,7 +49,7 @@ public class LambdaFunctionNode extends CompositeNode {
@Override
public List<ExpressionNode> children() {
- return Collections.singletonList(functionExpression);
+ return List.of(functionExpression);
}
@Override
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/NotNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/NotNode.java
index ba8fb10a1cd..dcf1f857832 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/NotNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/NotNode.java
@@ -7,7 +7,6 @@ import com.yahoo.searchlib.rankingexpression.evaluation.Value;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.TypeContext;
-import java.util.Collections;
import java.util.Deque;
import java.util.List;
import java.util.Objects;
@@ -31,7 +30,7 @@ public class NotNode extends BooleanNode {
@Override
public List<ExpressionNode> children() {
- return Collections.singletonList(value);
+ return List.of(value);
}
@Override
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/TensorFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/TensorFunctionNode.java
index b3f2f265900..202dbebc311 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/TensorFunctionNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/TensorFunctionNode.java
@@ -19,7 +19,6 @@ import com.yahoo.tensor.functions.TensorFunction;
import com.yahoo.tensor.functions.ToStringContext;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Deque;
import java.util.LinkedHashMap;
import java.util.List;
@@ -238,7 +237,7 @@ public class TensorFunctionNode extends CompositeNode {
.map(ExpressionTensorFunction::new)
.collect(Collectors.toList());
else
- return Collections.emptyList();
+ return List.of();
}
@Override
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/UnpackBitsNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/UnpackBitsNode.java
index 81ad09dd880..0a0f48df823 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/UnpackBitsNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/UnpackBitsNode.java
@@ -11,7 +11,6 @@ import com.yahoo.tensor.TensorAddress;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.TypeContext;
-import java.util.Collections;
import java.util.Deque;
import java.util.List;
import java.util.Objects;
@@ -53,7 +52,7 @@ public class UnpackBitsNode extends CompositeNode {
@Override
public List<ExpressionNode> children() {
- return Collections.singletonList(input);
+ return List.of(input);
}
private static record Meta(TensorType outputType, TensorType outputDenseType, String unpackDimension) {}
diff --git a/searchlib/src/main/javacc/RankingExpressionParser.jj b/searchlib/src/main/javacc/RankingExpressionParser.jj
index 97aa42f79c9..51f433bf67d 100755..100644
--- a/searchlib/src/main/javacc/RankingExpressionParser.jj
+++ b/searchlib/src/main/javacc/RankingExpressionParser.jj
@@ -24,7 +24,6 @@ import com.yahoo.searchlib.rankingexpression.evaluation.StringValue;
import com.yahoo.searchlib.rankingexpression.evaluation.TensorValue;
import com.yahoo.tensor.*;
import com.yahoo.tensor.functions.*;
-import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Arrays;
import java.util.ArrayList;
@@ -893,7 +892,7 @@ List<String> bracedIdentifierList() :
String element;
}
{
- ( element = identifier() { return Collections.singletonList(element); } )
+ ( element = identifier() { return List.of(element); } )
|
( <LBRACE> list = identifierList() <RBRACE> { return list; } )
}
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java
index 66b8a07ac95..a0e6fd32ddc 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingTestCase.java
@@ -1,14 +1,12 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchlib.aggregation;
-import com.yahoo.searchlib.expression.FloatResultNode;
import com.yahoo.searchlib.expression.NullResultNode;
import com.yahoo.searchlib.expression.StringBucketResultNode;
import com.yahoo.vespa.objects.BufferSerializer;
import org.junit.Test;
-import java.util.Arrays;
-import java.util.Collections;
+import java.util.List;
import static org.junit.Assert.*;
@@ -30,7 +28,7 @@ public class GroupingTestCase {
assertEquals(9, grouping.getId());
Grouping other = new Grouping(6);
- assertFalse(grouping.equals(other));
+ assertNotEquals(grouping, other);
other.setId(9);
assertEquals(grouping, other);
@@ -46,7 +44,7 @@ public class GroupingTestCase {
assertTrue(grouping.getAll());
Grouping other = new Grouping();
- assertFalse(grouping.equals(other));
+ assertNotEquals(grouping, other);
other.setAll(true);
assertEquals(grouping, other);
@@ -62,7 +60,7 @@ public class GroupingTestCase {
assertEquals(69, grouping.getTopN());
Grouping other = new Grouping();
- assertFalse(grouping.equals(other));
+ assertNotEquals(grouping, other);
other.setTopN(69);
assertEquals(grouping, other);
@@ -78,7 +76,7 @@ public class GroupingTestCase {
assertEquals(69, grouping.getFirstLevel());
Grouping other = new Grouping();
- assertFalse(grouping.equals(other));
+ assertNotEquals(grouping, other);
other.setFirstLevel(69);
assertEquals(grouping, other);
@@ -94,7 +92,7 @@ public class GroupingTestCase {
assertEquals(69, grouping.getLastLevel());
Grouping other = new Grouping();
- assertFalse(grouping.equals(other));
+ assertNotEquals(grouping, other);
other.setLastLevel(69);
assertEquals(grouping, other);
@@ -117,7 +115,7 @@ public class GroupingTestCase {
assertEquals(root, grouping.getRoot());
Grouping other = new Grouping();
- assertFalse(grouping.equals(other));
+ assertNotEquals(grouping, other);
other.setRoot(root);
assertEquals(grouping, other);
@@ -128,7 +126,7 @@ public class GroupingTestCase {
@Test
public void requireThatLevelAccessorsWork() {
Grouping grouping = new Grouping();
- assertEquals(Collections.emptyList(), grouping.getLevels());
+ assertEquals(List.of(), grouping.getLevels());
try {
grouping.addLevel(null);
fail();
@@ -137,10 +135,10 @@ public class GroupingTestCase {
}
GroupingLevel level = new GroupingLevel();
grouping.addLevel(level);
- assertEquals(Arrays.asList(level), grouping.getLevels());
+ assertEquals(List.of(level), grouping.getLevels());
Grouping other = new Grouping();
- assertFalse(grouping.equals(other));
+ assertNotEquals(grouping, other);
other.addLevel(level);
assertEquals(grouping, other);
@@ -155,8 +153,8 @@ public class GroupingTestCase {
@Test
public void requireThatEqualsIsImplemented() {
- assertFalse(new Grouping().equals(new Object()));
- assertTrue(new Grouping().equals(new Grouping()));
+ assertNotEquals(new Grouping(), new Object());
+ assertEquals(new Grouping(), new Grouping());
}
@Test
diff --git a/security-utils/src/main/java/com/yahoo/security/KeyStoreBuilder.java b/security-utils/src/main/java/com/yahoo/security/KeyStoreBuilder.java
index c4c01ca130c..0901ea5931f 100644
--- a/security-utils/src/main/java/com/yahoo/security/KeyStoreBuilder.java
+++ b/security-utils/src/main/java/com/yahoo/security/KeyStoreBuilder.java
@@ -15,8 +15,6 @@ import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
-import static java.util.Collections.singletonList;
-
/**
* @author bjorncs
*/
@@ -53,7 +51,7 @@ public class KeyStoreBuilder {
}
public KeyStoreBuilder withKeyEntry(String alias, PrivateKey privateKey, char[] password, X509Certificate certificate) {
- return withKeyEntry(alias, privateKey, password, singletonList(certificate));
+ return withKeyEntry(alias, privateKey, password, List.of(certificate));
}
public KeyStoreBuilder withKeyEntry(String alias, PrivateKey privateKey, X509Certificate certificate) {
diff --git a/security-utils/src/main/java/com/yahoo/security/Pkcs10Csr.java b/security-utils/src/main/java/com/yahoo/security/Pkcs10Csr.java
index 78a00246d38..d1c9ae582b7 100644
--- a/security-utils/src/main/java/com/yahoo/security/Pkcs10Csr.java
+++ b/security-utils/src/main/java/com/yahoo/security/Pkcs10Csr.java
@@ -15,8 +15,6 @@ import java.util.List;
import java.util.Objects;
import java.util.Optional;
-import static java.util.Collections.emptyList;
-
/**
* @author bjorncs
*/
@@ -40,7 +38,7 @@ public class Pkcs10Csr {
return getExtensions()
.map(extensions -> GeneralNames.fromExtensions(extensions, Extension.subjectAlternativeName))
.map(SubjectAlternativeName::fromGeneralNames)
- .orElse(emptyList());
+ .orElse(List.of());
}
/**
@@ -57,7 +55,7 @@ public class Pkcs10Csr {
.map(extensions -> Arrays.stream(extensions.getExtensionOIDs())
.map(ASN1ObjectIdentifier::getId)
.toList())
- .orElse(emptyList());
+ .orElse(List.of());
}
diff --git a/security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java b/security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java
index cedad3afc9b..8fecbb72a43 100644
--- a/security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java
+++ b/security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java
@@ -18,8 +18,6 @@ import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.List;
-import static java.util.Collections.singletonList;
-
/**
* A builder for {@link SSLContext}.
*
@@ -48,7 +46,7 @@ public class SslContextBuilder {
}
public SslContextBuilder withTrustStore(X509Certificate caCertificate) {
- return withTrustStore(singletonList(caCertificate));
+ return withTrustStore(List.of(caCertificate));
}
public SslContextBuilder withTrustStore(List<X509Certificate> caCertificates) {
@@ -66,7 +64,7 @@ public class SslContextBuilder {
}
public SslContextBuilder withKeyStore(PrivateKey privateKey, X509Certificate certificate) {
- return withKeyStore(privateKey, singletonList(certificate));
+ return withKeyStore(privateKey, List.of(certificate));
}
public SslContextBuilder withKeyStore(PrivateKey privateKey, List<X509Certificate> certificates) {
diff --git a/security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java b/security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java
index 171a8e890d0..f615ff2e832 100644
--- a/security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java
+++ b/security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java
@@ -34,7 +34,6 @@ import java.security.cert.X509Certificate;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Random;
@@ -150,7 +149,7 @@ public class X509CertificateUtils {
public static List<SubjectAlternativeName> getSubjectAlternativeNames(X509Certificate certificate) {
try {
byte[] extensionValue = certificate.getExtensionValue(SUBJECT_ALTERNATIVE_NAMES.getOId());
- if (extensionValue == null) return Collections.emptyList();
+ if (extensionValue == null) return List.of();
ASN1Encodable asn1Encodable = ASN1Primitive.fromByteArray(extensionValue);
if (asn1Encodable instanceof ASN1OctetString) {
asn1Encodable = ASN1Primitive.fromByteArray(((ASN1OctetString) asn1Encodable).getOctets());
diff --git a/security-utils/src/main/java/com/yahoo/security/X509CertificateWithKey.java b/security-utils/src/main/java/com/yahoo/security/X509CertificateWithKey.java
index e80d3840bce..afd5fa315a6 100644
--- a/security-utils/src/main/java/com/yahoo/security/X509CertificateWithKey.java
+++ b/security-utils/src/main/java/com/yahoo/security/X509CertificateWithKey.java
@@ -3,7 +3,6 @@ package com.yahoo.security;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
-import java.util.Collections;
import java.util.List;
/**
@@ -18,7 +17,7 @@ public class X509CertificateWithKey {
private final PrivateKey privateKey;
public X509CertificateWithKey(X509Certificate certificate, PrivateKey privateKey) {
- this(Collections.singletonList(certificate), privateKey);
+ this(List.of(certificate), privateKey);
}
public X509CertificateWithKey(List<X509Certificate> certificate, PrivateKey privateKey) {
diff --git a/security-utils/src/test/java/com/yahoo/security/tls/AuthorizedPeersTest.java b/security-utils/src/test/java/com/yahoo/security/tls/AuthorizedPeersTest.java
index e6f3450332d..ee54a80f732 100644
--- a/security-utils/src/test/java/com/yahoo/security/tls/AuthorizedPeersTest.java
+++ b/security-utils/src/test/java/com/yahoo/security/tls/AuthorizedPeersTest.java
@@ -3,11 +3,10 @@ package com.yahoo.security.tls;
import org.junit.jupiter.api.Test;
-import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
import static com.yahoo.security.tls.RequiredPeerCredential.Field.CN;
-import static java.util.Arrays.asList;
-import static java.util.Collections.singletonList;
import static org.junit.jupiter.api.Assertions.assertThrows;
/**
@@ -18,9 +17,9 @@ public class AuthorizedPeersTest {
@Test
void throws_exception_on_peer_policies_with_duplicate_names() {
assertThrows(IllegalArgumentException.class, () -> {
- PeerPolicy peerPolicy1 = new PeerPolicy("duplicate-name", singletonList(RequiredPeerCredential.of(CN, "mycfgserver")));
- PeerPolicy peerPolicy2 = new PeerPolicy("duplicate-name", singletonList(RequiredPeerCredential.of(CN, "myclient")));
- new AuthorizedPeers(new HashSet<>(asList(peerPolicy1, peerPolicy2)));
+ PeerPolicy peerPolicy1 = new PeerPolicy("duplicate-name", List.of(RequiredPeerCredential.of(CN, "mycfgserver")));
+ PeerPolicy peerPolicy2 = new PeerPolicy("duplicate-name", List.of(RequiredPeerCredential.of(CN, "myclient")));
+ new AuthorizedPeers(Set.of(peerPolicy1, peerPolicy2));
});
}
diff --git a/security-utils/src/test/java/com/yahoo/security/tls/DefaultTlsContextTest.java b/security-utils/src/test/java/com/yahoo/security/tls/DefaultTlsContextTest.java
index ec7d5b8ca05..267e770050d 100644
--- a/security-utils/src/test/java/com/yahoo/security/tls/DefaultTlsContextTest.java
+++ b/security-utils/src/test/java/com/yahoo/security/tls/DefaultTlsContextTest.java
@@ -18,7 +18,6 @@ import static com.yahoo.security.X509CertificateBuilder.generateRandomSerialNumb
import static java.time.Instant.EPOCH;
import static java.time.temporal.ChronoUnit.DAYS;
import static java.util.Collections.singleton;
-import static java.util.Collections.singletonList;
import static org.assertj.core.api.Assertions.assertThat;
/**
@@ -38,7 +37,7 @@ public class DefaultTlsContextTest {
singleton(
new PeerPolicy(
"dummy-policy",
- singletonList(RequiredPeerCredential.of(RequiredPeerCredential.Field.CN, "dummy")))));
+ List.of(RequiredPeerCredential.of(RequiredPeerCredential.Field.CN, "dummy")))));
DefaultTlsContext tlsContext =
DefaultTlsContext.of(
diff --git a/security-utils/src/test/java/com/yahoo/security/tls/PeerAuthorizerTest.java b/security-utils/src/test/java/com/yahoo/security/tls/PeerAuthorizerTest.java
index 112cfa75102..91ce19574fe 100644
--- a/security-utils/src/test/java/com/yahoo/security/tls/PeerAuthorizerTest.java
+++ b/security-utils/src/test/java/com/yahoo/security/tls/PeerAuthorizerTest.java
@@ -23,9 +23,6 @@ import static com.yahoo.security.SignatureAlgorithm.SHA256_WITH_ECDSA;
import static com.yahoo.security.tls.RequiredPeerCredential.Field.CN;
import static com.yahoo.security.tls.RequiredPeerCredential.Field.SAN_DNS;
import static com.yahoo.security.tls.RequiredPeerCredential.Field.SAN_URI;
-import static java.util.Arrays.asList;
-import static java.util.Collections.emptyList;
-import static java.util.Collections.singletonList;
import static java.util.stream.Collectors.toSet;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -45,13 +42,13 @@ public class PeerAuthorizerTest {
RequiredPeerCredential sanRequirement = createRequiredCredential(SAN_DNS, "*.matching.san");
PeerAuthorizer authorizer = createPeerAuthorizer(createPolicy(POLICY_1, cnRequirement, sanRequirement));
- ConnectionAuthContext result = authorizer.authorizePeer(createCertificate("foo.matching.cn", asList("foo.matching.san", "foo.invalid.san"), emptyList()));
+ ConnectionAuthContext result = authorizer.authorizePeer(createCertificate("foo.matching.cn", List.of("foo.matching.san", "foo.invalid.san"), List.of()));
assertAuthorized(result);
assertThat(result.matchedPolicies()).containsOnly(POLICY_1);
- assertUnauthorized(authorizer.authorizePeer(createCertificate("foo.invalid.cn", singletonList("foo.matching.san"), emptyList())));
- assertUnauthorized(authorizer.authorizePeer(createCertificate("foo.invalid.cn", asList("foo.matching.san", "foo.invalid.san"), emptyList())));
- assertUnauthorized(authorizer.authorizePeer(createCertificate("foo.matching.cn", singletonList("foo.invalid.san"), emptyList())));
+ assertUnauthorized(authorizer.authorizePeer(createCertificate("foo.invalid.cn", List.of("foo.matching.san"), List.of())));
+ assertUnauthorized(authorizer.authorizePeer(createCertificate("foo.invalid.cn", List.of("foo.matching.san", "foo.invalid.san"), List.of())));
+ assertUnauthorized(authorizer.authorizePeer(createCertificate("foo.matching.cn", List.of("foo.invalid.san"), List.of())));
}
@Test
@@ -64,7 +61,7 @@ public class PeerAuthorizerTest {
createPolicy(POLICY_2, cnRequirement, sanRequirement));
ConnectionAuthContext result = peerAuthorizer
- .authorizePeer(createCertificate("foo.matching.cn", singletonList("foo.matching.san"), emptyList()));
+ .authorizePeer(createCertificate("foo.matching.cn", List.of("foo.matching.san"), List.of()));
assertAuthorized(result);
assertThat(result.matchedPolicies()).containsOnly(POLICY_1, POLICY_2);
}
@@ -75,7 +72,7 @@ public class PeerAuthorizerTest {
createPolicy(POLICY_1, createRequiredCredential(CN, "*.matching.cn")),
createPolicy(POLICY_2, createRequiredCredential(SAN_DNS, "*.matching.san")));
- ConnectionAuthContext result = peerAuthorizer.authorizePeer(createCertificate("foo.invalid.cn", singletonList("foo.matching.san"), emptyList()));
+ ConnectionAuthContext result = peerAuthorizer.authorizePeer(createCertificate("foo.invalid.cn", List.of("foo.matching.san"), List.of()));
assertAuthorized(result);
assertThat(result.matchedPolicies()).containsOnly(POLICY_2);
}
@@ -89,9 +86,9 @@ public class PeerAuthorizerTest {
PeerAuthorizer peerAuthorizer = createPeerAuthorizer(
createPolicy(POLICY_1, cnSuffixRequirement, cnPrefixRequirement, sanPrefixRequirement, sanSuffixRequirement));
- assertAuthorized(peerAuthorizer.authorizePeer(createCertificate("matching.prefix.matching.suffix.cn", singletonList("matching.prefix.matching.suffix.san"), emptyList())));
- assertUnauthorized(peerAuthorizer.authorizePeer(createCertificate("matching.prefix.matching.suffix.cn", singletonList("matching.prefix.invalid.suffix.san"), emptyList())));
- assertUnauthorized(peerAuthorizer.authorizePeer(createCertificate("invalid.prefix.matching.suffix.cn", singletonList("matching.prefix.matching.suffix.san"), emptyList())));
+ assertAuthorized(peerAuthorizer.authorizePeer(createCertificate("matching.prefix.matching.suffix.cn", List.of("matching.prefix.matching.suffix.san"), List.of())));
+ assertUnauthorized(peerAuthorizer.authorizePeer(createCertificate("matching.prefix.matching.suffix.cn", List.of("matching.prefix.invalid.suffix.san"), List.of())));
+ assertUnauthorized(peerAuthorizer.authorizePeer(createCertificate("invalid.prefix.matching.suffix.cn", List.of("matching.prefix.matching.suffix.san"), List.of())));
}
@Test
@@ -100,11 +97,11 @@ public class PeerAuthorizerTest {
RequiredPeerCredential sanUriRequirement = createRequiredCredential(SAN_URI, "myscheme://my/*/uri");
PeerAuthorizer authorizer = createPeerAuthorizer(createPolicy(POLICY_1, cnRequirement, sanUriRequirement));
- ConnectionAuthContext result = authorizer.authorizePeer(createCertificate("foo.matching.cn", singletonList("foo.irrelevant.san"), singletonList("myscheme://my/matching/uri")));
+ ConnectionAuthContext result = authorizer.authorizePeer(createCertificate("foo.matching.cn", List.of("foo.irrelevant.san"), List.of("myscheme://my/matching/uri")));
assertAuthorized(result);
assertThat(result.matchedPolicies()).containsOnly(POLICY_1);
- assertUnauthorized(authorizer.authorizePeer(createCertificate("foo.matching.cn", emptyList(), singletonList("myscheme://my/nonmatching/url"))));
+ assertUnauthorized(authorizer.authorizePeer(createCertificate("foo.matching.cn", List.of(), List.of("myscheme://my/nonmatching/url"))));
}
@Test
@@ -145,7 +142,7 @@ public class PeerAuthorizerTest {
}
private static PeerPolicy createPolicy(String name, RequiredPeerCredential... requiredCredentials) {
- return new PeerPolicy(name, asList(requiredCredentials));
+ return new PeerPolicy(name, List.of(requiredCredentials));
}
private static PeerPolicy createPolicy(String name, List<Capability> caps, List<RequiredPeerCredential> creds) {
diff --git a/security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsJsonSerializerTest.java b/security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsJsonSerializerTest.java
index 1871bb43569..cde1a346fc9 100644
--- a/security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsJsonSerializerTest.java
+++ b/security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsJsonSerializerTest.java
@@ -15,8 +15,8 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
-import java.util.Collections;
import java.util.LinkedHashSet;
+import java.util.List;
import java.util.Optional;
import static com.yahoo.security.tls.RequiredPeerCredential.Field.CN;
@@ -50,7 +50,7 @@ public class TransportSecurityOptionsJsonSerializerTest {
RequiredPeerCredential.of(SAN_URI, "myscheme://resource/path/"))),
new PeerPolicy("node", Optional.empty(),
CapabilitySet.of(Capability.SLOBROK__API),
- Collections.singletonList(RequiredPeerCredential.of(CN, "hostname")))))))
+ List.of(RequiredPeerCredential.of(CN, "hostname")))))))
.build();
ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -68,7 +68,7 @@ public class TransportSecurityOptionsJsonSerializerTest {
.withCertificates(Paths.get("certs.pem"), Paths.get("myhost.key"))
.withCaCertificates(Paths.get("my_cas.pem"))
.withAcceptedCiphers(Arrays.asList("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_AES_256_GCM_SHA384"))
- .withAcceptedProtocols(Collections.singletonList("TLSv1.2"))
+ .withAcceptedProtocols(List.of("TLSv1.2"))
.withHostnameValidationDisabled(true)
.build();
File outputFile = File.createTempFile("junit", null, tempDirectory);
diff --git a/security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsTest.java b/security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsTest.java
index 08e573fed7e..188a6a1568a 100644
--- a/security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsTest.java
+++ b/security-utils/src/test/java/com/yahoo/security/tls/TransportSecurityOptionsTest.java
@@ -4,12 +4,10 @@ package com.yahoo.security.tls;
import org.junit.jupiter.api.Test;
import java.io.IOException;
-import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.Arrays;
-import java.util.Collections;
+import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -22,8 +20,8 @@ public class TransportSecurityOptionsTest {
private static final TransportSecurityOptions OPTIONS = new TransportSecurityOptions.Builder()
.withCertificates(Paths.get("certs.pem"), Paths.get("myhost.key"))
.withCaCertificates(Paths.get("my_cas.pem"))
- .withAcceptedCiphers(Arrays.asList("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_AES_256_GCM_SHA384"))
- .withAcceptedProtocols(Collections.singletonList("TLSv1.2"))
+ .withAcceptedCiphers(List.of("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_AES_256_GCM_SHA384"))
+ .withAcceptedProtocols(List.of("TLSv1.2"))
.withHostnameValidationDisabled(true)
.build();
@@ -35,7 +33,7 @@ public class TransportSecurityOptionsTest {
@Test
void can_read_options_from_json() throws IOException {
- String tlsJson = new String(Files.readAllBytes(TEST_CONFIG_FILE), StandardCharsets.UTF_8);
+ String tlsJson = Files.readString(TEST_CONFIG_FILE);
TransportSecurityOptions actualOptions = TransportSecurityOptions.fromJson(tlsJson);
assertEquals(OPTIONS, actualOptions);
}
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java
index 1c2c57e9a77..bd05b1ab509 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java
@@ -22,7 +22,6 @@ import com.yahoo.vespa.service.model.ApplicationInstanceGenerator;
import com.yahoo.vespa.service.model.ModelGenerator;
import com.yahoo.vespa.service.monitor.InfraApplicationApi;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -107,12 +106,12 @@ public abstract class InfraApplication implements InfraApplicationApi {
// service name == service type for the first service of each type on each host
serviceType.s(),
serviceType.s(),
- Collections.singletonList(portInfo),
+ List.of(portInfo),
properties,
configIdFor(hostname).s(),
hostname.value());
- return new HostInfo(hostname.value(), Collections.singletonList(serviceInfo));
+ return new HostInfo(hostname.value(), List.of(serviceInfo));
}
public ConfigId configIdFor(DomainName hostname) {
diff --git a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
index 415bed7419d..279bffcd49e 100644
--- a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
+++ b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
@@ -21,7 +21,6 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
-import java.util.Collections;
import java.util.List;
/**
@@ -173,7 +172,7 @@ public class ApplicationMojo extends AbstractMojo {
}
private static <T> List<T> emptyListIfNull(List<T> modules) {
- return modules == null ? Collections.emptyList(): modules;
+ return modules == null ? List.of(): modules;
}
}
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzPrincipal.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzPrincipal.java
index 08d289e216b..2a1113be26a 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzPrincipal.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzPrincipal.java
@@ -6,8 +6,6 @@ import java.util.List;
import java.util.Objects;
import java.util.Optional;
-import static java.util.Collections.emptyList;
-
/**
* @author bjorncs
*/
@@ -18,11 +16,11 @@ public class AthenzPrincipal implements Principal {
private final List<AthenzRole> roles;
public AthenzPrincipal(AthenzIdentity athenzIdentity) {
- this(athenzIdentity, null, emptyList());
+ this(athenzIdentity, null, List.of());
}
public AthenzPrincipal(AthenzIdentity athenzIdentity, NToken nToken) {
- this(athenzIdentity, nToken, emptyList());
+ this(athenzIdentity, nToken, List.of());
}
public AthenzPrincipal(AthenzIdentity identity, List<AthenzRole> roles) {
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
index c4c8fac87b4..f054abf2bd1 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
@@ -43,7 +43,6 @@ import javax.net.ssl.SSLContext;
import java.net.URI;
import java.security.PublicKey;
import java.time.Instant;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -88,7 +87,7 @@ public class DefaultZmsClient extends ClientBase implements ZmsClient {
HttpUriRequest request = RequestBuilder.put()
.setUri(uri)
.addHeader(createCookieHeader(oAuthCredentials))
- .setEntity(toJsonStringEntity(new TenancyRequestEntity(tenantDomain, providerService, Collections.emptyList())))
+ .setEntity(toJsonStringEntity(new TenancyRequestEntity(tenantDomain, providerService, List.of())))
.build();
execute(request, response -> readEntity(response, Void.class));
}
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java
index ed3a52abb87..2c8908a89a6 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java
@@ -17,15 +17,11 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.cert.Certificate;
+
import java.security.cert.X509Certificate;
import java.util.List;
-import java.util.Spliterator;
-import java.util.Spliterators;
+
import java.util.stream.Stream;
-import java.util.stream.StreamSupport;
/**
* A {@link ServiceIdentityProvider} that provides the credentials stored on file system.
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzCredentialsService.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzCredentialsService.java
index 40a23ab5904..63c966004e5 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzCredentialsService.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzCredentialsService.java
@@ -123,9 +123,9 @@ class AthenzCredentialsService {
private Optional<AthenzCredentials> tryReadCredentialsFromDisk() {
Optional<PrivateKey> privateKey = SiaUtils.readPrivateKeyFile(VESPA_SIA_DIRECTORY, tenantIdentity);
- if (!privateKey.isPresent()) return Optional.empty();
+ if (privateKey.isEmpty()) return Optional.empty();
Optional<X509Certificate> certificate = SiaUtils.readCertificateFile(VESPA_SIA_DIRECTORY, tenantIdentity);
- if (!certificate.isPresent()) return Optional.empty();
+ if (certificate.isEmpty()) return Optional.empty();
if (isExpired(certificate.get())) {
return Optional.empty();
}
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/LegacyAthenzIdentityProviderImpl.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/LegacyAthenzIdentityProviderImpl.java
index 5569eef192c..34324ef18e6 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/LegacyAthenzIdentityProviderImpl.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/LegacyAthenzIdentityProviderImpl.java
@@ -38,7 +38,6 @@ import java.security.cert.X509Certificate;
import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -277,7 +276,7 @@ public final class LegacyAthenzIdentityProviderImpl extends AbstractComponent im
@Override
public List<X509Certificate> getIdentityCertificate() {
- return Collections.singletonList(credentials.getCertificate());
+ return List.of(credentials.getCertificate());
}
@Override
diff --git a/vespa-feed-client-api/src/main/java/ai/vespa/feed/client/FeedClientBuilder.java b/vespa-feed-client-api/src/main/java/ai/vespa/feed/client/FeedClientBuilder.java
index 7101b8452ed..6fd17154aa8 100644
--- a/vespa-feed-client-api/src/main/java/ai/vespa/feed/client/FeedClientBuilder.java
+++ b/vespa-feed-client-api/src/main/java/ai/vespa/feed/client/FeedClientBuilder.java
@@ -9,7 +9,6 @@ import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.time.Duration;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.function.Supplier;
@@ -27,7 +26,7 @@ public interface FeedClientBuilder {
* Creates a builder for a single feed container endpoint.
* This is for feeding against a container cluster with a load balancer in front of it.
**/
- static FeedClientBuilder create(URI endpoint) { return create(Collections.singletonList(endpoint)); }
+ static FeedClientBuilder create(URI endpoint) { return create(List.of(endpoint)); }
/**
* Creates a builder which <em>distributes</em> the feed across the given feed container endpoints.
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java
index 0268f1a4394..c271ac356e9 100644
--- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java
+++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java
@@ -15,7 +15,6 @@ import java.security.cert.X509Certificate;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -195,7 +194,7 @@ public class FeedClientBuilderImpl implements FeedClientBuilder {
/** Sets client SSL certificate/key */
@Override
public FeedClientBuilderImpl setCertificate(X509Certificate certificate, PrivateKey privateKey) {
- return setCertificate(Collections.singletonList(certificate), privateKey);
+ return setCertificate(List.of(certificate), privateKey);
}
@Override
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java
index 5454249d52e..df010a167f6 100644
--- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java
+++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java
@@ -41,7 +41,6 @@ import java.net.Inet4Address;
import java.net.InetSocketAddress;
import java.net.URI;
import java.time.Duration;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -194,7 +193,7 @@ class JettyCluster implements Cluster {
proxySslCtxFactory.setSslContext(b.constructProxySslContext());
try { proxySslCtxFactory.start(); } catch (Exception e) { throw new IOException(e); }
httpClient.getProxyConfiguration().addProxy(
- new HttpProxy(address, proxySslCtxFactory, new Origin.Protocol(Collections.singletonList("h2"), false)));
+ new HttpProxy(address, proxySslCtxFactory, new Origin.Protocol(List.of("h2"), false)));
URI proxyUri = URI.create(endpointUri(b.proxy));
httpClient.getAuthenticationStore().addAuthenticationResult(new Authentication.Result() {
@Override public URI getURI() { return proxyUri; }
@@ -205,7 +204,7 @@ class JettyCluster implements Cluster {
} else {
// Assume insecure proxy uses HTTP/1.1
httpClient.getProxyConfiguration().addProxy(
- new HttpProxy(address, false, new Origin.Protocol(Collections.singletonList("http/1.1"), false)));
+ new HttpProxy(address, false, new Origin.Protocol(List.of("http/1.1"), false)));
// Bug in Jetty cause authentication result to be ignored for HTTP/1.1 CONNECT requests
httpClient.getRequestListeners().add(new Request.Listener() {
@Override
diff --git a/vespa-feed-client/src/test/java/ai/vespa/feed/client/impl/HttpFeedClientTest.java b/vespa-feed-client/src/test/java/ai/vespa/feed/client/impl/HttpFeedClientTest.java
index c79bb7b4606..28bde16f457 100644
--- a/vespa-feed-client/src/test/java/ai/vespa/feed/client/impl/HttpFeedClientTest.java
+++ b/vespa-feed-client/src/test/java/ai/vespa/feed/client/impl/HttpFeedClientTest.java
@@ -13,7 +13,7 @@ import org.junit.jupiter.api.Test;
import java.net.URI;
import java.time.Duration;
-import java.util.Collections;
+import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -42,7 +42,7 @@ class HttpFeedClientTest {
@Override public void await() { throw new UnsupportedOperationException(); }
@Override public CompletableFuture<HttpResponse> enqueue(DocumentId documentId, HttpRequest request) { return dispatch.get().apply(documentId, request); }
}
- FeedClient client = new HttpFeedClient(new FeedClientBuilderImpl(Collections.singletonList(URI.create("https://dummy:123"))).setDryrun(true),
+ FeedClient client = new HttpFeedClient(new FeedClientBuilderImpl(List.of(URI.create("https://dummy:123"))).setDryrun(true),
new DryrunCluster(),
new MockRequestStrategy());
@@ -214,7 +214,7 @@ class HttpFeedClientTest {
void testHandshake() {
// dummy:123 does not exist, and results in a host-not-found exception.
FeedException exception = assertThrows(FeedException.class,
- () -> new HttpFeedClient(new FeedClientBuilderImpl(Collections.singletonList(URI.create("https://dummy:123")))));
+ () -> new HttpFeedClient(new FeedClientBuilderImpl(List.of(URI.create("https://dummy:123")))));
String message = exception.getMessage();
assertTrue(message.startsWith("failed handshake with server after "), message);
assertTrue(message.contains("java.net.UnknownHostException"), message);
@@ -237,19 +237,19 @@ class HttpFeedClientTest {
// Old server, and speed-test.
assertEquals("server does not support speed test; upgrade to a newer version",
assertThrows(FeedException.class,
- () -> new HttpFeedClient(new FeedClientBuilderImpl(Collections.singletonList(URI.create("https://dummy:123"))).setSpeedTest(true),
+ () -> new HttpFeedClient(new FeedClientBuilderImpl(List.of(URI.create("https://dummy:123"))).setSpeedTest(true),
cluster,
null))
.getMessage());
// Old server.
- new HttpFeedClient(new FeedClientBuilderImpl(Collections.singletonList(URI.create("https://dummy:123"))),
+ new HttpFeedClient(new FeedClientBuilderImpl(List.of(URI.create("https://dummy:123"))),
cluster,
null);
// New server.
response.set(okResponse);
- new HttpFeedClient(new FeedClientBuilderImpl(Collections.singletonList(URI.create("https://dummy:123"))),
+ new HttpFeedClient(new FeedClientBuilderImpl(List.of(URI.create("https://dummy:123"))),
cluster,
null);
}
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/VersionsTestCase.java b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/VersionsTestCase.java
index 4636f96a4bb..f6e50ff1547 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/VersionsTestCase.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/VersionsTestCase.java
@@ -7,7 +7,6 @@ import org.junit.Test;
import java.io.ByteArrayOutputStream;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import static org.junit.Assert.assertEquals;
@@ -20,17 +19,17 @@ import static org.junit.Assert.assertTrue;
*/
public class VersionsTestCase {
- private static final List<String> EMPTY = Collections.emptyList();
+ private static final List<String> EMPTY = List.of();
private static final List<String> ONE_TWO = Arrays.asList("1", "2");
private static final List<String> ONE_THREE = Arrays.asList("1", "3");
private static final List<String> TWO_THREE = Arrays.asList("3", "2");
private static final List<String> ONE_NULL_THREE = Arrays.asList("1", null, "3");
- private static final List<String> ONE_COMMA_THREE = Collections.singletonList("1, 3");
+ private static final List<String> ONE_COMMA_THREE = List.of("1, 3");
private static final List<String> ONE_EMPTY_THREE = Arrays.asList("1", "", "3");
- private static final List<String> TOO_LARGE_NUMBER = Collections.singletonList("1000000000");
+ private static final List<String> TOO_LARGE_NUMBER = List.of("1000000000");
private static final List<String> THREE_TOO_LARGE_NUMBER = Arrays.asList("3", "1000000000");
private static final List<String> THREE_COMMA_TOO_LARGE_NUMBER = Arrays.asList("3,1000000000");
- private static final List<String> GARBAGE = Collections.singletonList("garbage");
+ private static final List<String> GARBAGE = List.of("garbage");
@Test
public void testEmpty() {
diff --git a/vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java b/vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java
index 0628f4e0f29..ddaf057a0b9 100644
--- a/vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java
+++ b/vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java
@@ -214,7 +214,7 @@ public class DocumentRetrieverTest {
.setCluster(cluster)
.build();
- ClusterList clusterList = new ClusterList(Collections.singletonList(new ClusterDef(cluster)));
+ ClusterList clusterList = new ClusterList(List.of(new ClusterDef(cluster)));
DocumentRetriever documentRetriever = createDocumentRetriever(params, clusterList);
documentRetriever.retrieveDocuments();
@@ -230,7 +230,7 @@ public class DocumentRetrieverTest {
.setCluster("invalidclustername")
.build();
- ClusterList clusterList = new ClusterList(Collections.singletonList(new ClusterDef("storage")));
+ ClusterList clusterList = new ClusterList(List.of(new ClusterDef("storage")));
DocumentRetriever documentRetriever = createDocumentRetriever(params, clusterList);
documentRetriever.retrieveDocuments();
diff --git a/vespaclient-java/src/test/java/com/yahoo/vespastat/BucketStatsPrinterTest.java b/vespaclient-java/src/test/java/com/yahoo/vespastat/BucketStatsPrinterTest.java
index 143d5518eff..c4164d04aa2 100644
--- a/vespaclient-java/src/test/java/com/yahoo/vespastat/BucketStatsPrinterTest.java
+++ b/vespaclient-java/src/test/java/com/yahoo/vespastat/BucketStatsPrinterTest.java
@@ -10,7 +10,6 @@ import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -28,7 +27,7 @@ public class BucketStatsPrinterTest {
public void mockBucketStatsRetriever() throws BucketStatsException {
retriever = mock(BucketStatsRetriever.class);
when(retriever.getBucketIdForType(any(), any())).thenReturn(new BucketId(0x42));
- when(retriever.retrieveBucketList(any(), any())).thenReturn(Collections.emptyList());
+ when(retriever.retrieveBucketList(any(), any())).thenReturn(List.of());
when(retriever.retrieveBucketStats(any(), any(), any(), any())).thenReturn("");
}
@@ -79,7 +78,7 @@ public class BucketStatsPrinterTest {
void testShouldPrintBucketStats() throws BucketStatsException {
String dummyBucketStats = "dummystats";
GetBucketListReply.BucketInfo bucketInfo = new GetBucketListReply.BucketInfo(new BucketId(0), "dummy");
- when(retriever.retrieveBucketList(any(), any())).thenReturn(Collections.singletonList(bucketInfo));
+ when(retriever.retrieveBucketList(any(), any())).thenReturn(List.of(bucketInfo));
when(retriever.retrieveBucketStats(any(), any(), any(), any())).thenReturn(dummyBucketStats);
String output = retreiveAndPrintBucketStats(ClientParameters.SelectionType.USER, "1234", true);
diff --git a/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java b/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java
index 8ace7598e27..26c0bec34b1 100644
--- a/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java
+++ b/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java
@@ -56,7 +56,7 @@ public class ListenableArrayList<ITEM> extends ArrayList<ITEM> {
}
public List<Runnable> listeners() {
- if (listeners == null) return Collections.emptyList();
+ if (listeners == null) return List.of();
return Collections.unmodifiableList(listeners);
}
diff --git a/vespajlib/src/main/java/com/yahoo/concurrent/InThreadExecutorService.java b/vespajlib/src/main/java/com/yahoo/concurrent/InThreadExecutorService.java
index 96541e555b2..63653b051c0 100644
--- a/vespajlib/src/main/java/com/yahoo/concurrent/InThreadExecutorService.java
+++ b/vespajlib/src/main/java/com/yahoo/concurrent/InThreadExecutorService.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.concurrent;
-import java.util.Collections;
import java.util.List;
import java.util.concurrent.AbstractExecutorService;
import java.util.concurrent.ExecutorService;
@@ -24,7 +23,7 @@ public class InThreadExecutorService extends AbstractExecutorService {
@Override
public List<Runnable> shutdownNow() {
shutdown();
- return Collections.emptyList();
+ return List.of();
}
@Override
diff --git a/vespajlib/src/main/java/com/yahoo/data/access/simple/Value.java b/vespajlib/src/main/java/com/yahoo/data/access/simple/Value.java
index 3a02d752aa5..e67c1ebb3b6 100644
--- a/vespajlib/src/main/java/com/yahoo/data/access/simple/Value.java
+++ b/vespajlib/src/main/java/com/yahoo/data/access/simple/Value.java
@@ -41,8 +41,8 @@ public class Value implements Inspector {
public void traverse(ObjectTraverser ot) {}
public Inspector entry(int idx) { return invalid; }
public Inspector field(java.lang.String name) { return invalid; }
- public Iterable<Inspector> entries() { return Collections.emptyList(); }
- public Iterable<Map.Entry<java.lang.String,Inspector>> fields() { return Collections.emptyList(); }
+ public Iterable<Inspector> entries() { return List.of(); }
+ public Iterable<Map.Entry<java.lang.String,Inspector>> fields() { return List.of(); }
public StringBuilder writeJson(StringBuilder target) {
return JsonRender.render(this, target, true);
}
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java b/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java
index d27c7cf0168..f5ec63ab4e9 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java
@@ -24,7 +24,6 @@ import com.yahoo.tensor.impl.Label;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -186,8 +185,8 @@ public interface Tensor {
}
default Tensor rename(String fromDimension, String toDimension) {
- return new Rename<>(new ConstantTensor<>(this), Collections.singletonList(fromDimension),
- Collections.singletonList(toDimension)).evaluate();
+ return new Rename<>(new ConstantTensor<>(this), List.of(fromDimension),
+ List.of(toDimension)).evaluate();
}
default Tensor concat(double argument, String dimension) {
@@ -270,26 +269,26 @@ public interface Tensor {
default Tensor bit(Tensor argument) { return join(argument, (a,b) -> ((int)b < 8 && (int)b >= 0 && ((int)a & (1 << (int)b)) != 0) ? 1.0 : 0.0); }
default Tensor hamming(Tensor argument) { return join(argument, Hamming::hamming); }
- default Tensor avg() { return avg(Collections.emptyList()); }
- default Tensor avg(String dimension) { return avg(Collections.singletonList(dimension)); }
+ default Tensor avg() { return avg(List.of()); }
+ default Tensor avg(String dimension) { return avg(List.of(dimension)); }
default Tensor avg(List<String> dimensions) { return reduce(Reduce.Aggregator.avg, dimensions); }
- default Tensor count() { return count(Collections.emptyList()); }
- default Tensor count(String dimension) { return count(Collections.singletonList(dimension)); }
+ default Tensor count() { return count(List.of()); }
+ default Tensor count(String dimension) { return count(List.of(dimension)); }
default Tensor count(List<String> dimensions) { return reduce(Reduce.Aggregator.count, dimensions); }
- default Tensor max() { return max(Collections.emptyList()); }
- default Tensor max(String dimension) { return max(Collections.singletonList(dimension)); }
+ default Tensor max() { return max(List.of()); }
+ default Tensor max(String dimension) { return max(List.of(dimension)); }
default Tensor max(List<String> dimensions) { return reduce(Reduce.Aggregator.max, dimensions); }
- default Tensor median() { return median(Collections.emptyList()); }
- default Tensor median(String dimension) { return median(Collections.singletonList(dimension)); }
+ default Tensor median() { return median(List.of()); }
+ default Tensor median(String dimension) { return median(List.of(dimension)); }
default Tensor median(List<String> dimensions) { return reduce(Reduce.Aggregator.median, dimensions); }
- default Tensor min() { return min(Collections.emptyList()); }
- default Tensor min(String dimension) { return min(Collections.singletonList(dimension)); }
+ default Tensor min() { return min(List.of()); }
+ default Tensor min(String dimension) { return min(List.of(dimension)); }
default Tensor min(List<String> dimensions) { return reduce(Reduce.Aggregator.min, dimensions); }
- default Tensor prod() { return prod(Collections.emptyList()); }
- default Tensor prod(String dimension) { return prod(Collections.singletonList(dimension)); }
+ default Tensor prod() { return prod(List.of()); }
+ default Tensor prod(String dimension) { return prod(List.of(dimension)); }
default Tensor prod(List<String> dimensions) { return reduce(Reduce.Aggregator.prod, dimensions); }
- default Tensor sum() { return sum(Collections.emptyList()); }
- default Tensor sum(String dimension) { return sum(Collections.singletonList(dimension)); }
+ default Tensor sum() { return sum(List.of()); }
+ default Tensor sum(String dimension) { return sum(List.of(dimension)); }
default Tensor sum(List<String> dimensions) { return reduce(Reduce.Aggregator.sum, dimensions); }
// ----------------- non-math query methods (that is, computations not returning a tensor)
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/TensorTypeParser.java b/vespajlib/src/main/java/com/yahoo/tensor/TensorTypeParser.java
index b6bd252f135..fc82be4b33c 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/TensorTypeParser.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/TensorTypeParser.java
@@ -3,7 +3,6 @@ package com.yahoo.tensor;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.regex.Matcher;
@@ -50,7 +49,7 @@ public class TensorTypeParser {
dimensionsSpec = specBody.substring(parenthesisIndex + 1);
}
- if (dimensionsSpec.isEmpty()) return new TensorType.Builder(valueType, Collections.emptyList()).build();
+ if (dimensionsSpec.isEmpty()) return new TensorType.Builder(valueType, List.of()).build();
List<TensorType.Dimension> dimensions = new ArrayList<>();
for (String element : dimensionsSpec.split(",")) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/evaluation/VariableTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/evaluation/VariableTensor.java
index 0cef1482292..58b17758cfe 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/evaluation/VariableTensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/evaluation/VariableTensor.java
@@ -7,7 +7,6 @@ import com.yahoo.tensor.functions.PrimitiveTensorFunction;
import com.yahoo.tensor.functions.TensorFunction;
import com.yahoo.tensor.functions.ToStringContext;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
@@ -34,7 +33,7 @@ public class VariableTensor<NAMETYPE extends Name> extends PrimitiveTensorFuncti
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.emptyList(); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) { return this; }
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/CellCast.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/CellCast.java
index 61207840ded..5655bb020a4 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/CellCast.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/CellCast.java
@@ -8,7 +8,6 @@ import com.yahoo.tensor.evaluation.EvaluationContext;
import com.yahoo.tensor.evaluation.Name;
import com.yahoo.tensor.evaluation.TypeContext;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
@@ -32,7 +31,7 @@ public class CellCast<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAM
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.singletonList(argument); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(argument); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/ConstantTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/ConstantTensor.java
index c81cde70c75..0ecd4b5f947 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/ConstantTensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/ConstantTensor.java
@@ -7,7 +7,6 @@ import com.yahoo.tensor.evaluation.EvaluationContext;
import com.yahoo.tensor.evaluation.Name;
import com.yahoo.tensor.evaluation.TypeContext;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -29,7 +28,7 @@ public class ConstantTensor<NAMETYPE extends Name> extends PrimitiveTensorFuncti
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.emptyList(); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Diag.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Diag.java
index 382ac94be7d..354e03e6699 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Diag.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Diag.java
@@ -4,7 +4,6 @@ package com.yahoo.tensor.functions;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.Name;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
@@ -27,7 +26,7 @@ public class Diag<NAMETYPE extends Name> extends CompositeTensorFunction<NAMETYP
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.emptyList(); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Expand.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Expand.java
index 3042991e2c0..f5a33dde064 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Expand.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Expand.java
@@ -4,7 +4,6 @@ package com.yahoo.tensor.functions;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.Name;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -25,7 +24,7 @@ public class Expand<NAMETYPE extends Name> extends CompositeTensorFunction<NAMET
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.singletonList(argument); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(argument); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/L1Normalize.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/L1Normalize.java
index 51bd4152479..a5afeb6d2a4 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/L1Normalize.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/L1Normalize.java
@@ -3,7 +3,6 @@ package com.yahoo.tensor.functions;
import com.yahoo.tensor.evaluation.Name;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -21,7 +20,7 @@ public class L1Normalize<NAMETYPE extends Name> extends CompositeTensorFunction<
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.singletonList(argument); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(argument); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/L2Normalize.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/L2Normalize.java
index 4b6ffbca63c..47e341732ca 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/L2Normalize.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/L2Normalize.java
@@ -3,7 +3,6 @@ package com.yahoo.tensor.functions;
import com.yahoo.tensor.evaluation.Name;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -21,7 +20,7 @@ public class L2Normalize<NAMETYPE extends Name> extends CompositeTensorFunction<
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.singletonList(argument); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(argument); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Map.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Map.java
index 404be1d6fac..94e75588ba3 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Map.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Map.java
@@ -9,7 +9,6 @@ import com.yahoo.tensor.evaluation.EvaluationContext;
import com.yahoo.tensor.evaluation.Name;
import com.yahoo.tensor.evaluation.TypeContext;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
@@ -40,7 +39,7 @@ public class Map<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAMETYPE
public DoubleUnaryOperator mapper() { return mapper; }
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.singletonList(argument); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(argument); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/MapSubspaces.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/MapSubspaces.java
index aa9602339e9..93a101909a2 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/MapSubspaces.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/MapSubspaces.java
@@ -9,7 +9,6 @@ import com.yahoo.tensor.evaluation.EvaluationContext;
import com.yahoo.tensor.evaluation.Name;
import com.yahoo.tensor.evaluation.TypeContext;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -64,7 +63,7 @@ public class MapSubspaces<NAMETYPE extends Name> extends PrimitiveTensorFunction
public TensorFunction<NAMETYPE> argument() { return argument; }
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.singletonList(argument); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(argument); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Random.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Random.java
index 5d51d8cd5c6..811e861de9c 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Random.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Random.java
@@ -4,7 +4,6 @@ package com.yahoo.tensor.functions;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.Name;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -24,7 +23,7 @@ public class Random<NAMETYPE extends Name> extends CompositeTensorFunction<NAMET
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.emptyList(); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Range.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Range.java
index 8520aef537d..9960fbd58ea 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Range.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Range.java
@@ -4,7 +4,6 @@ package com.yahoo.tensor.functions;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.Name;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
@@ -28,7 +27,7 @@ public class Range<NAMETYPE extends Name> extends CompositeTensorFunction<NAMETY
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.emptyList(); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Softmax.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Softmax.java
index c2eff01c801..150bf82f0e8 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Softmax.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Softmax.java
@@ -4,7 +4,6 @@ package com.yahoo.tensor.functions;
import com.yahoo.tensor.TensorType;
import com.yahoo.tensor.evaluation.Name;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -26,7 +25,7 @@ public class Softmax<NAMETYPE extends Name> extends CompositeTensorFunction<NAME
}
@Override
- public List<TensorFunction<NAMETYPE>> arguments() { return Collections.singletonList(argument); }
+ public List<TensorFunction<NAMETYPE>> arguments() { return List.of(argument); }
@Override
public TensorFunction<NAMETYPE> withArguments(List<TensorFunction<NAMETYPE>> arguments) {
diff --git a/vespajlib/src/main/java/com/yahoo/yolean/trace/TraceNode.java b/vespajlib/src/main/java/com/yahoo/yolean/trace/TraceNode.java
index 39a78897bfb..90b9383eb0c 100644
--- a/vespajlib/src/main/java/com/yahoo/yolean/trace/TraceNode.java
+++ b/vespajlib/src/main/java/com/yahoo/yolean/trace/TraceNode.java
@@ -3,7 +3,6 @@ package com.yahoo.yolean.trace;
import com.yahoo.yolean.concurrent.ThreadRobustList;
-import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@@ -73,7 +72,7 @@ public class TraceNode {
*/
public <PAYLOADTYPE> Iterable<PAYLOADTYPE> descendants(final Class<PAYLOADTYPE> payloadType) {
if (children == null) {
- return Collections.emptyList();
+ return List.of();
}
return new Iterable<PAYLOADTYPE>() {
@@ -118,7 +117,7 @@ public class TraceNode {
*/
public Iterable<TraceNode> children() {
if (children == null) {
- return Collections.emptyList();
+ return List.of();
}
return children;
}
diff --git a/vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java b/vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java
index 8450c7986ef..4acd9ef3214 100644
--- a/vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java
+++ b/vespajlib/src/test/java/com/yahoo/collections/LazySetTest.java
@@ -198,15 +198,15 @@ public class LazySetTest {
assertFalse(set.remove("foo"));
Mockito.verify(delegate).remove("foo");
- Collection<String> containsAllArg = Collections.singletonList("foo");
+ Collection<String> containsAllArg = Set.of("foo");
assertFalse(set.containsAll(containsAllArg));
Mockito.verify(delegate).containsAll(containsAllArg);
- Collection<String> retainAllArg = Collections.singletonList("foo");
+ Collection<String> retainAllArg = Set.of("foo");
assertFalse(set.retainAll(retainAllArg));
Mockito.verify(delegate).retainAll(retainAllArg);
- Collection<String> removeAllArg = Collections.singletonList("foo");
+ Collection<String> removeAllArg = Set.of("foo");
assertFalse(set.removeAll(removeAllArg));
Mockito.verify(delegate).removeAll(removeAllArg);
diff --git a/vespajlib/src/test/java/com/yahoo/io/reader/NamedReaderTestCase.java b/vespajlib/src/test/java/com/yahoo/io/reader/NamedReaderTestCase.java
index b1061fbc9ef..968746319d3 100644
--- a/vespajlib/src/test/java/com/yahoo/io/reader/NamedReaderTestCase.java
+++ b/vespajlib/src/test/java/com/yahoo/io/reader/NamedReaderTestCase.java
@@ -6,7 +6,6 @@ import java.io.Reader;
import java.io.StringReader;
import java.lang.reflect.Method;
import java.nio.CharBuffer;
-import java.util.Collections;
import java.util.List;
import com.yahoo.protect.ClassValidator;
@@ -30,7 +29,7 @@ public class NamedReaderTestCase {
assertEquals("test1",r.getName());
assertEquals("test1",r.toString());
assertEquals(stringReader,r.getReader());
- NamedReader.closeAll(Collections.singletonList(r));
+ NamedReader.closeAll(List.of(r));
NamedReader.closeAll(null); // noop, nor exception
}
diff --git a/vespajlib/src/test/java/com/yahoo/tensor/IndexedTensorTestCase.java b/vespajlib/src/test/java/com/yahoo/tensor/IndexedTensorTestCase.java
index 528ca57d256..b5d36326774 100644
--- a/vespajlib/src/test/java/com/yahoo/tensor/IndexedTensorTestCase.java
+++ b/vespajlib/src/test/java/com/yahoo/tensor/IndexedTensorTestCase.java
@@ -3,9 +3,9 @@ package com.yahoo.tensor;
import org.junit.Test;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import static org.junit.Assert.assertEquals;
@@ -139,7 +139,7 @@ public class IndexedTensorTestCase {
Tensor.Builder builder = Tensor.Builder.of(type);
builder.cell(47.0, 98);
Tensor tensor = builder.build();
- assertEquals(47.0, tensor.sum(Collections.singletonList("x")).asDouble(), 0.000001);
+ assertEquals(47.0, tensor.sum(List.of("x")).asDouble(), 0.000001);
}
private void assertBuildingVWXYZ(TensorType type) {
diff --git a/vespajlib/src/test/java/com/yahoo/tensor/MatrixDotProductBenchmark.java b/vespajlib/src/test/java/com/yahoo/tensor/MatrixDotProductBenchmark.java
index 378e2397a89..6b0dbac8f2a 100644
--- a/vespajlib/src/test/java/com/yahoo/tensor/MatrixDotProductBenchmark.java
+++ b/vespajlib/src/test/java/com/yahoo/tensor/MatrixDotProductBenchmark.java
@@ -9,7 +9,6 @@ import com.yahoo.tensor.functions.Join;
import com.yahoo.tensor.functions.Reduce;
import com.yahoo.tensor.functions.TensorFunction;
-import java.util.Collections;
import java.util.List;
import java.util.Random;
@@ -69,7 +68,7 @@ public class MatrixDotProductBenchmark {
.value(random.nextDouble());
}
}
- return Collections.singletonList(builder.build());
+ return List.of(builder.build());
}
private static void addDimension(TensorType.Builder builder, String name, TensorType.Dimension.Type type, int size) {
diff --git a/vespajlib/src/test/java/com/yahoo/tensor/TensorTestCase.java b/vespajlib/src/test/java/com/yahoo/tensor/TensorTestCase.java
index 69fb71b9b0e..7a51ea300f4 100644
--- a/vespajlib/src/test/java/com/yahoo/tensor/TensorTestCase.java
+++ b/vespajlib/src/test/java/com/yahoo/tensor/TensorTestCase.java
@@ -11,7 +11,6 @@ import com.yahoo.tensor.functions.TensorFunction;
import org.junit.Test;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.function.DoubleBinaryOperator;
@@ -214,7 +213,7 @@ public class TensorTestCase {
Tensor unitK = Tensor.Builder.of(new TensorType.Builder().mapped("k").build()).cell().label("k", 0).value(1).build();
Tensor vectorInJSpace = vector(Type.mapped).multiply(unitJ);
Tensor matrixInKSpace = matrix(Type.mapped, 2).get(0).multiply(unitK);
- assertEquals("Generic computation implementation", 42, (int)dotProduct(vectorInJSpace, Collections.singletonList(matrixInKSpace)));
+ assertEquals("Generic computation implementation", 42, (int)dotProduct(vectorInJSpace, List.of(matrixInKSpace)));
}
@Test
@@ -458,7 +457,7 @@ public class TensorTestCase {
.value((i+1)*(j+1));
}
}
- return Collections.singletonList(builder.build());
+ return List.of(builder.build());
}
private TensorType vectorType(TensorType.Builder builder, String name, TensorType.Dimension.Type type, int size) {
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorOperations.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorOperations.java
index 6a3184fa3e1..ed114c7c340 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorOperations.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorOperations.java
@@ -5,7 +5,6 @@ import com.yahoo.path.Path;
import com.yahoo.vespa.curator.Curator;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -62,7 +61,7 @@ public class CuratorOperations {
* This does not fail, but returns an empty list if the path does not exist.
*/
public static List<CuratorOperation> deleteAll(String path, Curator curator) {
- if ( ! curator.exists(Path.fromString(path))) return Collections.emptyList();
+ if ( ! curator.exists(Path.fromString(path))) return List.of();
List<CuratorOperation> operations = new ArrayList<>();
deleteRecursively(Path.fromString(path), operations, curator);