From 69a61e135e5cd7da5b14c18bc2cfe4785a8bee81 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Tue, 17 Jan 2023 22:27:25 +0100 Subject: Unify on Streams.toList() --- .../document/ImmutableImportedComplexSDField.java | 4 +--- .../application/validation/CloudWatchValidator.java | 6 ++---- .../model/application/validation/Validation.java | 3 +-- .../change/IndexedSearchClusterChangeValidator.java | 2 +- .../change/NodeResourceChangeValidator.java | 3 ++- .../StreamingSearchClusterChangeValidator.java | 21 ++++++++------------- .../change/search/AttributeChangeValidator.java | 4 ++-- .../component/DiscBindingsConfigGenerator.java | 3 +-- .../container/http/xml/JettyConnectorBuilder.java | 4 +--- .../vespa/model/content/ContentSearchCluster.java | 4 +--- .../vespa/model/content/cluster/ContentCluster.java | 4 +--- .../yahoo/schema/DocumentGraphValidatorTest.java | 3 +-- .../yahoo/schema/derived/SchemaOrdererTestCase.java | 5 ++--- .../MetricsProxyContainerClusterTest.java | 3 +-- .../validation/change/ConfigChangeTestUtils.java | 2 +- .../model/content/utils/ContentClusterBuilder.java | 2 +- 16 files changed, 27 insertions(+), 46 deletions(-) (limited to 'config-model') diff --git a/config-model/src/main/java/com/yahoo/schema/document/ImmutableImportedComplexSDField.java b/config-model/src/main/java/com/yahoo/schema/document/ImmutableImportedComplexSDField.java index 553b5b4d940..35b5d06067f 100644 --- a/config-model/src/main/java/com/yahoo/schema/document/ImmutableImportedComplexSDField.java +++ b/config-model/src/main/java/com/yahoo/schema/document/ImmutableImportedComplexSDField.java @@ -3,8 +3,6 @@ package com.yahoo.schema.document; import java.util.Collection; -import static java.util.stream.Collectors.toList; - /** * Wraps {@link ImportedComplexField} as {@link ImmutableSDField}. */ @@ -24,6 +22,6 @@ public class ImmutableImportedComplexSDField extends ImmutableImportedSDField { @Override public Collection getStructFields() { - return importedComplexField.getNestedFields().stream().map(field -> field.asImmutableSDField()).collect(toList()); + return importedComplexField.getNestedFields().stream().map(field -> field.asImmutableSDField()).toList(); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java index 67be9d7bad8..847a3402dc5 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java @@ -8,8 +8,6 @@ import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer; import java.util.List; -import static java.util.stream.Collectors.toList; - /** * @author gjoranv */ @@ -23,7 +21,7 @@ public class CloudWatchValidator extends Validator { var offendingConsumers = model.getAdmin().getUserMetrics().getConsumers().values().stream() .filter(consumer -> !consumer.cloudWatches().isEmpty()) - .collect(toList()); + .toList(); if (! offendingConsumers.isEmpty()) { throw new IllegalArgumentException("CloudWatch cannot be set up for non-public hosted Vespa and must " + @@ -32,7 +30,7 @@ public class CloudWatchValidator extends Validator { } private List consumerIds(List offendingConsumers) { - return offendingConsumers.stream().map(MetricsConsumer::id).collect(toList()); + return offendingConsumers.stream().map(MetricsConsumer::id).toList(); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java index 877dd12104f..93a28820125 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java @@ -42,7 +42,6 @@ import java.util.stream.Collectors; import static java.util.stream.Collectors.groupingBy; import static java.util.stream.Collectors.mapping; import static java.util.stream.Collectors.toCollection; -import static java.util.stream.Collectors.toList; /** * Executor of validators. This defines the right order of validator execution. @@ -129,7 +128,7 @@ public class Validation { }; List actions = Arrays.stream(validators) .flatMap(v -> v.validate(currentModel, nextModel, overrides, now).stream()) - .collect(toList()); + .toList(); Map> disallowableActions = actions.stream() .filter(action -> action.validationId().isPresent()) diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/IndexedSearchClusterChangeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/IndexedSearchClusterChangeValidator.java index 8c333a099d0..778ae604333 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/IndexedSearchClusterChangeValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/IndexedSearchClusterChangeValidator.java @@ -94,7 +94,7 @@ public class IndexedSearchClusterChangeValidator implements ChangeValidator { private static List getSearchNodeServices(IndexedSearchCluster cluster) { return cluster.getSearchNodes().stream(). map(node -> node.getServiceInfo()). - collect(Collectors.toList()); + toList(); } private static List modifyActions(List result, diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidator.java index 7c6f242bbe2..490fea40fab 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidator.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.model.application.validation.change; import com.yahoo.config.application.api.ValidationOverrides; import com.yahoo.config.model.api.ConfigChangeAction; import com.yahoo.config.provision.ClusterSpec; +import com.yahoo.config.provision.HostSpec; import com.yahoo.config.provision.NodeResources; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.container.ApplicationContainerCluster; @@ -46,7 +47,7 @@ public class NodeResourceChangeValidator implements ChangeValidator { return model.allocatedHosts().getHosts().stream().filter(host -> host.membership().isPresent()) .filter(host -> host.membership().get().cluster().id().equals(clusterId)) .findFirst() - .map(host -> host.advertisedResources()); + .map(HostSpec::advertisedResources); } private List createRestartActionsFor(ClusterSpec.Id clusterId, VespaModel model) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/StreamingSearchClusterChangeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/StreamingSearchClusterChangeValidator.java index 167aff1064b..83d723398a6 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/StreamingSearchClusterChangeValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/StreamingSearchClusterChangeValidator.java @@ -8,6 +8,7 @@ import com.yahoo.config.provision.ClusterSpec; import com.yahoo.documentmodel.NewDocumentType; import com.yahoo.schema.derived.AttributeFields; import com.yahoo.schema.document.Attribute; +import com.yahoo.vespa.model.AbstractService; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.application.validation.change.search.ChangeMessageBuilder; import com.yahoo.vespa.model.application.validation.change.search.DocumentTypeChangeValidator; @@ -36,10 +37,8 @@ public class StreamingSearchClusterChangeValidator implements ChangeValidator { List nextStreamingClusters = nextCluster.getSearch().getStreamingClusters(); currentCluster.getSearch().getStreamingClusters().forEach(currentStreamingCluster -> { Optional nextStreamingCluster = findStreamingCluster(currentStreamingCluster.getClusterName(), nextStreamingClusters); - if (nextStreamingCluster.isPresent()) { - result.addAll(validateStreamingCluster(currentCluster, currentStreamingCluster, - nextCluster, nextStreamingCluster.get(), overrides, now)); - } + nextStreamingCluster.ifPresent(streamingSearchCluster -> result.addAll(validateStreamingCluster(currentCluster, currentStreamingCluster, + nextCluster, streamingSearchCluster))); }); } }); @@ -55,14 +54,12 @@ public class StreamingSearchClusterChangeValidator implements ChangeValidator { private static List validateStreamingCluster(ContentCluster currentCluster, StreamingSearchCluster currentStreamingCluster, ContentCluster nextCluster, - StreamingSearchCluster nextStreamingCluster, - ValidationOverrides overrides, - Instant now) { + StreamingSearchCluster nextStreamingCluster) { List result = new ArrayList<>(); result.addAll(validateDocumentTypeChanges(currentCluster.id(), getDocumentType(currentCluster, currentStreamingCluster), - getDocumentType(nextCluster, nextStreamingCluster), overrides, now)); + getDocumentType(nextCluster, nextStreamingCluster))); result.addAll(validateAttributeFastAccessAdded(currentCluster.id(), currentStreamingCluster.derived().getAttributeFields(), nextStreamingCluster.derived().getAttributeFields())); @@ -75,9 +72,7 @@ public class StreamingSearchClusterChangeValidator implements ChangeValidator { private static List validateDocumentTypeChanges(ClusterSpec.Id id, NewDocumentType currentDocType, - NewDocumentType nextDocType, - ValidationOverrides overrides, - Instant now) { + NewDocumentType nextDocType) { return new DocumentTypeChangeValidator(id, currentDocType, nextDocType).validate(); } @@ -115,8 +110,8 @@ public class StreamingSearchClusterChangeValidator implements ChangeValidator { private static List getSearchNodeServices(ContentCluster cluster) { return cluster.getSearch().getSearchNodes().stream() - .map(node -> node.getServiceInfo()) - .collect(Collectors.toList()); + .map(AbstractService::getServiceInfo) + .toList(); } private static List modifyActions(List result, diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java index 5c3905e3311..838c96a8249 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java @@ -69,7 +69,7 @@ public class AttributeChangeValidator { private List validateAddAttributeAspect() { return nextFields.attributes().stream(). - map(attr -> attr.getName()). + map(Attribute::getName). filter(attrName -> !currentFields.containsAttribute(attrName) && currentDocType.containsField(attrName)). map(attrName -> new VespaRestartAction(id, new ChangeMessageBuilder(attrName).addChange("add attribute aspect").build())). @@ -78,7 +78,7 @@ public class AttributeChangeValidator { private List validateRemoveAttributeAspect() { return currentFields.attributes().stream(). - map(attr -> attr.getName()). + map(Attribute::getName). filter(attrName -> !nextFields.containsAttribute(attrName) && nextDocType.containsField(attrName) && !isIndexField(attrName)). diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/DiscBindingsConfigGenerator.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/DiscBindingsConfigGenerator.java index e4a5c2cd440..ca45a1d1687 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/DiscBindingsConfigGenerator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/DiscBindingsConfigGenerator.java @@ -7,7 +7,6 @@ import java.util.LinkedHashMap; import java.util.Map; import static com.yahoo.container.jdisc.JdiscBindingsConfig.Handlers; -import static java.util.stream.Collectors.toList; /** * @author gjoranv @@ -34,6 +33,6 @@ public class DiscBindingsConfigGenerator { } private static Collection toStrings(Collection bindings) { - return bindings.stream().map(BindingPattern::patternString).collect(toList()); + return bindings.stream().map(BindingPattern::patternString).toList(); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java index 69480ee0703..8a89355ee36 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java @@ -19,8 +19,6 @@ import java.util.Arrays; import java.util.List; import java.util.Optional; -import static java.util.stream.Collectors.toList; - /** * @author Einar M R Rosenvinge * @author mortent @@ -76,7 +74,7 @@ public class JettyConnectorBuilder extends VespaDomBuilder.DomConfigProducerBuil Arrays.stream(element.split(",")) .filter(listEntry -> !listEntry.isBlank()) .map(String::trim) - .collect(toList())) + .toList()) .orElse(List.of()); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java index 60ab5dacc5f..d4a41a090b9 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java @@ -35,8 +35,6 @@ import java.util.TreeMap; import java.util.function.Predicate; import java.util.stream.Collectors; -import static java.util.stream.Collectors.toList; - /** * Encapsulates the various options for search in a content model. * Wraps a search cluster from com.yahoo.vespa.model.search. @@ -345,7 +343,7 @@ public class ContentSearchCluster extends AbstractConfigProducer return getClusters().values().stream() .filter(StreamingSearchCluster.class::isInstance) .map(StreamingSearchCluster.class::cast) - .collect(toList()); + .toList(); } public List getDocumentTypesWithStreamingCluster() { return documentTypes(this::hasIndexingModeStreaming); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java index bf5770681ef..3b01cd02b9c 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java @@ -62,8 +62,6 @@ import java.util.Set; import java.util.TreeMap; import java.util.logging.Level; -import static java.util.stream.Collectors.toList; - /** * A content cluster. * @@ -304,7 +302,7 @@ public class ContentCluster extends AbstractConfigProducer s.getHostResource()).collect(toList()); + var hosts = admin.getConfigservers().stream().map(s -> s.getHostResource()).toList(); if (hosts.size() > 1) { var message = "When having content clusters and more than 1 config server " + "it is recommended to configure cluster controllers explicitly."; diff --git a/config-model/src/test/java/com/yahoo/schema/DocumentGraphValidatorTest.java b/config-model/src/test/java/com/yahoo/schema/DocumentGraphValidatorTest.java index ccfa5c51a16..a8a606c87b2 100644 --- a/config-model/src/test/java/com/yahoo/schema/DocumentGraphValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/schema/DocumentGraphValidatorTest.java @@ -14,7 +14,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.*; /** @@ -136,7 +135,7 @@ public class DocumentGraphValidatorTest { } private static List documentListOf(Schema... schemas) { - return Arrays.stream(schemas).map(Schema::getDocument).collect(toList()); + return Arrays.stream(schemas).map(Schema::getDocument).toList(); } private static Schema createSearchWithName(String name, Schema... parents) { diff --git a/config-model/src/test/java/com/yahoo/schema/derived/SchemaOrdererTestCase.java b/config-model/src/test/java/com/yahoo/schema/derived/SchemaOrdererTestCase.java index 16001d3912d..a3c0897bb02 100644 --- a/config-model/src/test/java/com/yahoo/schema/derived/SchemaOrdererTestCase.java +++ b/config-model/src/test/java/com/yahoo/schema/derived/SchemaOrdererTestCase.java @@ -19,7 +19,6 @@ import java.util.Map; import java.util.Objects; import static java.util.Collections.emptyMap; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -80,12 +79,12 @@ public class SchemaOrdererTestCase extends AbstractSchemaTestCase { List inputSchemas = inputNames.stream() .map(schemas::get) .map(Objects::requireNonNull) - .collect(toList()); + .toList(); List actualSearchOrder = new SearchOrderer() .order(inputSchemas) .stream() .map(Schema::getName) - .collect(toList()); + .toList(); assertEquals(expectedSearchOrder, actualSearchOrder); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java index 0eb1db1acaa..a388fdd1b3d 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java @@ -37,7 +37,6 @@ import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.g import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getMetricsNodesConfig; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getModel; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.servicesWithAdminOnly; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -82,7 +81,7 @@ public class MetricsProxyContainerClusterTest { void http_handlers_are_set_up() { VespaModel model = getModel(servicesWithAdminOnly(), self_hosted); Collection handlers = model.getAdmin().getMetricsProxyCluster().getHandlers(); - Collection handlerClasses = handlers.stream().map(Component::getClassId).collect(toList()); + Collection handlerClasses = handlers.stream().map(Component::getClassId).toList(); assertTrue(handlerClasses.contains(ComponentSpecification.fromString(MetricsV1Handler.class.getName()))); assertTrue(handlerClasses.contains(ComponentSpecification.fromString(PrometheusHandler.class.getName()))); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigChangeTestUtils.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigChangeTestUtils.java index d975618c1db..64eb63e8a56 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigChangeTestUtils.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigChangeTestUtils.java @@ -54,7 +54,7 @@ public class ConfigChangeTestUtils { return services.stream() .map(service -> new ServiceInfo(service.getServiceName(), "null", null, null, service.getConfigId(), "null")) - .collect(Collectors.toList()); + .toList(); } public static void assertEqualActions(List exp, List act) { diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterBuilder.java b/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterBuilder.java index b56f8fa2f25..2538cdb5ab1 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterBuilder.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterBuilder.java @@ -56,7 +56,7 @@ public class ContentClusterBuilder { public ContentClusterBuilder docTypes(String ... docTypes) { this.docTypes = Arrays.asList(docTypes).stream(). map(type -> DocType.index(type)). - collect(Collectors.toList()); + toList(); return this; } -- cgit v1.2.3 From 592674c7317fd1e97107ed700fb7a039ef9365a7 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 18 Jan 2023 07:13:53 +0100 Subject: Just use Streams.toList as that is unmdifiable. --- .../src/main/java/ai/vespa/reindexing/Reindexer.java | 3 +-- .../ai/vespa/reindexing/ReindexingMaintainer.java | 5 ++--- .../com/yahoo/config/application/api/TimeWindow.java | 4 ++-- .../com/yahoo/schema/LargeRankingExpressions.java | 2 +- .../application/ApplicationCuratorDatabase.java | 2 +- .../server/http/v1/RoutingStatusApiHandler.java | 2 +- .../hosted/controller/api/integration/LogEntry.java | 2 +- .../certificates/EndpointCertificateMock.java | 4 ++-- .../api/integration/dns/MemoryNameService.java | 4 ++-- .../controller/api/integration/maven/Metadata.java | 2 +- .../hosted/controller/athenz/impl/AthenzFacade.java | 2 +- .../controller/deployment/DeploymentTrigger.java | 2 +- .../hosted/controller/deployment/JobController.java | 1 - .../yahoo/vespa/hosted/controller/deployment/Run.java | 4 ++-- .../persistence/SupportAccessSerializer.java | 4 ++-- .../controller/persistence/TenantSerializer.java | 6 +++--- .../controller/restapi/user/UserFlagsSerializer.java | 8 ++++---- .../controller/support/access/SupportAccess.java | 2 +- .../support/access/SupportAccessControl.java | 2 +- .../controller/integration/ConfigServerMock.java | 2 +- .../maintenance/ResourceMeterMaintainerTest.java | 2 +- .../controller/persistence/BufferedLogStoreTest.java | 3 +-- .../routing/rotation/RotationRepositoryTest.java | 2 +- .../main/java/ai/vespa/hosted/api/DeploymentLog.java | 19 +++++++++---------- .../main/java/ai/vespa/hosted/client/HttpClient.java | 3 +-- .../java/com/yahoo/jdisc/application/BindingSet.java | 4 +--- .../yahoo/messagebus/DynamicThrottlePolicyTest.java | 5 ++--- .../hosted/node/admin/component/ConfigServerInfo.java | 2 +- .../admin/container/image/ContainerImagePruner.java | 2 +- .../node/admin/container/ContainerEngineMock.java | 2 +- .../com/yahoo/vespa/hosted/routing/RoutingTable.java | 2 +- .../main/java/com/yahoo/vespaclient/ClusterList.java | 2 +- 32 files changed, 51 insertions(+), 60 deletions(-) (limited to 'config-model') diff --git a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java index 246092034de..92b5e56ac08 100644 --- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java +++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java @@ -32,7 +32,6 @@ import static java.util.Objects.requireNonNull; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; -import static java.util.stream.Collectors.toUnmodifiableList; /** * Progresses reindexing efforts by creating visitor sessions against its own content cluster, @@ -82,7 +81,7 @@ public class Reindexer { this.cluster = cluster; this.ready = ready.stream() // Iterate through document types in consistent order. .sorted(comparingDouble(Trigger::speed).reversed().thenComparing(Trigger::readyAt).thenComparing(Trigger::type)) - .collect(toUnmodifiableList()); + .toList(); this.database = database; this.visitorSessions = visitorSessions; this.metrics = new ReindexingMetrics(metric, cluster.name); diff --git a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java index 42555e38326..0a1fdb32a84 100644 --- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java +++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java @@ -32,7 +32,6 @@ import java.util.stream.Stream; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; import static java.util.stream.Collectors.toMap; -import static java.util.stream.Collectors.toUnmodifiableList; /** * Runs in all cluster controller containers, and progresses reindexing efforts. @@ -70,7 +69,7 @@ public class ReindexingMaintainer extends AbstractComponent { access, metric, clock)) - .collect(toUnmodifiableList()); + .toList(); this.executor = new ScheduledThreadPoolExecutor(reindexingConfig.clusters().size(), new DaemonThreadFactory("reindexer-")); if (reindexingConfig.enabled()) scheduleStaggered((delayMillis, intervalMillis) -> executor.scheduleAtFixedRate(this::maintain, delayMillis, intervalMillis, TimeUnit.MILLISECONDS), @@ -123,7 +122,7 @@ public class ReindexingMaintainer extends AbstractComponent { .map(typeStatus -> new Trigger(manager.getDocumentType(typeStatus.getKey()), Instant.ofEpochMilli(typeStatus.getValue().readyAtMillis()), typeStatus.getValue().speed())) - .collect(toUnmodifiableList()); + .toList(); } /** Schedules a task with the given interval (across all containers in this ZK cluster). */ diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/TimeWindow.java b/config-model-api/src/main/java/com/yahoo/config/application/api/TimeWindow.java index 8256237dc43..1b5c5ce5873 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/TimeWindow.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/TimeWindow.java @@ -34,8 +34,8 @@ public class TimeWindow { private final LocalDateRange dateRange; private TimeWindow(List days, List hours, ZoneId zone, LocalDateRange dateRange) { - this.days = Objects.requireNonNull(days).stream().distinct().sorted().collect(Collectors.toUnmodifiableList()); - this.hours = Objects.requireNonNull(hours).stream().distinct().sorted().collect(Collectors.toUnmodifiableList()); + this.days = Objects.requireNonNull(days).stream().distinct().sorted().toList(); + this.hours = Objects.requireNonNull(hours).stream().distinct().sorted().toList(); this.zone = Objects.requireNonNull(zone); this.dateRange = Objects.requireNonNull(dateRange); if (days.isEmpty()) throw new IllegalArgumentException("At least one day must be specified"); diff --git a/config-model/src/main/java/com/yahoo/schema/LargeRankingExpressions.java b/config-model/src/main/java/com/yahoo/schema/LargeRankingExpressions.java index 2ae9041b1a2..319b1ac343a 100644 --- a/config-model/src/main/java/com/yahoo/schema/LargeRankingExpressions.java +++ b/config-model/src/main/java/com/yahoo/schema/LargeRankingExpressions.java @@ -40,7 +40,7 @@ public class LargeRankingExpressions { /** Returns a read-only list of ranking constants ordered by name */ public Collection expressions() { - return expressions.values().stream().sorted().collect(Collectors.toUnmodifiableList()); + return expressions.values().stream().sorted().toList(); } // Note: Use by integration tests in internal repo diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java index 438ac7dc9a8..d757421c23a 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java @@ -122,7 +122,7 @@ public class ApplicationCuratorDatabase { .sorted() .map(ApplicationId::fromSerializedForm) .filter(id -> activeSessionOf(id).isPresent()) - .collect(Collectors.toUnmodifiableList()); + .toList(); } public Optional readReindexingStatus(ApplicationId id) { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java index cbd66c0bb67..369f91ec876 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java @@ -99,7 +99,7 @@ public class RoutingStatusApiHandler extends RestApiRequestHandler inactiveDeployments = curator.getChildren(DEPLOYMENT_STATUS_ROOT).stream() .filter(upstreamName -> deploymentStatus(upstreamName).status() == RoutingStatus.out) .sorted() - .collect(Collectors.toUnmodifiableList()); + .toList(); Slime slime = new Slime(); Cursor rootArray = slime.setArray(); inactiveDeployments.forEach(rootArray::addString); diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/LogEntry.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/LogEntry.java index 73f83a9b6e5..96a0e5baa56 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/LogEntry.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/LogEntry.java @@ -71,7 +71,7 @@ public class LogEntry { .replaceAll("\\\\t", "\t"))) .filter(entry -> entry.at().isAfter(from)) .limit(100_000) - .collect(Collectors.toUnmodifiableList()); + .toList(); } catch (IOException e) { throw new UncheckedIOException(e); diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java index f7e7d69cd2f..7ae03d7ce6b 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java @@ -58,7 +58,7 @@ public class EndpointCertificateMock implements EndpointCertificateProvider { "athenzDomain", p.requestedDnsSans().stream() .map(san -> new EndpointCertificateRequestMetadata.DnsNameStatus(san, "done")) - .collect(Collectors.toUnmodifiableList()), + .toList(), 3600, "ok", "2021-09-28T00:14:31.946562037Z", @@ -66,7 +66,7 @@ public class EndpointCertificateMock implements EndpointCertificateProvider { p.issuer(), "rsa_2048" )) - .collect(Collectors.toUnmodifiableList()); + .toList(); } @Override diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java index 0a71e185717..0ca4ae66fb3 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java @@ -81,7 +81,7 @@ public class MemoryNameService implements NameService { public List findRecords(Record.Type type, RecordName name) { return records.stream() .filter(record -> record.type() == type && record.name().equals(name)) - .collect(Collectors.toUnmodifiableList()); + .toList(); } @Override @@ -103,7 +103,7 @@ public class MemoryNameService implements NameService { } return false; }) - .collect(Collectors.toUnmodifiableList()); + .toList(); } @Override diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java index 6750c6d2eaf..dd80a2b3a9a 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java @@ -23,7 +23,7 @@ public class Metadata { public Metadata(ArtifactId id, List versions) { this.id = requireNonNull(id); - this.versions = versions.stream().sorted().collect(Collectors.toUnmodifiableList()); + this.versions = versions.stream().sorted().toList(); } /** Creates a new Metadata object from the given XML document. */ diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/AthenzFacade.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/AthenzFacade.java index 3bc2aec95ff..6a493f3f5ed 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/AthenzFacade.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/AthenzFacade.java @@ -235,7 +235,7 @@ public class AthenzFacade implements AccessControl { return tenants.stream() .filter(tenant -> tenant.type() == Tenant.Type.athenz && userDomains.apply(identity).contains(((AthenzTenant) tenant).domain())) - .collect(Collectors.toUnmodifiableList()); + .toList(); } public void addTenantAdmin(AthenzDomain tenantDomain, AthenzUser user) { diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java index 3c2dbcb8633..a5cb839e9c9 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java @@ -152,7 +152,7 @@ public class DeploymentTrigger { .collect(groupingBy(Job::applicationId)) .values().stream() .flatMap(List::stream) - .collect(Collectors.toUnmodifiableList()); + .toList(); // Map of test jobs, a list for each job type. Jobs in each list are sorted by priority. Map> sortedTestJobsByType = testJobs.stream() diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java index 9c983eb5a0f..674d71001e3 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java @@ -94,7 +94,6 @@ import static java.util.Comparator.naturalOrder; import static java.util.function.Predicate.not; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; -import static java.util.stream.Collectors.toUnmodifiableList; /** * A singleton owned by the controller, which contains the state and methods for controlling deployment jobs. diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Run.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Run.java index 71ff28c47e6..fd1e5592608 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Run.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Run.java @@ -307,7 +307,7 @@ public class Run { .allMatch(step -> steps.get(step) == null || steps.get(step).status() == succeeded)) .map(Map.Entry::getKey) - .collect(Collectors.toUnmodifiableList()); + .toList(); } /** Returns the list of not-yet-run run-always steps whose run-always prerequisites have all run. */ @@ -320,7 +320,7 @@ public class Run { .allMatch(step -> steps.get(step) == null || steps.get(step).status() != unfinished)) .map(Map.Entry::getKey) - .collect(Collectors.toUnmodifiableList()); + .toList(); } private void requireActive() { diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/SupportAccessSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/SupportAccessSerializer.java index a913e86dda9..af7c03f8657 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/SupportAccessSerializer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/SupportAccessSerializer.java @@ -124,7 +124,7 @@ public class SupportAccessSerializer { inspector.field(requestorFieldName).asString(), X509CertificateUtils.fromPem(inspector.field(certificateFieldName).asString()) )) - .collect(Collectors.toUnmodifiableList()); + .toList(); List changeHistory = SlimeUtils.entriesStream(slime.get().field(historyFieldName)) .map(inspector -> @@ -133,7 +133,7 @@ public class SupportAccessSerializer { Instant.parse(inspector.field(atFieldName).asString()), inspector.field(byFieldName).asString()) ) - .collect(Collectors.toUnmodifiableList()); + .toList(); return new SupportAccess(changeHistory, grantHistory); } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/TenantSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/TenantSerializer.java index d4536da91fe..f6b28a2ee34 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/TenantSerializer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/TenantSerializer.java @@ -271,7 +271,7 @@ public class TenantSerializer { inspector.field(nameField).asString(), inspector.field(awsIdField).asString(), inspector.field(roleField).asString())) - .collect(Collectors.toUnmodifiableList()); + .toList(); } private LastLoginInfo lastLoginInfoFromSlime(Inspector lastLoginInfoObject) { @@ -337,7 +337,7 @@ public class TenantSerializer { private TenantContacts tenantContactsFrom(Inspector object) { List contacts = SlimeUtils.entriesStream(object) .map(this::readContact) - .collect(Collectors.toUnmodifiableList()); + .toList(); return new TenantContacts(contacts); } @@ -405,7 +405,7 @@ public class TenantSerializer { .orElseThrow(() -> new RuntimeException("Unknown type: " + inspector.field("type").asString())); var audiences = SlimeUtils.entriesStream(inspector.field("audiences")) .map(audience -> TenantSerializer.fromAudience(audience.asString())) - .collect(Collectors.toUnmodifiableList()); + .toList(); switch (type) { case EMAIL: var isVerified = asBoolOrTrue(inspector.field("data").field("emailVerified")); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserFlagsSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserFlagsSerializer.java index 44d537883f9..54a24360b5a 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserFlagsSerializer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserFlagsSerializer.java @@ -36,7 +36,7 @@ public class UserFlagsSerializer { .filter(fd -> fd.getDimensions().contains(FetchVector.Dimension.CONSOLE_USER_EMAIL)) .map(FlagDefinition::getUnboundFlag) .map(flag -> filteredFlagData(flag, Optional.ofNullable(rawFlagData.get(flag.id())), authorizedForTenantNames, isOperator, resolveVector)) - .collect(Collectors.toUnmodifiableList()); + .toList(); byte[] bytes = FlagData.serializeListToUtf8Json(filteredFlagData); SlimeUtils.copyObject(SlimeUtils.jsonToSlime(bytes).get(), cursor); @@ -55,10 +55,10 @@ public class UserFlagsSerializer { .map(rule -> new Rule(rule.getValueToApply().or(() -> defaultValue), rule.conditions().stream() .flatMap(condition -> filteredCondition(condition, authorizedForTenantNames, isOperator, resolveVector).stream()) - .collect(Collectors.toUnmodifiableList()))) + .toList())) // We can stop as soon as we hit the first rule that has no conditions .takeWhile(rule -> !encounteredEmpty.getAndSet(rule.conditions().isEmpty())) - .collect(Collectors.toUnmodifiableList()); + .toList(); return new FlagData(definition.id(), new FetchVector(), rules); } @@ -80,7 +80,7 @@ public class UserFlagsSerializer { private static Optional valueSubset(Condition condition, Predicate predicate) { Condition.CreateParams createParams = condition.toCreateParams(); return Optional.of(createParams - .withValues(createParams.values().stream().filter(predicate).collect(Collectors.toUnmodifiableList())) + .withValues(createParams.values().stream().filter(predicate).toList()) .createAs(condition.type())); } } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/support/access/SupportAccess.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/support/access/SupportAccess.java index 27cf61564aa..e5304a05d02 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/support/access/SupportAccess.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/support/access/SupportAccess.java @@ -71,7 +71,7 @@ public class SupportAccess { private List prepend(T newEntry, List existingEntries) { return Stream.concat(Stream.of(newEntry), existingEntries.stream()) // latest change first - .collect(Collectors.toUnmodifiableList()); + .toList(); } public static class CurrentStatus { diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/support/access/SupportAccessControl.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/support/access/SupportAccessControl.java index 27b61a4fd17..1561a486fda 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/support/access/SupportAccessControl.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/support/access/SupportAccessControl.java @@ -88,7 +88,7 @@ public class SupportAccessControl { return supportAccess.grantHistory().stream() .filter(grant -> now.isAfter(grant.certificate().getNotBefore().toInstant())) .filter(grant -> now.isBefore(grant.certificate().getNotAfter().toInstant())) - .collect(Collectors.toUnmodifiableList()); + .toList(); } public boolean allowDataplaneMembership(AthenzUser identity, DeploymentId deploymentId) { diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java index 2c1d7315adc..93b804805c3 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java @@ -336,7 +336,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer public List getLoadBalancers(ApplicationId application, ZoneId zone) { return getLoadBalancers(zone).stream() .filter(lb -> lb.application().equals(application)) - .collect(Collectors.toUnmodifiableList()); + .toList(); } @Override diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java index 1f92c7f6e41..157abe17841 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java @@ -152,6 +152,6 @@ public class ResourceMeterMaintainerTest { .clusterId("clusterA") .clusterType(state == Node.State.active ? Node.ClusterType.admin : Node.ClusterType.container) .build()) - .collect(Collectors.toUnmodifiableList()); + .toList(); } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java index eb5422f5cff..59433a6bb69 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java @@ -19,7 +19,6 @@ import java.util.List; import java.util.Optional; import java.util.stream.IntStream; -import static java.util.stream.Collectors.toUnmodifiableList; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -100,7 +99,7 @@ public class BufferedLogStoreTest { // Logging a large entry enough times to reach the maximum size causes no further entries to be stored. List monsterLog = IntStream.range(0, 2 * maxChunks + 3) .mapToObj(i -> new LogEntry(i, entry.at(), entry.type(), entry.message())) - .collect(toUnmodifiableList()); + .toList(); List logged = new ArrayList<>(monsterLog); logged.remove(logged.size() - 1); logged.remove(logged.size() - 1); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java index cd8a9e72051..43ad01fc5c2 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java @@ -209,7 +209,7 @@ public class RotationRepositoryTest { } private static List rotationIds(List assignedRotations) { - return assignedRotations.stream().map(AssignedRotation::rotationId).collect(Collectors.toUnmodifiableList()); + return assignedRotations.stream().map(AssignedRotation::rotationId).toList(); } } diff --git a/hosted-api/src/main/java/ai/vespa/hosted/api/DeploymentLog.java b/hosted-api/src/main/java/ai/vespa/hosted/api/DeploymentLog.java index ea35732a7d6..b930fe7d10a 100644 --- a/hosted-api/src/main/java/ai/vespa/hosted/api/DeploymentLog.java +++ b/hosted-api/src/main/java/ai/vespa/hosted/api/DeploymentLog.java @@ -8,7 +8,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import static java.util.Comparator.comparing; -import static java.util.stream.Collectors.toUnmodifiableList; /** * A list of {@link Entry} items from a deployment job. @@ -23,7 +22,7 @@ public class DeploymentLog { private final OptionalLong last; public DeploymentLog(List entries, boolean active, Status status, OptionalLong last) { - this.entries = entries.stream().sorted(comparing(Entry::at)).collect(toUnmodifiableList()); + this.entries = entries.stream().sorted(comparing(Entry::at)).toList(); this.active = active; this.status = status; this.last = last; @@ -31,7 +30,7 @@ public class DeploymentLog { /** Returns this log updated with the content of the other. */ public DeploymentLog updatedWith(DeploymentLog other) { - return new DeploymentLog(Stream.concat(entries.stream(), other.entries.stream()).collect(toUnmodifiableList()), + return new DeploymentLog(Stream.concat(entries.stream(), other.entries.stream()).toList(), other.active, other.status, other.last); @@ -101,13 +100,13 @@ public class DeploymentLog { debug; public static Level of(String level) { - switch (level) { - case "error" : return error; - case "warning" : return warning; - case "info" : return info; - case "debug" : return debug; - default : return debug; - } + return switch (level) { + case "error" -> error; + case "warning" -> warning; + case "info" -> info; + case "debug" -> debug; + default -> debug; + }; } } diff --git a/http-client/src/main/java/ai/vespa/hosted/client/HttpClient.java b/http-client/src/main/java/ai/vespa/hosted/client/HttpClient.java index 4da887f0cbb..10ef20980e6 100644 --- a/http-client/src/main/java/ai/vespa/hosted/client/HttpClient.java +++ b/http-client/src/main/java/ai/vespa/hosted/client/HttpClient.java @@ -30,7 +30,6 @@ import java.util.stream.IntStream; import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Objects.requireNonNull; -import static java.util.stream.Collectors.toUnmodifiableList; /** * @author jonmv @@ -265,7 +264,7 @@ public interface HttpClient extends Closeable { /** Attempts each request against the host the specified number of times. */ static HostStrategy repeating(URI host, int count) { - return ordered(IntStream.range(0, count).mapToObj(__ -> host).collect(toUnmodifiableList())); + return ordered(IntStream.range(0, count).mapToObj(__ -> host).toList()); } } diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/application/BindingSet.java b/jdisc_core/src/main/java/com/yahoo/jdisc/application/BindingSet.java index 2f0a2806947..8a76f6f796d 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/application/BindingSet.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/application/BindingSet.java @@ -6,8 +6,6 @@ import java.util.Collection; import java.util.Iterator; import java.util.Map; -import static java.util.stream.Collectors.toUnmodifiableList; - /** *

This is an immutable set of ordered bindings from {@link UriPattern}s to some target type T. To create an instance * of this class, you must 1) create a {@link BindingRepository}, 2) configure it using the {@link @@ -69,7 +67,7 @@ public class BindingSet implements Iterable> { } private static Collection> sorted(Collection> unsorted) { - return unsorted.stream().sorted(Map.Entry.comparingByKey()).collect(toUnmodifiableList()); + return unsorted.stream().sorted(Map.Entry.comparingByKey()).toList(); } } diff --git a/messagebus/src/test/java/com/yahoo/messagebus/DynamicThrottlePolicyTest.java b/messagebus/src/test/java/com/yahoo/messagebus/DynamicThrottlePolicyTest.java index 8380c9d00ef..ee5c39f641b 100644 --- a/messagebus/src/test/java/com/yahoo/messagebus/DynamicThrottlePolicyTest.java +++ b/messagebus/src/test/java/com/yahoo/messagebus/DynamicThrottlePolicyTest.java @@ -17,7 +17,6 @@ import java.util.function.Consumer; import java.util.stream.Collectors; import java.util.stream.IntStream; -import static java.util.stream.Collectors.toUnmodifiableList; import static org.junit.jupiter.api.Assertions.assertTrue; /** @@ -307,7 +306,7 @@ public class DynamicThrottlePolicyTest { final int maximumTaskPerWorker; final int workerParallelism; final int[] currentTask; - final List>> outstandingTasks; + final List>> outstandingTasks; int pending = 0; MockServer(int workPerSuccess, int numberOfWorkers, int maximumTaskPerWorker, int workerParallelism) { @@ -318,7 +317,7 @@ public class DynamicThrottlePolicyTest { this.currentTask = new int[numberOfWorkers]; this.outstandingTasks = IntStream.range(0, numberOfWorkers) .mapToObj(__ -> new ArrayDeque>()) - .collect(toUnmodifiableList()); + .toList(); } void tick() { diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java index 77c8b80ca91..a097db2adba 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java @@ -26,7 +26,7 @@ public class ConfigServerInfo { this.configServerHostnameToUriMapper = hostname -> URI.create("https://" + hostname + ":4443"); this.configServerURIs = configServerHostNames.stream() .map(configServerHostnameToUriMapper) - .collect(Collectors.toUnmodifiableList()); + .toList(); } public List getConfigServerUris() { diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/image/ContainerImagePruner.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/image/ContainerImagePruner.java index 236a4d6718f..8fcd7893f64 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/image/ContainerImagePruner.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/image/ContainerImagePruner.java @@ -158,7 +158,7 @@ public class ContainerImagePruner { if (":".equals(tag)) return image.id(); return tag; }) - .collect(Collectors.toUnmodifiableList()); + .toList(); } } diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/container/ContainerEngineMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/container/ContainerEngineMock.java index 2d3a4976fe5..09590be42f8 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/container/ContainerEngineMock.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/container/ContainerEngineMock.java @@ -173,7 +173,7 @@ public class ContainerEngineMock implements ContainerEngine { return images.values().stream() .filter(ImageDownload::isComplete) .map(ImageDownload::image) - .collect(Collectors.toUnmodifiableList()); + .toList(); } private Container requireContainer(ContainerName name) { diff --git a/routing-generator/src/main/java/com/yahoo/vespa/hosted/routing/RoutingTable.java b/routing-generator/src/main/java/com/yahoo/vespa/hosted/routing/RoutingTable.java index de3207fda2e..7f9f04ed691 100644 --- a/routing-generator/src/main/java/com/yahoo/vespa/hosted/routing/RoutingTable.java +++ b/routing-generator/src/main/java/com/yahoo/vespa/hosted/routing/RoutingTable.java @@ -154,7 +154,7 @@ public class RoutingTable { this.instance = Objects.requireNonNull(instance); this.zone = Objects.requireNonNull(zone); this.cluster = Objects.requireNonNull(cluster); - this.reals = Objects.requireNonNull(reals).stream().sorted().collect(Collectors.toUnmodifiableList()); + this.reals = Objects.requireNonNull(reals).stream().sorted().toList(); for (int i = 0; i < reals.size(); i++) { for (int j = 0; j < i; j++) { if (reals.get(i).equals(reals.get(j))) { diff --git a/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java b/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java index c42d48b4821..452ab175862 100644 --- a/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java +++ b/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java @@ -36,7 +36,7 @@ public class ClusterList { private static List parse(ClusterListConfig config) { return config.storage().stream() .map(storage -> new ClusterDef(storage.name())) - .collect(Collectors.toUnmodifiableList()); + .toList(); } } -- cgit v1.2.3