From 63e64ae61b867d5309a3a999861b51bffb3bf730 Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Mon, 3 Jul 2023 14:24:57 +0200 Subject: [PATCH] Cleanup Stream usage in various spots (#97306) Lots of spots where we did weird things around streams like redundant stream creation, redundant collecting before adding all the collected elements to another collection or so, redundant streams for joining strings and using less efficient `Collectors.toList` and in a few cases also incorrectly relying on the result being mutable. --- .../precommit/LicenseHeadersTask.java | 9 +- .../internal/docker/DockerSupportService.java | 5 +- .../precommit/ForbiddenPatternsTask.java | 25 +-- .../precommit/JavaModulePrecommitTask.java | 3 +- .../precommit/SplitPackagesAuditTask.java | 3 +- .../TestingConventionsCheckTask.java | 8 +- .../internal/test/DistroTestPlugin.java | 11 +- .../rest/transform/RestTestTransformer.java | 4 +- .../AdoptiumJdkToolchainResolver.java | 5 +- .../internal/vagrant/VagrantBasePlugin.java | 2 +- .../internal/vagrant/VagrantShellTask.java | 3 +- .../elasticsearch/gradle/reaper/Reaper.java | 3 +- .../gradle/LazyPropertyList.java | 4 +- .../gradle/testclusters/RunTask.java | 2 +- .../testclusters/TestClustersAware.java | 2 +- .../client/benchmark/AbstractBenchmark.java | 3 +- .../org/elasticsearch/geoip/GeoIpCli.java | 7 +- .../server/cli/SystemJvmOptions.java | 5 +- .../provider/EmbeddedImplClassLoader.java | 2 +- .../provider/InMemoryModuleFinder.java | 4 +- .../elasticsearch/dissect/DissectParser.java | 1 - .../ssl/SslClientAuthenticationMode.java | 3 +- .../common/ssl/SslDiagnostics.java | 4 +- .../common/ssl/SslVerificationMode.java | 3 +- .../AutoDateHistogramAggregatorTests.java | 4 +- .../toxcontent/UserTreeToXContent.java | 8 +- .../join/mapper/ParentJoinFieldMapper.java | 3 +- .../percolator/QueryAnalyzer.java | 5 +- .../rankeval/DiscountedCumulativeGain.java | 7 +- ...nsportNodesReloadSecureSettingsAction.java | 2 +- ...ReservedComposableIndexTemplateAction.java | 13 +- .../xcontent/SuggestingErrorOnUnknown.java | 4 +- .../index/query/TermsQueryBuilder.java | 10 +- .../search/stats/ShardFieldUsageTracker.java | 2 +- .../index/translog/Translog.java | 3 +- .../elasticsearch/plugins/ModuleSupport.java | 4 +- .../search/aggregations/InternalOrder.java | 8 +- .../search/rescore/QueryRescorer.java | 6 +- .../cluster/node/DiscoveryNodesTests.java | 4 +- .../allocation/FailedNodeRoutingTests.java | 8 +- .../range/RangeAggregationBuilderTests.java | 2 +- .../java/fixture/azure/AzureHttpHandler.java | 3 +- .../CoordinationStateTestCluster.java | 8 +- .../blobstore/BlobStoreTestUtil.java | 8 +- .../snapshots/mockstore/MockRepository.java | 3 +- .../test/ESSingleNodeTestCase.java | 2 +- .../org/elasticsearch/test/VersionUtils.java | 7 +- .../test/rest/ESRestTestCase.java | 14 +- .../rest/yaml/ESClientYamlSuiteTestCase.java | 3 +- .../MovingPercentilesPipelineAggregator.java | 4 +- .../protocol/xpack/XPackInfoResponse.java | 3 +- .../core/ilm/PauseFollowerIndexStep.java | 3 +- .../xpack/core/ilm/PhaseCacheManagement.java | 2 +- .../xpack/core/ilm/SegmentCountStep.java | 2 +- .../core/ilm/WaitForFollowShardTasksStep.java | 2 +- .../trainedmodel/InferenceHelpers.java | 3 +- .../xpack/core/ml/job/config/Detector.java | 7 +- .../xpack/core/ml/utils/NameResolver.java | 3 +- .../core/rollup/action/RollableIndexCaps.java | 6 +- .../core/rollup/action/RollupJobCaps.java | 2 +- .../MountSearchableSnapshotRequest.java | 3 +- .../SearchableSnapshotShardStats.java | 3 +- .../privilege/PutPrivilegesRequest.java | 4 +- .../core/security/authc/Authentication.java | 6 +- .../DefaultAuthenticationFailureHandler.java | 6 +- .../security/authz/AuthorizationEngine.java | 3 +- .../permission/ResourcePrivilegesMap.java | 4 +- .../core/slm/SnapshotLifecycleStats.java | 2 +- .../slm/SnapshotRetentionConfiguration.java | 5 +- .../xpack/core/ssl/SSLService.java | 7 +- .../core/LocalStateCompositeXPackPlugin.java | 192 ++++++++---------- .../deprecation/DeprecationInfoAction.java | 4 +- .../deprecation/IndexDeprecationChecks.java | 3 +- .../deprecation/NodeDeprecationChecks.java | 30 ++- .../TransportDeprecationInfoAction.java | 4 +- .../xpack/eql/qa/mixed_node/EqlSearchIT.java | 2 +- .../xpack/eql/analysis/AnalysisUtils.java | 4 +- .../org/elasticsearch/xpack/fleet/Fleet.java | 7 +- .../action/TransportGetLifecycleAction.java | 2 +- .../action/TransportGetPipelineAction.java | 2 +- .../xpack/ml/MlInitializationService.java | 3 +- .../TransportGetTrainedModelsStatsAction.java | 2 +- .../ml/action/TransportOpenJobAction.java | 3 +- .../action/TransportSetUpgradeModeAction.java | 2 +- .../MlMemoryAutoscalingDecider.java | 23 +-- .../datafeed/DatafeedConfigAutoUpdater.java | 3 +- .../AbstractAggregationDataExtractor.java | 4 +- .../RollupDataExtractorFactory.java | 2 +- .../scroll/TimeBasedExtractedFields.java | 2 +- .../DataFrameAnalyticsConfigProvider.java | 3 +- .../assignment/planning/AssignmentPlan.java | 9 +- .../planning/ZoneAwareAssignmentPlanner.java | 4 +- .../OverallBucketsAggregator.java | 4 +- .../normalizer/BucketNormalizable.java | 10 +- ...ernalItemSetMapReduceAggregationTests.java | 6 +- .../xpack/ql/index/IndexResolver.java | 2 +- .../xpack/ql/type/DataTypes.java | 6 +- .../action/TransportRollupSearchAction.java | 2 +- .../PinnedQueryBuilder.java | 3 +- .../SearchableSnapshotsStatsResponse.java | 4 +- ...rchableSnapshotsNodeCachesStatsAction.java | 2 - ...actDocumentAndFieldLevelSecurityTests.java | 2 +- .../xpack/security/Security.java | 12 +- .../authc/ldap/support/LdapUtils.java | 4 +- .../authc/saml/SamlMetadataCommand.java | 2 +- .../authc/service/ElasticServiceAccounts.java | 5 +- .../filter/SecurityIpFilterRule.java | 2 +- .../authc/saml/SamlMetadataCommandTests.java | 2 +- .../security/authc/saml/SamlRealmTests.java | 2 +- .../structurefinder/FieldStatsCalculator.java | 3 +- .../TimestampFormatFinder.java | 2 +- .../TransportGetTransformStatsAction.java | 7 +- .../action/TransportStopTransformAction.java | 2 +- .../pivot/AggregationResultUtils.java | 17 +- .../elasticsearch/xpack/watcher/Watcher.java | 6 +- .../trigger/schedule/ScheduleRegistry.java | 2 +- .../xpack/test/rest/XPackRestTestHelper.java | 2 +- 117 files changed, 321 insertions(+), 442 deletions(-) diff --git a/build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/precommit/LicenseHeadersTask.java b/build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/precommit/LicenseHeadersTask.java index 58cb62b7a446..76b117f8f530 100644 --- a/build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/precommit/LicenseHeadersTask.java +++ b/build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/precommit/LicenseHeadersTask.java @@ -50,15 +50,11 @@ import java.io.Writer; import java.nio.file.Files; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; import javax.inject.Inject; import java.io.Serializable; -import javax.inject.Inject; - /** * Checks files for license headers.. */ @@ -193,9 +189,8 @@ public abstract class LicenseHeadersTask extends DefaultTask { boolean unApprovedLicenses = stats.getNumUnApproved() > 0; if (unknownLicenses || unApprovedLicenses) { getLogger().error("The following files contain unapproved license headers:"); - unapprovedFiles(repFile).stream().forEachOrdered(unapprovedFile -> getLogger().error(unapprovedFile)); - throw new GradleException("Check failed. License header problems were found. Full details: " + - repFile.getAbsolutePath()); + unapprovedFiles(repFile).forEach(getLogger()::error); + throw new GradleException("Check failed. License header problems were found. Full details: " + repFile.getAbsolutePath()); } } diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerSupportService.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerSupportService.java index 0922ce0437e3..99c993055cf5 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerSupportService.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerSupportService.java @@ -34,6 +34,7 @@ import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.inject.Inject; @@ -287,7 +288,7 @@ public abstract class DockerSupportService implements BuildService getDockerPath() { // Check if the Docker binary exists - return List.of(DOCKER_BINARIES).stream().filter(path -> new File(path).exists()).findFirst(); + return Stream.of(DOCKER_BINARIES).filter(path -> new File(path).exists()).findFirst(); } /** @@ -298,7 +299,7 @@ public abstract class DockerSupportService implements BuildService getDockerComposePath() { // Check if the Docker binary exists - return List.of(DOCKER_COMPOSE_BINARIES).stream().filter(path -> new File(path).exists()).findFirst(); + return Stream.of(DOCKER_COMPOSE_BINARIES).filter(path -> new File(path).exists()).findFirst(); } private void throwDockerRequiredException(final String message) { diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/ForbiddenPatternsTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/ForbiddenPatternsTask.java index abb933d14278..b5582e4acf14 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/ForbiddenPatternsTask.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/ForbiddenPatternsTask.java @@ -114,24 +114,19 @@ public abstract class ForbiddenPatternsTask extends DefaultTask { } catch (UncheckedIOException e) { throw new IllegalArgumentException("Failed to read " + f + " as UTF_8", e); } - List invalidLines = IntStream.range(0, lines.size()) - .filter(i -> allPatterns.matcher(lines.get(i)).find()) - .boxed() - .collect(Collectors.toList()); URI baseUri = getRootDir().orElse(projectLayout.getProjectDirectory().getAsFile()).get().toURI(); String path = baseUri.relativize(f.toURI()).toString(); - failures.addAll( - invalidLines.stream() - .map(l -> new AbstractMap.SimpleEntry<>(l + 1, lines.get(l))) - .flatMap( - kv -> patterns.entrySet() - .stream() - .filter(p -> Pattern.compile(p.getValue()).matcher(kv.getValue()).find()) - .map(p -> "- " + p.getKey() + " on line " + kv.getKey() + " of " + path) - ) - .collect(Collectors.toList()) - ); + IntStream.range(0, lines.size()) + .filter(i -> allPatterns.matcher(lines.get(i)).find()) + .mapToObj(l -> new AbstractMap.SimpleEntry<>(l + 1, lines.get(l))) + .flatMap( + kv -> patterns.entrySet() + .stream() + .filter(p -> Pattern.compile(p.getValue()).matcher(kv.getValue()).find()) + .map(p -> "- " + p.getKey() + " on line " + kv.getKey() + " of " + path) + ) + .forEach(failures::add); } if (failures.isEmpty() == false) { throw new GradleException("Found invalid patterns:\n" + String.join("\n", failures)); diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/JavaModulePrecommitTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/JavaModulePrecommitTask.java index 14f6461aba7c..cee10cf70b19 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/JavaModulePrecommitTask.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/JavaModulePrecommitTask.java @@ -159,8 +159,7 @@ public class JavaModulePrecommitTask extends PrecommitTask { return ModuleFinder.of(filePath.toPath()) .findAll() .stream() - .sorted(Comparator.comparing(ModuleReference::descriptor)) - .findFirst() + .min(Comparator.comparing(ModuleReference::descriptor)) .orElseThrow(() -> new GradleException("module not found in " + filePath)); } } diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/SplitPackagesAuditTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/SplitPackagesAuditTask.java index b93862384580..ec279589a6be 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/SplitPackagesAuditTask.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/SplitPackagesAuditTask.java @@ -48,7 +48,6 @@ import java.util.Map; import java.util.Set; import java.util.TreeSet; import java.util.function.Consumer; -import java.util.stream.Collectors; import javax.inject.Inject; @@ -234,7 +233,7 @@ public class SplitPackagesAuditTask extends DefaultTask { String lastPackageName = null; Set currentClasses = null; boolean filterErrorsFound = false; - for (String fqcn : getParameters().getIgnoreClasses().get().stream().sorted().collect(Collectors.toList())) { + for (String fqcn : getParameters().getIgnoreClasses().get().stream().sorted().toList()) { int lastDot = fqcn.lastIndexOf('.'); if (lastDot == -1) { LOGGER.error("Missing package in classname in split package ignores: " + fqcn); diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/TestingConventionsCheckTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/TestingConventionsCheckTask.java index de800f0ff9a1..87f15351c156 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/TestingConventionsCheckTask.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/TestingConventionsCheckTask.java @@ -38,6 +38,7 @@ import java.util.Arrays; import java.util.List; import java.util.function.Predicate; import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.inject.Inject; @@ -128,7 +129,7 @@ public abstract class TestingConventionsCheckTask extends PrecommitTask { var mismatchingBaseClasses = testClassesCandidate.stream() .filter(testClassDefaultPredicate) .filter(TestingConventionsCheckWorkAction::seemsLikeATest) - .collect(Collectors.toList()); + .toList(); if (mismatchingBaseClasses.isEmpty() == false) { throw new GradleException( "Following test classes do not extend any supported base class:\n\t" @@ -141,7 +142,7 @@ public abstract class TestingConventionsCheckTask extends PrecommitTask { // ensure base class matching do match suffix var matchingBaseClassNotMatchingSuffix = matchingBaseClass.stream() .filter(c -> suffixes.stream().allMatch(s -> c.getName().endsWith(s) == false)) - .collect(Collectors.toList()); + .toList(); if (matchingBaseClassNotMatchingSuffix.isEmpty() == false) { throw new GradleException( "Following test classes do not match naming convention to use suffix " @@ -202,8 +203,7 @@ public abstract class TestingConventionsCheckTask extends PrecommitTask { } private static boolean isAnnotated(Method method, Class annotation) { - return List.of(method.getAnnotations()) - .stream() + return Stream.of(method.getAnnotations()) .anyMatch(presentAnnotation -> annotation.isAssignableFrom(presentAnnotation.getClass())); } diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java index e900eaada4c2..ada263853c07 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java @@ -389,12 +389,11 @@ public class DistroTestPlugin implements Plugin { List currentDistros = new ArrayList<>(); for (Architecture architecture : Architecture.values()) { - ALL_INTERNAL.stream() - .forEach( - type -> currentDistros.add( - createDistro(distributions, architecture, type, null, true, VersionProperties.getElasticsearch()) - ) - ); + ALL_INTERNAL.forEach( + type -> currentDistros.add( + createDistro(distributions, architecture, type, null, true, VersionProperties.getElasticsearch()) + ) + ); } for (Architecture architecture : Architecture.values()) { diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/transform/RestTestTransformer.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/transform/RestTestTransformer.java index 4645d895ad97..7237e3ce27ce 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/transform/RestTestTransformer.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/transform/RestTestTransformer.java @@ -38,13 +38,13 @@ public class RestTestTransformer { List setupTransforms = transformations.stream() .filter(transform -> transform instanceof RestTestTransformGlobalSetup) .map(transform -> (RestTestTransformGlobalSetup) transform) - .collect(Collectors.toList()); + .toList(); // Collect any global teardown transformations List teardownTransforms = transformations.stream() .filter(transform -> transform instanceof RestTestTransformGlobalTeardown) .map(transform -> (RestTestTransformGlobalTeardown) transform) - .collect(Collectors.toList()); + .toList(); // Collect any transformations that are identified by an object key. Map> objectKeyFinders = transformations.stream() diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/toolchain/AdoptiumJdkToolchainResolver.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/toolchain/AdoptiumJdkToolchainResolver.java index 1dd8b0b9d9e2..bddf95cae77d 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/toolchain/AdoptiumJdkToolchainResolver.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/toolchain/AdoptiumJdkToolchainResolver.java @@ -75,9 +75,8 @@ public abstract class AdoptiumJdkToolchainResolver extends AbstractCustomJavaToo return Optional.of( Lists.newArrayList(versionsNode.iterator()) .stream() - .map(node -> toVersionInfo(node)) - .sorted(Comparator.comparing(AdoptiumVersionInfo::semver).reversed()) - .findFirst() + .map(this::toVersionInfo) + .max(Comparator.comparing(AdoptiumVersionInfo::semver)) .get() ); } catch (FileNotFoundException e) { diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantBasePlugin.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantBasePlugin.java index 10fe51bbef72..b7b4d20d51f5 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantBasePlugin.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantBasePlugin.java @@ -89,7 +89,7 @@ public class VagrantBasePlugin implements Plugin { } String version = matcher.group(1); - List versionParts = Stream.of(version.split("\\.")).map(Integer::parseInt).collect(Collectors.toList()); + List versionParts = Stream.of(version.split("\\.")).map(Integer::parseInt).toList(); for (int i = 0; i < minVersion.length; ++i) { int found = versionParts.get(i); if (found > minVersion[i]) { diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantShellTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantShellTask.java index 1a26a4897d7c..8c2bd05a9593 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantShellTask.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantShellTask.java @@ -17,7 +17,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.UnaryOperator; -import java.util.stream.Collectors; import static org.elasticsearch.gradle.internal.vagrant.VagrantMachine.convertLinuxPath; import static org.elasticsearch.gradle.internal.vagrant.VagrantMachine.convertWindowsPath; @@ -71,7 +70,7 @@ public abstract class VagrantShellTask extends DefaultTask { script.add("try {"); script.add("cd " + convertWindowsPath(buildLayout.getRootDirectory(), buildLayout.getRootDirectory().toString())); extension.getVmEnv().forEach((k, v) -> script.add("$Env:" + k + " = \"" + v + "\"")); - script.addAll(getWindowsScript().stream().map(s -> " " + s).collect(Collectors.toList())); + script.addAll(getWindowsScript().stream().map(s -> " " + s).toList()); script.addAll( Arrays.asList( " exit $LASTEXITCODE", diff --git a/build-tools/reaper/src/main/java/org/elasticsearch/gradle/reaper/Reaper.java b/build-tools/reaper/src/main/java/org/elasticsearch/gradle/reaper/Reaper.java index e6c5b61e0a76..c2adaf59ead1 100644 --- a/build-tools/reaper/src/main/java/org/elasticsearch/gradle/reaper/Reaper.java +++ b/build-tools/reaper/src/main/java/org/elasticsearch/gradle/reaper/Reaper.java @@ -16,7 +16,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Comparator; import java.util.List; -import java.util.stream.Collectors; import java.util.stream.Stream; /** @@ -62,7 +61,7 @@ public class Reaper implements Closeable { private void reap() { try (Stream stream = Files.list(inputDir)) { - final List inputFiles = stream.filter(p -> p.getFileName().toString().endsWith(".cmd")).collect(Collectors.toList()); + final List inputFiles = stream.filter(p -> p.getFileName().toString().endsWith(".cmd")).toList(); for (Path inputFile : inputFiles) { System.out.println("Process file: " + inputFile); diff --git a/build-tools/src/main/java/org/elasticsearch/gradle/LazyPropertyList.java b/build-tools/src/main/java/org/elasticsearch/gradle/LazyPropertyList.java index d901d78be882..f44e3ea2979c 100644 --- a/build-tools/src/main/java/org/elasticsearch/gradle/LazyPropertyList.java +++ b/build-tools/src/main/java/org/elasticsearch/gradle/LazyPropertyList.java @@ -56,7 +56,7 @@ public class LazyPropertyList extends AbstractLazyPropertyCollection implemen @Override public T1[] toArray(T1[] a) { - return delegate.stream().peek(this::validate).map(PropertyListEntry::getValue).collect(Collectors.toList()).toArray(a); + return delegate.stream().peek(this::validate).map(PropertyListEntry::getValue).toList().toArray(a); } @Override @@ -79,7 +79,7 @@ public class LazyPropertyList extends AbstractLazyPropertyCollection implemen @Override public boolean containsAll(Collection c) { - return delegate.stream().map(PropertyListEntry::getValue).collect(Collectors.toList()).containsAll(c); + return delegate.stream().map(PropertyListEntry::getValue).collect(Collectors.toSet()).containsAll(c); } @Override diff --git a/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/RunTask.java b/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/RunTask.java index 424043c75240..d0b2581895db 100644 --- a/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/RunTask.java +++ b/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/RunTask.java @@ -136,7 +136,7 @@ public class RunTask extends DefaultTestClustersTask { entry -> entry.getValue().toString() ) ); - boolean singleNode = getClusters().stream().flatMap(c -> c.getNodes().stream()).count() == 1; + boolean singleNode = getClusters().stream().mapToLong(c -> c.getNodes().size()).sum() == 1; final Function getDataPath; if (singleNode) { getDataPath = n -> dataDir; diff --git a/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/TestClustersAware.java b/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/TestClustersAware.java index 18f88b0dc4af..9537162b5d10 100644 --- a/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/TestClustersAware.java +++ b/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/TestClustersAware.java @@ -26,7 +26,7 @@ public interface TestClustersAware extends Task { } cluster.getNodes() - .all(node -> node.getDistributions().stream().forEach(distro -> dependsOn(getProject().provider(() -> distro.maybeFreeze())))); + .all(node -> node.getDistributions().forEach(distro -> dependsOn(getProject().provider(() -> distro.maybeFreeze())))); cluster.getNodes().all(node -> dependsOn((Callable>) node::getPluginAndModuleConfigurations)); getClusters().add(cluster); } diff --git a/client/benchmark/src/main/java/org/elasticsearch/client/benchmark/AbstractBenchmark.java b/client/benchmark/src/main/java/org/elasticsearch/client/benchmark/AbstractBenchmark.java index 92f6e61636f5..6218b4d9a0d3 100644 --- a/client/benchmark/src/main/java/org/elasticsearch/client/benchmark/AbstractBenchmark.java +++ b/client/benchmark/src/main/java/org/elasticsearch/client/benchmark/AbstractBenchmark.java @@ -18,7 +18,6 @@ import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; public abstract class AbstractBenchmark { private static final int SEARCH_BENCHMARK_ITERATIONS = 10_000; @@ -92,7 +91,7 @@ public abstract class AbstractBenchmark { String benchmarkTargetHost = args[1]; String indexName = args[2]; String searchBody = args[3]; - List throughputRates = Arrays.asList(args[4].split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()); + List throughputRates = Arrays.stream(args[4].split(",")).map(Integer::valueOf).toList(); T client = client(benchmarkTargetHost); diff --git a/distribution/tools/geoip-cli/src/main/java/org/elasticsearch/geoip/GeoIpCli.java b/distribution/tools/geoip-cli/src/main/java/org/elasticsearch/geoip/GeoIpCli.java index 2327b9e2235d..8aea17585a5a 100644 --- a/distribution/tools/geoip-cli/src/main/java/org/elasticsearch/geoip/GeoIpCli.java +++ b/distribution/tools/geoip-cli/src/main/java/org/elasticsearch/geoip/GeoIpCli.java @@ -33,7 +33,6 @@ import java.security.DigestInputStream; import java.security.MessageDigest; import java.util.Arrays; import java.util.Locale; -import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.zip.GZIPOutputStream; @@ -74,7 +73,7 @@ public class GeoIpCli extends Command { return; } try (Stream files = Files.list(source)) { - for (Path path : files.filter(p -> p.getFileName().toString().endsWith(".tgz")).collect(Collectors.toList())) { + for (Path path : files.filter(p -> p.getFileName().toString().endsWith(".tgz")).toList()) { Files.copy(path, target.resolve(path.getFileName()), StandardCopyOption.REPLACE_EXISTING); } } @@ -82,7 +81,7 @@ public class GeoIpCli extends Command { private void packDatabasesToTgz(Terminal terminal, Path source, Path target) throws IOException { try (Stream files = Files.list(source)) { - for (Path path : files.filter(p -> p.getFileName().toString().endsWith(".mmdb")).collect(Collectors.toList())) { + for (Path path : files.filter(p -> p.getFileName().toString().endsWith(".mmdb")).toList()) { String fileName = path.getFileName().toString(); Path compressedPath = target.resolve(fileName.replaceAll("mmdb$", "") + "tgz"); terminal.println("Found " + fileName + ", will compress it to " + compressedPath.getFileName()); @@ -111,7 +110,7 @@ public class GeoIpCli extends Command { XContentGenerator generator = XContentType.JSON.xContent().createGenerator(os) ) { generator.writeStartArray(); - for (Path db : files.filter(p -> p.getFileName().toString().endsWith(".tgz")).collect(Collectors.toList())) { + for (Path db : files.filter(p -> p.getFileName().toString().endsWith(".tgz")).toList()) { terminal.println("Adding " + db.getFileName() + " to overview.json"); MessageDigest md5 = MessageDigests.md5(); try (InputStream dis = new DigestInputStream(new BufferedInputStream(Files.newInputStream(db)), md5)) { diff --git a/distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/SystemJvmOptions.java b/distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/SystemJvmOptions.java index 88a5727bc0b7..a55a303517d6 100644 --- a/distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/SystemJvmOptions.java +++ b/distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/SystemJvmOptions.java @@ -10,11 +10,12 @@ package org.elasticsearch.server.cli; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; final class SystemJvmOptions { static List systemJvmOptions() { - return List.of( + return Stream.of( /* * Cache ttl in seconds for positive DNS lookups noting that this overrides the JDK security property networkaddress.cache.ttl; * can be set to -1 to cache forever. @@ -61,7 +62,7 @@ final class SystemJvmOptions { */ "--add-opens=java.base/java.io=org.elasticsearch.preallocate", maybeOverrideDockerCgroup() - ).stream().filter(e -> e.isEmpty() == false).collect(Collectors.toList()); + ).filter(e -> e.isEmpty() == false).collect(Collectors.toList()); } /* diff --git a/libs/core/src/main/java/org/elasticsearch/core/internal/provider/EmbeddedImplClassLoader.java b/libs/core/src/main/java/org/elasticsearch/core/internal/provider/EmbeddedImplClassLoader.java index e9e4a7760b99..134170f52ee1 100644 --- a/libs/core/src/main/java/org/elasticsearch/core/internal/provider/EmbeddedImplClassLoader.java +++ b/libs/core/src/main/java/org/elasticsearch/core/internal/provider/EmbeddedImplClassLoader.java @@ -108,7 +108,7 @@ public final class EmbeddedImplClassLoader extends SecureClassLoader { .collect(toUnmodifiableMap(k -> k.getKey().prefix(), Map.Entry::getValue)); Map map = new HashMap<>(); for (var jarMeta : prefixToCodeBase.keySet()) { - jarMeta.packages().stream().forEach(pkg -> { + jarMeta.packages().forEach(pkg -> { var prev = map.put(pkg, jarMeta); assert prev == null; }); diff --git a/libs/core/src/main/java/org/elasticsearch/core/internal/provider/InMemoryModuleFinder.java b/libs/core/src/main/java/org/elasticsearch/core/internal/provider/InMemoryModuleFinder.java index aa7858ec206b..f9c399e9522b 100644 --- a/libs/core/src/main/java/org/elasticsearch/core/internal/provider/InMemoryModuleFinder.java +++ b/libs/core/src/main/java/org/elasticsearch/core/internal/provider/InMemoryModuleFinder.java @@ -72,8 +72,8 @@ class InMemoryModuleFinder implements ModuleFinder { md.requires().stream().filter(req -> missingModules.contains(req.name()) == false).forEach(builder::requires); md.exports().forEach(builder::exports); md.opens().forEach(builder::opens); - md.provides().stream().forEach(builder::provides); - md.uses().stream().forEach(builder::uses); + md.provides().forEach(builder::provides); + md.uses().forEach(builder::uses); builder.packages(md.packages()); return builder.build(); } diff --git a/libs/dissect/src/main/java/org/elasticsearch/dissect/DissectParser.java b/libs/dissect/src/main/java/org/elasticsearch/dissect/DissectParser.java index 147efc65099c..f3f53f1b3c5e 100644 --- a/libs/dissect/src/main/java/org/elasticsearch/dissect/DissectParser.java +++ b/libs/dissect/src/main/java/org/elasticsearch/dissect/DissectParser.java @@ -129,7 +129,6 @@ public final class DissectParser { Set appendKeyNames = dissectPairs.stream() .filter(dissectPair -> APPEND_MODIFIERS.contains(dissectPair.key().getModifier())) .map(KEY_NAME) - .distinct() .collect(Collectors.toSet()); if (appendKeyNames.size() > 0) { List modifiedMatchPairs = new ArrayList<>(dissectPairs.size()); diff --git a/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslClientAuthenticationMode.java b/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslClientAuthenticationMode.java index 05b464934523..03754caf5804 100644 --- a/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslClientAuthenticationMode.java +++ b/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslClientAuthenticationMode.java @@ -11,7 +11,6 @@ import java.util.Collections; import java.util.LinkedHashMap; import java.util.Locale; import java.util.Map; -import java.util.stream.Collectors; import javax.net.ssl.SSLParameters; @@ -82,7 +81,7 @@ public enum SslClientAuthenticationMode { public static SslClientAuthenticationMode parse(String value) { final SslClientAuthenticationMode mode = LOOKUP.get(value.toLowerCase(Locale.ROOT)); if (mode == null) { - final String allowedValues = LOOKUP.keySet().stream().collect(Collectors.joining(",")); + final String allowedValues = String.join(",", LOOKUP.keySet()); throw new SslConfigException( "could not resolve ssl client authentication, unknown value [" + value + "], recognised values are [" + allowedValues + "]" ); diff --git a/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslDiagnostics.java b/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslDiagnostics.java index b2fc59d69768..e3fb59f79b41 100644 --- a/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslDiagnostics.java +++ b/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslDiagnostics.java @@ -236,9 +236,7 @@ public class SslDiagnostics { if (hostnames.isEmpty()) { message.append("; the certificate does not have any DNS/IP subject alternative names"); } else { - message.append("; the certificate has subject alternative names [") - .append(hostnames.stream().collect(Collectors.joining(","))) - .append("]"); + message.append("; the certificate has subject alternative names [").append(String.join(",", hostnames)).append("]"); } } } catch (CertificateParsingException e) { diff --git a/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslVerificationMode.java b/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslVerificationMode.java index 9b0f93c8360f..1329ca276d67 100644 --- a/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslVerificationMode.java +++ b/libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslVerificationMode.java @@ -11,7 +11,6 @@ import java.util.Collections; import java.util.LinkedHashMap; import java.util.Locale; import java.util.Map; -import java.util.stream.Collectors; /** * Represents the verification mode to be used for SSL connections. @@ -84,7 +83,7 @@ public enum SslVerificationMode { public static SslVerificationMode parse(String value) { final SslVerificationMode mode = LOOKUP.get(value.toLowerCase(Locale.ROOT)); if (mode == null) { - final String allowedValues = LOOKUP.keySet().stream().collect(Collectors.joining(",")); + final String allowedValues = String.join(",", LOOKUP.keySet()); throw new SslConfigException( "could not resolve ssl client verification mode, unknown value [" + value diff --git a/modules/aggregations/src/test/java/org/elasticsearch/aggregations/bucket/histogram/AutoDateHistogramAggregatorTests.java b/modules/aggregations/src/test/java/org/elasticsearch/aggregations/bucket/histogram/AutoDateHistogramAggregatorTests.java index d0e9b1ccd28e..c8e6be2587a0 100644 --- a/modules/aggregations/src/test/java/org/elasticsearch/aggregations/bucket/histogram/AutoDateHistogramAggregatorTests.java +++ b/modules/aggregations/src/test/java/org/elasticsearch/aggregations/bucket/histogram/AutoDateHistogramAggregatorTests.java @@ -1072,7 +1072,7 @@ public class AutoDateHistogramAggregatorTests extends DateHistogramAggregatorTes private Map bucketCountsAsMap(InternalAutoDateHistogram result) { Map map = Maps.newLinkedHashMapWithExpectedSize(result.getBuckets().size()); - result.getBuckets().stream().forEach(b -> { + result.getBuckets().forEach(b -> { Object old = map.put(b.getKeyAsString(), Math.toIntExact(b.getDocCount())); assertNull(old); }); @@ -1081,7 +1081,7 @@ public class AutoDateHistogramAggregatorTests extends DateHistogramAggregatorTes private Map maxAsMap(InternalAutoDateHistogram result) { Map map = Maps.newLinkedHashMapWithExpectedSize(result.getBuckets().size()); - result.getBuckets().stream().forEach(b -> { + result.getBuckets().forEach(b -> { Max max = b.getAggregations().get("max"); Object old = map.put(b.getKeyAsString(), max.value()); assertNull(old); diff --git a/modules/lang-painless/src/main/java/org/elasticsearch/painless/toxcontent/UserTreeToXContent.java b/modules/lang-painless/src/main/java/org/elasticsearch/painless/toxcontent/UserTreeToXContent.java index e77174e0f469..2756419e68e1 100644 --- a/modules/lang-painless/src/main/java/org/elasticsearch/painless/toxcontent/UserTreeToXContent.java +++ b/modules/lang-painless/src/main/java/org/elasticsearch/painless/toxcontent/UserTreeToXContent.java @@ -670,14 +670,10 @@ public class UserTreeToXContent extends UserTreeBaseVisitor { if (decorations.isEmpty() == false) { builder.startArray(Fields.DECORATIONS); - List> dkeys = decorations.keySet() + decorations.keySet() .stream() .sorted(Comparator.comparing(Class::getName)) - .collect(Collectors.toList()); - - for (Class dkey : dkeys) { - DecorationToXContent.ToXContent(decorations.get(dkey), builder); - } + .forEachOrdered(dkey -> DecorationToXContent.ToXContent(decorations.get(dkey), builder)); builder.endArray(); } } diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java index 8a7f6fd8ae96..c04a4b0db77d 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java @@ -45,7 +45,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; -import java.util.stream.Collectors; /** * A {@link FieldMapper} that creates hierarchical joins (parent-join) between documents in the same index. @@ -324,7 +323,7 @@ public final class ParentJoinFieldMapper extends FieldMapper { .map(mappingLookup::getFieldType) .filter(ft -> ft instanceof JoinFieldType) .map(MappedFieldType::name) - .collect(Collectors.toList()); + .toList(); if (joinFields.size() > 1) { throw new IllegalArgumentException("Only one [parent-join] field can be defined per index, got " + joinFields); } diff --git a/modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java b/modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java index 7caad5976cde..84fb889c6dd5 100644 --- a/modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java +++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java @@ -125,8 +125,7 @@ final class QueryAnalyzer { partialResults.addAll(terms); } if (children.isEmpty() == false) { - List childResults = children.stream().map(ResultBuilder::getResult).collect(Collectors.toList()); - partialResults.addAll(childResults); + children.stream().map(ResultBuilder::getResult).forEach(partialResults::add); } if (partialResults.isEmpty()) { return verified ? Result.MATCH_NONE : Result.UNKNOWN; @@ -243,7 +242,7 @@ final class QueryAnalyzer { } private static Result handleConjunction(List conjunctionsWithUnknowns) { - List conjunctions = conjunctionsWithUnknowns.stream().filter(r -> r.isUnknown() == false).collect(Collectors.toList()); + List conjunctions = conjunctionsWithUnknowns.stream().filter(r -> r.isUnknown() == false).toList(); if (conjunctions.isEmpty()) { if (conjunctionsWithUnknowns.isEmpty()) { throw new IllegalArgumentException("Must have at least one conjunction sub result"); diff --git a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGain.java b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGain.java index 6275a4f87d5e..6b57acb8589a 100644 --- a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGain.java +++ b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGain.java @@ -19,7 +19,6 @@ import org.elasticsearch.xcontent.XContentParser; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.List; import java.util.Objects; import java.util.OptionalInt; @@ -133,8 +132,10 @@ public class DiscountedCumulativeGain implements EvaluationMetric { double idcg = 0; if (normalize) { - List allRatings = ratedDocs.stream().mapToInt(RatedDocument::getRating).boxed().collect(Collectors.toList()); - Collections.sort(allRatings, Comparator.nullsLast(Collections.reverseOrder())); + List allRatings = ratedDocs.stream() + .map(RatedDocument::getRating) + .sorted(Collections.reverseOrder()) + .collect(Collectors.toList()); idcg = computeDCG(allRatings.subList(0, Math.min(ratingsInSearchHits.size(), allRatings.size()))); if (idcg != 0) { result = dcg / idcg; diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/node/reload/TransportNodesReloadSecureSettingsAction.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/node/reload/TransportNodesReloadSecureSettingsAction.java index a5944e39fc5e..079a12a806a2 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/node/reload/TransportNodesReloadSecureSettingsAction.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/node/reload/TransportNodesReloadSecureSettingsAction.java @@ -126,7 +126,7 @@ public class TransportNodesReloadSecureSettingsAction extends TransportNodesActi final Settings settingsWithKeystore = Settings.builder().put(environment.settings(), false).setSecureSettings(keystore).build(); final List exceptions = new ArrayList<>(); // broadcast the new settings object (with the open embedded keystore) to all reloadable plugins - pluginsService.filterPlugins(ReloadablePlugin.class).stream().forEach(p -> { + pluginsService.filterPlugins(ReloadablePlugin.class).forEach(p -> { try { p.reload(settingsWithKeystore); } catch (final Exception e) { diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/template/reservedstate/ReservedComposableIndexTemplateAction.java b/server/src/main/java/org/elasticsearch/action/admin/indices/template/reservedstate/ReservedComposableIndexTemplateAction.java index 8b16f983048f..7f3e05891657 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/template/reservedstate/ReservedComposableIndexTemplateAction.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/template/reservedstate/ReservedComposableIndexTemplateAction.java @@ -24,7 +24,6 @@ import org.elasticsearch.xcontent.XContentParserConfiguration; import java.io.IOException; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -166,10 +165,10 @@ public class ReservedComposableIndexTemplateAction } Set composableEntities = composables.stream().map(r -> reservedComposableIndexName(r.name())).collect(Collectors.toSet()); - Set composablesToDelete = new HashSet<>( - prevState.keys().stream().filter(k -> k.startsWith(COMPOSABLE_PREFIX)).collect(Collectors.toSet()) - ); - composablesToDelete.removeAll(composableEntities); + Set composablesToDelete = prevState.keys() + .stream() + .filter(k -> k.startsWith(COMPOSABLE_PREFIX) && composableEntities.contains(k) == false) + .collect(Collectors.toSet()); // 3. delete composable index templates (this will fail on attached data streams, unless we added a higher priority one) if (composablesToDelete.isEmpty() == false) { @@ -183,9 +182,7 @@ public class ReservedComposableIndexTemplateAction } Set componentEntities = components.stream().map(r -> reservedComponentName(r.name())).collect(Collectors.toSet()); - Set componentsToDelete = new HashSet<>( - prevState.keys().stream().filter(k -> k.startsWith(COMPONENT_PREFIX)).collect(Collectors.toSet()) - ); + Set componentsToDelete = prevState.keys().stream().filter(k -> k.startsWith(COMPONENT_PREFIX)).collect(Collectors.toSet()); componentsToDelete.removeAll(componentEntities); // 5. delete component templates (this will check if there are any related composable index templates and fail) diff --git a/server/src/main/java/org/elasticsearch/common/xcontent/SuggestingErrorOnUnknown.java b/server/src/main/java/org/elasticsearch/common/xcontent/SuggestingErrorOnUnknown.java index 17ac0e6a7c06..00af25ed5b95 100644 --- a/server/src/main/java/org/elasticsearch/common/xcontent/SuggestingErrorOnUnknown.java +++ b/server/src/main/java/org/elasticsearch/common/xcontent/SuggestingErrorOnUnknown.java @@ -17,8 +17,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; -import static java.util.stream.Collectors.toList; - public class SuggestingErrorOnUnknown implements ErrorOnUnknown { @Override public String errorMessage(String parserName, String unknownField, Iterable candidates) { @@ -55,7 +53,7 @@ public class SuggestingErrorOnUnknown implements ErrorOnUnknown { } return a.v2().compareTo(b.v2()); }); - List keys = scored.stream().map(Tuple::v2).collect(toList()); + List keys = scored.stream().map(Tuple::v2).toList(); StringBuilder builder = new StringBuilder(" did you mean "); if (keys.size() == 1) { builder.append("[").append(keys.get(0)).append("]"); diff --git a/server/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java index b0b56ff58d37..7fa50386fcc8 100644 --- a/server/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java @@ -97,7 +97,7 @@ public class TermsQueryBuilder extends AbstractQueryBuilder { * @param values The terms */ public TermsQueryBuilder(String fieldName, int... values) { - this(fieldName, values != null ? Arrays.stream(values).mapToObj(s -> s).toList() : (Iterable) null); + this(fieldName, values != null ? Arrays.stream(values).boxed().toList() : null); } /** @@ -107,7 +107,7 @@ public class TermsQueryBuilder extends AbstractQueryBuilder { * @param values The terms */ public TermsQueryBuilder(String fieldName, long... values) { - this(fieldName, values != null ? Arrays.stream(values).mapToObj(s -> s).toList() : (Iterable) null); + this(fieldName, values != null ? Arrays.stream(values).boxed().toList() : null); } /** @@ -117,7 +117,7 @@ public class TermsQueryBuilder extends AbstractQueryBuilder { * @param values The terms */ public TermsQueryBuilder(String fieldName, float... values) { - this(fieldName, values != null ? IntStream.range(0, values.length).mapToObj(i -> values[i]).toList() : (Iterable) null); + this(fieldName, values != null ? IntStream.range(0, values.length).mapToObj(i -> values[i]).toList() : null); } /** @@ -127,7 +127,7 @@ public class TermsQueryBuilder extends AbstractQueryBuilder { * @param values The terms */ public TermsQueryBuilder(String fieldName, double... values) { - this(fieldName, values != null ? Arrays.stream(values).mapToObj(s -> s).toList() : (Iterable) null); + this(fieldName, values != null ? Arrays.stream(values).boxed().toList() : null); } /** @@ -137,7 +137,7 @@ public class TermsQueryBuilder extends AbstractQueryBuilder { * @param values The terms */ public TermsQueryBuilder(String fieldName, Object... values) { - this(fieldName, values != null ? Arrays.asList(values) : (Iterable) null); + this(fieldName, values != null ? Arrays.asList(values) : null); } /** diff --git a/server/src/main/java/org/elasticsearch/index/search/stats/ShardFieldUsageTracker.java b/server/src/main/java/org/elasticsearch/index/search/stats/ShardFieldUsageTracker.java index 97178bfb80ad..54d6d35301c6 100644 --- a/server/src/main/java/org/elasticsearch/index/search/stats/ShardFieldUsageTracker.java +++ b/server/src/main/java/org/elasticsearch/index/search/stats/ShardFieldUsageTracker.java @@ -110,7 +110,7 @@ public class ShardFieldUsageTracker { @Override public void close() { - usages.entrySet().stream().forEach(e -> { + usages.entrySet().forEach(e -> { InternalFieldStats fieldStats = perFieldStats.computeIfAbsent(e.getKey(), f -> new InternalFieldStats()); PerField pf = e.getValue(); boolean any = false; diff --git a/server/src/main/java/org/elasticsearch/index/translog/Translog.java b/server/src/main/java/org/elasticsearch/index/translog/Translog.java index 8759f1cf4b9d..871de3c9f9f8 100644 --- a/server/src/main/java/org/elasticsearch/index/translog/Translog.java +++ b/server/src/main/java/org/elasticsearch/index/translog/Translog.java @@ -59,7 +59,6 @@ import java.util.function.LongConsumer; import java.util.function.LongSupplier; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import java.util.stream.Stream; import static org.elasticsearch.core.Strings.format; @@ -375,7 +374,7 @@ public class Translog extends AbstractIndexShardComponent implements IndexShardC return false; } }). // find all inner callers including Translog subclasses - collect(Collectors.toList()); + toList(); // the list of inner callers should be either empty or should contain closeOnTragicEvent method return frames.isEmpty() || frames.stream().anyMatch(f -> f.getMethodName().equals("closeOnTragicEvent")); } diff --git a/server/src/main/java/org/elasticsearch/plugins/ModuleSupport.java b/server/src/main/java/org/elasticsearch/plugins/ModuleSupport.java index 0213748f642d..e5f0004431b0 100644 --- a/server/src/main/java/org/elasticsearch/plugins/ModuleSupport.java +++ b/server/src/main/java/org/elasticsearch/plugins/ModuleSupport.java @@ -73,8 +73,8 @@ public class ModuleSupport { Predicate isPackageInParentLayers ) throws IOException { var builder = ModuleDescriptor.newOpenModule(name); // open module, for now - requires.stream().forEach(builder::requires); - uses.stream().forEach(builder::uses); + requires.forEach(builder::requires); + uses.forEach(builder::uses); // scan the names of the entries in the JARs Set pkgs = new HashSet<>(); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java b/server/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java index 3d170694b62e..f167d15473b0 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java @@ -30,8 +30,6 @@ import java.util.List; import java.util.Objects; import java.util.function.ToLongFunction; -import static java.util.stream.Collectors.toList; - /** * Implementations for {@link Bucket} ordering strategies. */ @@ -187,7 +185,7 @@ public abstract class InternalOrder extends BucketOrder { public Comparator partiallyBuiltBucketComparator(ToLongFunction ordinalReader, Aggregator aggregator) { List> comparators = orderElements.stream() .map(oe -> oe.partiallyBuiltBucketComparator(ordinalReader, aggregator)) - .collect(toList()); + .toList(); return (lhs, rhs) -> { for (Comparator c : comparators) { int result = c.compare(lhs, rhs); @@ -201,7 +199,7 @@ public abstract class InternalOrder extends BucketOrder { @Override public Comparator comparator() { - List> comparators = orderElements.stream().map(BucketOrder::comparator).collect(toList()); + List> comparators = orderElements.stream().map(BucketOrder::comparator).toList(); return (lhs, rhs) -> { for (Comparator c : comparators) { int result = c.compare(lhs, rhs); @@ -217,7 +215,7 @@ public abstract class InternalOrder extends BucketOrder { Comparator> delayedBucketComparator() { List>> comparators = orderElements.stream() .map(BucketOrder::delayedBucketComparator) - .collect(toList()); + .toList(); return (lhs, rhs) -> { for (Comparator> c : comparators) { int result = c.compare(lhs, rhs); diff --git a/server/src/main/java/org/elasticsearch/search/rescore/QueryRescorer.java b/server/src/main/java/org/elasticsearch/search/rescore/QueryRescorer.java index 1eab3251c618..389e3a56cf15 100644 --- a/server/src/main/java/org/elasticsearch/search/rescore/QueryRescorer.java +++ b/server/src/main/java/org/elasticsearch/search/rescore/QueryRescorer.java @@ -21,7 +21,7 @@ import java.util.Comparator; import java.util.List; import java.util.Set; -import static java.util.stream.Collectors.toSet; +import static java.util.stream.Collectors.toUnmodifiableSet; public final class QueryRescorer implements Rescorer { @@ -57,9 +57,7 @@ public final class QueryRescorer implements Rescorer { TopDocs topNFirstPass = topN(topDocs, rescoreContext.getWindowSize()); // Save doc IDs for which rescoring was applied to be used in score explanation - Set topNDocIDs = Collections.unmodifiableSet( - Arrays.stream(topNFirstPass.scoreDocs).map(scoreDoc -> scoreDoc.doc).collect(toSet()) - ); + Set topNDocIDs = Arrays.stream(topNFirstPass.scoreDocs).map(scoreDoc -> scoreDoc.doc).collect(toUnmodifiableSet()); rescoreContext.setRescoredDocs(topNDocIDs); // Rescore them: diff --git a/server/src/test/java/org/elasticsearch/cluster/node/DiscoveryNodesTests.java b/server/src/test/java/org/elasticsearch/cluster/node/DiscoveryNodesTests.java index a8a2d05ac4b8..13472eff2312 100644 --- a/server/src/test/java/org/elasticsearch/cluster/node/DiscoveryNodesTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/node/DiscoveryNodesTests.java @@ -250,13 +250,13 @@ public class DiscoveryNodesTests extends ESTestCase { DiscoveryNode masterB = randomBoolean() ? null : RandomPicks.randomFrom(random(), nodesB); DiscoveryNodes.Builder builderA = DiscoveryNodes.builder(); - nodesA.stream().forEach(builderA::add); + nodesA.forEach(builderA::add); final String masterAId = masterA == null ? null : masterA.getId(); builderA.masterNodeId(masterAId); builderA.localNodeId(RandomPicks.randomFrom(random(), nodesA).getId()); DiscoveryNodes.Builder builderB = DiscoveryNodes.builder(); - nodesB.stream().forEach(builderB::add); + nodesB.forEach(builderB::add); final String masterBId = masterB == null ? null : masterB.getId(); builderB.masterNodeId(masterBId); builderB.localNodeId(RandomPicks.randomFrom(random(), nodesB).getId()); diff --git a/server/src/test/java/org/elasticsearch/cluster/routing/allocation/FailedNodeRoutingTests.java b/server/src/test/java/org/elasticsearch/cluster/routing/allocation/FailedNodeRoutingTests.java index aad7f7473d3c..0e13bfeecfdb 100644 --- a/server/src/test/java/org/elasticsearch/cluster/routing/allocation/FailedNodeRoutingTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/routing/allocation/FailedNodeRoutingTests.java @@ -158,9 +158,9 @@ public class FailedNodeRoutingTests extends ESAllocationTestCase { // Pick a random subset of primaries to fail List shardsToFail = new ArrayList<>(); List failedPrimaries = randomSubsetOf(primaries); - failedPrimaries.stream().forEach(sr -> { - shardsToFail.add(new FailedShard(randomFrom(sr), "failed primary", new Exception(), randomBoolean())); - }); + failedPrimaries.forEach( + sr -> shardsToFail.add(new FailedShard(randomFrom(sr), "failed primary", new Exception(), randomBoolean())) + ); logger.info("--> state before failing shards: {}", state); state = cluster.applyFailedShards(state, shardsToFail); @@ -173,7 +173,7 @@ public class FailedNodeRoutingTests extends ESAllocationTestCase { Version newPrimaryVersion = getNodeVersion(newPrimary, compareState); logger.info("--> new primary is on version {}: {}", newPrimaryVersion, newPrimary); - compareState.routingTable().shardRoutingTable(newPrimary.shardId()).shardsWithState(STARTED).stream().forEach(sr -> { + compareState.routingTable().shardRoutingTable(newPrimary.shardId()).shardsWithState(STARTED).forEach(sr -> { Version candidateVer = getNodeVersion(sr, compareState); if (candidateVer != null) { logger.info("--> candidate on {} node; shard routing: {}", candidateVer, sr); diff --git a/server/src/test/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilderTests.java b/server/src/test/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilderTests.java index 6c3d5b03ffdc..354ace81e08b 100644 --- a/server/src/test/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilderTests.java @@ -82,7 +82,7 @@ public class RangeAggregationBuilderTests extends AbstractXContentSerializingTes default -> fail(); } RangeAggregationBuilder mutant = new RangeAggregationBuilder(name).keyed(keyed).field(field); - ranges.stream().forEach(mutant::addRange); + ranges.forEach(mutant::addRange); return mutant; } diff --git a/test/fixtures/azure-fixture/src/main/java/fixture/azure/AzureHttpHandler.java b/test/fixtures/azure-fixture/src/main/java/fixture/azure/AzureHttpHandler.java index 7d5f16ae1cdc..14ce4a831837 100644 --- a/test/fixtures/azure-fixture/src/main/java/fixture/azure/AzureHttpHandler.java +++ b/test/fixtures/azure-fixture/src/main/java/fixture/azure/AzureHttpHandler.java @@ -34,7 +34,6 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import static org.elasticsearch.repositories.azure.AzureFixtureHelper.assertValidBlockId; @@ -77,7 +76,7 @@ public class AzureHttpHandler implements HttpHandler { final List blockIds = Arrays.stream(blockList.split("")) .filter(line -> line.contains("")) .map(line -> line.substring(0, line.indexOf(""))) - .collect(Collectors.toList()); + .toList(); final ByteArrayOutputStream blob = new ByteArrayOutputStream(); for (String blockId : blockIds) { diff --git a/test/framework/src/main/java/org/elasticsearch/cluster/coordination/CoordinationStateTestCluster.java b/test/framework/src/main/java/org/elasticsearch/cluster/coordination/CoordinationStateTestCluster.java index e8687d8d0262..76d662e59464 100644 --- a/test/framework/src/main/java/org/elasticsearch/cluster/coordination/CoordinationStateTestCluster.java +++ b/test/framework/src/main/java/org/elasticsearch/cluster/coordination/CoordinationStateTestCluster.java @@ -187,7 +187,7 @@ public class CoordinationStateTestCluster { this.electionStrategy = electionStrategy; messages = new ArrayList<>(); - clusterNodes = nodes.stream().map(node -> new ClusterNode(node, electionStrategy)).collect(Collectors.toList()); + clusterNodes = nodes.stream().map(node -> new ClusterNode(node, electionStrategy)).toList(); initialConfiguration = randomVotingConfig(); initialValue = randomLong(); @@ -200,7 +200,7 @@ public class CoordinationStateTestCluster { } void broadcast(DiscoveryNode sourceNode, Object payload) { - messages.addAll(clusterNodes.stream().map(cn -> new Message(sourceNode, cn.localNode, payload)).collect(Collectors.toList())); + clusterNodes.stream().map(cn -> new Message(sourceNode, cn.localNode, payload)).forEach(messages::add); } Optional getNode(DiscoveryNode node) { @@ -251,9 +251,7 @@ public class CoordinationStateTestCluster { } else if (rarely() && rarely()) { randomFrom(clusterNodes).reboot(); } else if (rarely()) { - final List masterNodes = clusterNodes.stream() - .filter(cn -> cn.state.electionWon()) - .collect(Collectors.toList()); + final List masterNodes = clusterNodes.stream().filter(cn -> cn.state.electionWon()).toList(); if (masterNodes.isEmpty() == false) { final ClusterNode clusterNode = randomFrom(masterNodes); final long term = rarely() ? randomLongBetween(0, maxTerm + 1) : clusterNode.state.getCurrentTerm(); diff --git a/test/framework/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreTestUtil.java b/test/framework/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreTestUtil.java index db0ff3efcda4..d4d7fdcb40c6 100644 --- a/test/framework/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreTestUtil.java +++ b/test/framework/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreTestUtil.java @@ -187,11 +187,7 @@ public final class BlobStoreTestUtil { } private static void assertIndexUUIDs(BlobStoreRepository repository, RepositoryData repositoryData) throws IOException { - final List expectedIndexUUIDs = repositoryData.getIndices() - .values() - .stream() - .map(IndexId::getId) - .collect(Collectors.toList()); + final List expectedIndexUUIDs = repositoryData.getIndices().values().stream().map(IndexId::getId).toList(); final BlobContainer indicesContainer = repository.blobContainer().children().get("indices"); final List foundIndexUUIDs; if (indicesContainer == null) { @@ -231,7 +227,7 @@ public final class BlobStoreTestUtil { ) throws IOException { final BlobContainer repoRoot = repository.blobContainer(); final Collection snapshotIds = repositoryData.getSnapshotIds(); - final List expectedSnapshotUUIDs = snapshotIds.stream().map(SnapshotId::getUUID).collect(Collectors.toList()); + final List expectedSnapshotUUIDs = snapshotIds.stream().map(SnapshotId::getUUID).toList(); for (String prefix : new String[] { BlobStoreRepository.SNAPSHOT_PREFIX, BlobStoreRepository.METADATA_PREFIX }) { final Collection foundSnapshotUUIDs = repoRoot.listBlobs() .keySet() diff --git a/test/framework/src/main/java/org/elasticsearch/snapshots/mockstore/MockRepository.java b/test/framework/src/main/java/org/elasticsearch/snapshots/mockstore/MockRepository.java index 6bd565c712cf..575a31b087c7 100644 --- a/test/framework/src/main/java/org/elasticsearch/snapshots/mockstore/MockRepository.java +++ b/test/framework/src/main/java/org/elasticsearch/snapshots/mockstore/MockRepository.java @@ -60,7 +60,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; -import java.util.stream.Collectors; public class MockRepository extends FsRepository { private static final Logger logger = LogManager.getLogger(MockRepository.class); @@ -517,7 +516,7 @@ public class MockRepository extends FsRepository { final Map blobs = listBlobs(); long deleteBlobCount = blobs.size(); long deleteByteCount = 0L; - for (String blob : blobs.values().stream().map(BlobMetadata::name).collect(Collectors.toList())) { + for (String blob : blobs.values().stream().map(BlobMetadata::name).toList()) { maybeIOExceptionOrBlock(blob); deleteBlobsIgnoringIfNotExists(Iterators.single(blob)); deleteByteCount += blobs.get(blob).length(); diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java index 39c8c1ce55fe..d3669086d2d1 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java @@ -219,7 +219,7 @@ public abstract class ESSingleNodeTestCase extends ESTestCase { protected List filteredWarnings() { return Stream.concat( super.filteredWarnings().stream(), - List.of("[index.data_path] setting was deprecated in Elasticsearch and will be removed in a future release.").stream() + Stream.of("[index.data_path] setting was deprecated in Elasticsearch and will be removed in a future release.") ).collect(Collectors.toList()); } diff --git a/test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java b/test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java index 81e9939c2d48..6ec361404356 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java +++ b/test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java @@ -192,7 +192,7 @@ public class VersionUtils { /** Returns a random {@link Version} from all available versions, that is compatible with the given version. */ public static Version randomCompatibleVersion(Random random, Version version) { - final List compatible = ALL_VERSIONS.stream().filter(version::isCompatible).collect(Collectors.toList()); + final List compatible = ALL_VERSIONS.stream().filter(version::isCompatible).toList(); return compatible.get(random.nextInt(compatible.size())); } @@ -228,10 +228,7 @@ public class VersionUtils { /** Returns the maximum {@link Version} that is compatible with the given version. */ public static Version maxCompatibleVersion(Version version) { - final List compatible = ALL_VERSIONS.stream() - .filter(version::isCompatible) - .filter(version::onOrBefore) - .collect(Collectors.toList()); + final List compatible = ALL_VERSIONS.stream().filter(version::isCompatible).filter(version::onOrBefore).toList(); assert compatible.size() > 0; return compatible.get(compatible.size() - 1); } diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java index d092c431f2b8..f85a93e30004 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java @@ -839,13 +839,13 @@ public abstract class ESRestTestCase extends ESTestCase { if (hasIlm && false == preserveILMPoliciesUponCompletion()) { Set unexpectedIlmPlicies = getAllUnexpectedIlmPolicies(preserveILMPolicyIds()); assertTrue( - "Expected no ILM policies after deletions, but found " + unexpectedIlmPlicies.stream().collect(Collectors.joining(", ")), + "Expected no ILM policies after deletions, but found " + String.join(", ", unexpectedIlmPlicies), unexpectedIlmPlicies.isEmpty() ); } Set unexpectedTemplates = getAllUnexpectedTemplates(); assertTrue( - "Expected no templates after deletions, but found " + unexpectedTemplates.stream().collect(Collectors.joining(", ")), + "Expected no templates after deletions, but found " + String.join(", ", unexpectedTemplates), unexpectedTemplates.isEmpty() ); } @@ -893,12 +893,10 @@ public abstract class ESRestTestCase extends ESTestCase { Request compReq = new Request("GET", "_component_template"); String componentTemplates = EntityUtils.toString(adminClient().performRequest(compReq).getEntity()); Map cTemplates = XContentHelper.convertToMap(JsonXContent.jsonXContent, componentTemplates, false); - unexpectedTemplates.addAll( - ((List) cTemplates.get("component_templates")).stream() - .map(ct -> (String) ((Map) ct).get("name")) - .filter(name -> isXPackTemplate(name) == false) - .collect(Collectors.toList()) - ); + ((List) cTemplates.get("component_templates")).stream() + .map(ct -> (String) ((Map) ct).get("name")) + .filter(name -> isXPackTemplate(name) == false) + .forEach(unexpectedTemplates::add); } // Always check for legacy templates: Request getLegacyTemplatesRequest = new Request("GET", "_template"); diff --git a/test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java b/test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java index cb60cb2758dd..28f68081b73a 100644 --- a/test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java +++ b/test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java @@ -61,7 +61,6 @@ import java.util.Optional; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; -import java.util.stream.Collectors; import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder; @@ -326,7 +325,7 @@ public abstract class ESClientYamlSuiteTestCase extends ESRestTestCase { } filesSet.add(file); - List fileNames = filesSet.stream().map(p -> p.getFileName().toString()).collect(Collectors.toList()); + List fileNames = filesSet.stream().map(p -> p.getFileName().toString()).toList(); if (Collections.frequency(fileNames, file.getFileName().toString()) > 1) { Logger logger = LogManager.getLogger(ESClientYamlSuiteTestCase.class); logger.warn( diff --git a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/movingPercentiles/MovingPercentilesPipelineAggregator.java b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/movingPercentiles/MovingPercentilesPipelineAggregator.java index ff49c9681b20..72a0dd4b6cb0 100644 --- a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/movingPercentiles/MovingPercentilesPipelineAggregator.java +++ b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/movingPercentiles/MovingPercentilesPipelineAggregator.java @@ -76,7 +76,7 @@ public class MovingPercentilesPipelineAggregator extends PipelineAggregator { List values = buckets.stream() .map(b -> resolveTDigestBucketValue(histo, b, bucketsPaths()[0])) .filter(v -> v != null) - .collect(Collectors.toList()); + .toList(); int index = 0; for (InternalMultiBucketAggregation.InternalBucket bucket : buckets) { @@ -126,7 +126,7 @@ public class MovingPercentilesPipelineAggregator extends PipelineAggregator { List values = buckets.stream() .map(b -> resolveHDRBucketValue(histo, b, bucketsPaths()[0])) .filter(v -> v != null) - .collect(Collectors.toList()); + .toList(); int index = 0; for (InternalMultiBucketAggregation.InternalBucket bucket : buckets) { diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/protocol/xpack/XPackInfoResponse.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/protocol/xpack/XPackInfoResponse.java index 820181c5c321..8f872dcb056a 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/protocol/xpack/XPackInfoResponse.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/protocol/xpack/XPackInfoResponse.java @@ -31,7 +31,6 @@ import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; import static org.elasticsearch.xcontent.ConstructingObjectParser.constructorArg; @@ -342,7 +341,7 @@ public class XPackInfoResponse extends ActionResponse implements ToXContentObjec @Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(); - List names = new ArrayList<>(this.featureSets.keySet()).stream().sorted().collect(Collectors.toList()); + List names = new ArrayList<>(this.featureSets.keySet()).stream().sorted().toList(); for (String name : names) { builder.field(name, featureSets.get(name), params); } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/PauseFollowerIndexStep.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/PauseFollowerIndexStep.java index 3c436b591ae7..a7605f94eac4 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/PauseFollowerIndexStep.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/PauseFollowerIndexStep.java @@ -16,7 +16,6 @@ import org.elasticsearch.xpack.core.ccr.action.PauseFollowAction; import org.elasticsearch.xpack.core.ccr.action.ShardFollowTask; import java.util.List; -import java.util.stream.Collectors; final class PauseFollowerIndexStep extends AbstractUnfollowIndexStep { @@ -46,7 +45,7 @@ final class PauseFollowerIndexStep extends AbstractUnfollowIndexStep { ShardFollowTask shardFollowTask = (ShardFollowTask) persistentTask.getParams(); return shardFollowTask.getFollowShardId().getIndexName().equals(followerIndex); }) - .collect(Collectors.toList()); + .toList(); if (shardFollowTasks.isEmpty()) { listener.onResponse(null); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/PhaseCacheManagement.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/PhaseCacheManagement.java index 9be37e9193b6..26966195989b 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/PhaseCacheManagement.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/PhaseCacheManagement.java @@ -156,7 +156,7 @@ public final class PhaseCacheManagement { .stream() .filter(meta -> newPolicy.getName().equals(meta.getLifecyclePolicyName())) .filter(meta -> isIndexPhaseDefinitionUpdatable(xContentRegistry, client, meta, newPolicy.getPolicy(), licenseState)) - .collect(Collectors.toList()); + .toList(); final List refreshedIndices = new ArrayList<>(indicesThatCanBeUpdated.size()); for (IndexMetadata index : indicesThatCanBeUpdated) { diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/SegmentCountStep.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/SegmentCountStep.java index df1fb0be534a..82f502c96e8b 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/SegmentCountStep.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/SegmentCountStep.java @@ -79,7 +79,7 @@ public class SegmentCountStep extends AsyncWaitStep { .stream() .flatMap(iss -> Arrays.stream(iss.shards())) .filter(shardSegments -> shardSegments.getSegments().size() > maxNumSegments) - .collect(Collectors.toList()); + .toList(); if (unmergedShards.size() > 0) { Map unmergedShardCounts = unmergedShards.stream() .collect(Collectors.toMap(ShardSegments::getShardRouting, ss -> ss.getSegments().size())); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/WaitForFollowShardTasksStep.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/WaitForFollowShardTasksStep.java index 604872e11c58..f1fbdde1e9a5 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/WaitForFollowShardTasksStep.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/WaitForFollowShardTasksStep.java @@ -63,7 +63,7 @@ final class WaitForFollowShardTasksStep extends AsyncWaitStep { .stream() .map(FollowStatsAction.StatsResponse::status) .filter(shardFollowStatus -> shardFollowStatus.leaderGlobalCheckpoint() != shardFollowStatus.followerGlobalCheckpoint()) - .collect(Collectors.toList()); + .toList(); // Follow stats api needs to return stats for follower index and all shard follow tasks should be synced: boolean conditionMet = responses.getStatsResponses().size() > 0 && unSyncedShardFollowStatuses.isEmpty(); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/inference/trainedmodel/InferenceHelpers.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/inference/trainedmodel/InferenceHelpers.java index 4d2a3d08d38c..e60e950f3cfd 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/inference/trainedmodel/InferenceHelpers.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/inference/trainedmodel/InferenceHelpers.java @@ -20,7 +20,6 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import java.util.stream.IntStream; public final class InferenceHelpers { @@ -68,7 +67,7 @@ public final class InferenceHelpers { List labels = classificationLabels == null ? // If we don't have the labels we should return the top classification values anyways, they will just be numeric - IntStream.range(0, probabilities.length).boxed().map(String::valueOf).collect(Collectors.toList()) : classificationLabels; + IntStream.range(0, probabilities.length).mapToObj(String::valueOf).toList() : classificationLabels; int count = numToInclude < 0 ? probabilities.length : Math.min(numToInclude, probabilities.length); List topClassEntries = new ArrayList<>(count); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/Detector.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/Detector.java index 3b5182ca0cba..9cd8afe44587 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/Detector.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/Detector.java @@ -200,10 +200,9 @@ public class Detector implements ToXContentObject, Writeable { * ", \ */ public static final Character[] PROHIBITED_FIELDNAME_CHARACTERS = { '"', '\\' }; - public static final String PROHIBITED = String.join( - ",", - Arrays.stream(PROHIBITED_FIELDNAME_CHARACTERS).map(c -> Character.toString(c)).collect(Collectors.toList()) - ); + public static final String PROHIBITED = Arrays.stream(PROHIBITED_FIELDNAME_CHARACTERS) + .map(c -> Character.toString(c)) + .collect(Collectors.joining(",")); private final String detectorDescription; private final DetectorFunction function; diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/utils/NameResolver.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/utils/NameResolver.java index 220b55ebf9e2..3c92a792cc90 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/utils/NameResolver.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/utils/NameResolver.java @@ -18,7 +18,6 @@ import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; import java.util.function.Function; -import java.util.stream.Collectors; /** * Expands an expression into the set of matching names. @@ -92,7 +91,7 @@ public abstract class NameResolver { .filter(key -> Regex.simpleMatch(token, key)) .map(this::lookup) .flatMap(List::stream) - .collect(Collectors.toList()); + .toList(); if (expanded.isEmpty() && allowNoMatch == false) { throw notFoundExceptionSupplier.apply(token); } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/action/RollableIndexCaps.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/action/RollableIndexCaps.java index d18b196449b4..411f8b0db497 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/action/RollableIndexCaps.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/action/RollableIndexCaps.java @@ -14,11 +14,9 @@ import org.elasticsearch.xcontent.ToXContentObject; import org.elasticsearch.xcontent.XContentBuilder; import java.io.IOException; -import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; /** * Represents the rollup capabilities of a non-rollup index. E.g. what values/aggregations @@ -35,9 +33,7 @@ public class RollableIndexCaps implements Writeable, ToXContentObject { public RollableIndexCaps(String indexName, List caps) { this.indexName = indexName; - this.jobCaps = Collections.unmodifiableList( - Objects.requireNonNull(caps).stream().sorted(Comparator.comparing(RollupJobCaps::getJobID)).collect(Collectors.toList()) - ); + this.jobCaps = caps.stream().sorted(Comparator.comparing(RollupJobCaps::getJobID)).toList(); } public RollableIndexCaps(StreamInput in) throws IOException { diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/action/RollupJobCaps.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/action/RollupJobCaps.java index f11e56edf544..ceccfd4028fa 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/action/RollupJobCaps.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/action/RollupJobCaps.java @@ -190,7 +190,7 @@ public class RollupJobCaps implements Writeable, ToXContentObject { final List> metrics = metricConfig.getMetrics() .stream() .map(metric -> singletonMap("agg", (Object) metric)) - .collect(Collectors.toList()); + .toList(); metrics.forEach(m -> { List> caps = tempFieldCaps.getOrDefault(metricConfig.getField(), new ArrayList<>()); caps.add(m); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/searchablesnapshots/MountSearchableSnapshotRequest.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/searchablesnapshots/MountSearchableSnapshotRequest.java index 5bd0024f2fb6..eb1017fcd439 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/searchablesnapshots/MountSearchableSnapshotRequest.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/searchablesnapshots/MountSearchableSnapshotRequest.java @@ -27,7 +27,6 @@ import java.io.IOException; import java.util.Arrays; import java.util.Locale; import java.util.Objects; -import java.util.stream.Collectors; import static org.elasticsearch.action.ValidateActions.addValidationError; import static org.elasticsearch.common.settings.Settings.readSettingsFromStream; @@ -71,7 +70,7 @@ public class MountSearchableSnapshotRequest extends MasterNodeRequest p.list().stream().map(s -> (String) s).collect(Collectors.toList()).toArray(Strings.EMPTY_ARRAY), + p -> p.list().stream().map(s -> (String) s).toArray(String[]::new), IGNORE_INDEX_SETTINGS_FIELD, ObjectParser.ValueType.STRING_ARRAY ); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/searchablesnapshots/SearchableSnapshotShardStats.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/searchablesnapshots/SearchableSnapshotShardStats.java index 887ca78e32f1..068a7dda5f7f 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/searchablesnapshots/SearchableSnapshotShardStats.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/searchablesnapshots/SearchableSnapshotShardStats.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.Objects; import static java.util.Collections.unmodifiableList; -import static java.util.stream.Collectors.toList; public class SearchableSnapshotShardStats implements Writeable, ToXContentObject { @@ -97,7 +96,7 @@ public class SearchableSnapshotShardStats implements Writeable, ToXContentObject { List stats = inputStats.stream() .sorted(Comparator.comparing(CacheIndexInputStats::getFileExt)) - .collect(toList()); + .toList(); for (CacheIndexInputStats stat : stats) { stat.toXContent(builder, params); } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/privilege/PutPrivilegesRequest.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/privilege/PutPrivilegesRequest.java index 2556246589c5..77d4ac677e17 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/privilege/PutPrivilegesRequest.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/privilege/PutPrivilegesRequest.java @@ -111,9 +111,7 @@ public final class PutPrivilegesRequest extends ActionRequest implements Applica @Override public Collection getApplicationNames() { - return Collections.unmodifiableSet( - privileges.stream().map(ApplicationPrivilegeDescriptor::getApplication).collect(Collectors.toSet()) - ); + return privileges.stream().map(ApplicationPrivilegeDescriptor::getApplication).collect(Collectors.toUnmodifiableSet()); } @Override diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/Authentication.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/Authentication.java index 82e4ef11762e..819e1fa09a02 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/Authentication.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/Authentication.java @@ -1393,10 +1393,10 @@ public final class Authentication implements ToXContentObject { final Map roleDescriptorsMap = convertRoleDescriptorsBytesToMap(roleDescriptorsBytes); final AtomicBoolean removedAtLeastOne = new AtomicBoolean(false); - roleDescriptorsMap.entrySet().stream().forEach(entry -> { - if (entry.getValue() instanceof Map) { + roleDescriptorsMap.forEach((key, value) -> { + if (value instanceof Map) { @SuppressWarnings("unchecked") - Map roleDescriptor = (Map) entry.getValue(); + Map roleDescriptor = (Map) value; boolean removed = roleDescriptor.remove(RoleDescriptor.Fields.REMOTE_INDICES.getPreferredName()) != null; if (removed) { removedAtLeastOne.set(true); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/DefaultAuthenticationFailureHandler.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/DefaultAuthenticationFailureHandler.java index 6fc83354aa2a..b5469fadd95b 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/DefaultAuthenticationFailureHandler.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/DefaultAuthenticationFailureHandler.java @@ -186,12 +186,12 @@ public class DefaultAuthenticationFailureHandler implements AuthenticationFailur ese = authenticationError(message, t, args); containsNegotiateWithToken = false; } - defaultFailureResponseHeaders.entrySet().stream().forEach((e) -> { - if (containsNegotiateWithToken && e.getKey().equalsIgnoreCase("WWW-Authenticate")) { + defaultFailureResponseHeaders.forEach((key, value) -> { + if (containsNegotiateWithToken && key.equalsIgnoreCase("WWW-Authenticate")) { return; } // If it is already present then it will replace the existing header. - ese.addHeader(e.getKey(), e.getValue()); + ese.addHeader(key, value); }); return ese; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/AuthorizationEngine.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/AuthorizationEngine.java index 46b3e303fe88..17d80274e161 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/AuthorizationEngine.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/AuthorizationEngine.java @@ -632,8 +632,7 @@ public interface AuthorizationEngine { || Arrays.equals(IndicesAndAliasesResolverField.NO_INDICES_OR_ALIASES_ARRAY, indices)) { return null; } - Set deniedIndices = Arrays.asList(indices) - .stream() + Set deniedIndices = Arrays.stream(indices) .filter(index -> false == indicesAccessControl.hasIndexPermissions(index)) .collect(Collectors.toSet()); return getFailureDescription(deniedIndices, restrictedIndices); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/ResourcePrivilegesMap.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/ResourcePrivilegesMap.java index 3750cdc94ab2..6e4557ad06e1 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/ResourcePrivilegesMap.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/ResourcePrivilegesMap.java @@ -74,9 +74,7 @@ public final class ResourcePrivilegesMap { public Builder addResourcePrivilegesMap(ResourcePrivilegesMap resourcePrivilegesMap) { resourcePrivilegesMap.getResourceToResourcePrivileges() - .entrySet() - .stream() - .forEach(e -> this.addResourcePrivilege(e.getKey(), e.getValue().getPrivileges())); + .forEach((key, value) -> this.addResourcePrivilege(key, value.getPrivileges())); return this; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/slm/SnapshotLifecycleStats.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/slm/SnapshotLifecycleStats.java index 10ab898b34f7..4370671faf90 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/slm/SnapshotLifecycleStats.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/slm/SnapshotLifecycleStats.java @@ -230,7 +230,7 @@ public class SnapshotLifecycleStats implements Writeable, ToXContentObject { List metrics = getMetrics().values() .stream() .sorted(Comparator.comparing(SnapshotPolicyStats::getPolicyId)) // maintain a consistent order when serializing - .collect(Collectors.toList()); + .toList(); long totalTaken = metrics.stream().mapToLong(s -> s.snapshotsTaken.count()).sum(); long totalFailed = metrics.stream().mapToLong(s -> s.snapshotsFailed.count()).sum(); long totalDeleted = metrics.stream().mapToLong(s -> s.snapshotsDeleted.count()).sum(); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/slm/SnapshotRetentionConfiguration.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/slm/SnapshotRetentionConfiguration.java index d8b7ffc16691..54c153c04ea3 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/slm/SnapshotRetentionConfiguration.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/slm/SnapshotRetentionConfiguration.java @@ -31,7 +31,6 @@ import java.util.Objects; import java.util.Set; import java.util.function.LongSupplier; import java.util.function.Predicate; -import java.util.stream.Collectors; import static org.elasticsearch.core.Strings.format; @@ -132,9 +131,7 @@ public class SnapshotRetentionConfiguration implements ToXContentObject, Writeab */ public Predicate getSnapshotDeletionPredicate(final List allSnapshots) { final int totalSnapshotCount = allSnapshots.size(); - final List sortedSnapshots = allSnapshots.stream() - .sorted(Comparator.comparingLong(SnapshotInfo::startTime)) - .collect(Collectors.toList()); + final List sortedSnapshots = allSnapshots.stream().sorted(Comparator.comparingLong(SnapshotInfo::startTime)).toList(); int successCount = 0; long latestSuccessfulTimestamp = Long.MIN_VALUE; for (SnapshotInfo snapshot : allSnapshots) { diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ssl/SSLService.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ssl/SSLService.java index 5e31067ea244..0d5c90795fd3 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ssl/SSLService.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ssl/SSLService.java @@ -407,9 +407,10 @@ public class SSLService { } public Set getTransportProfileContextNames() { - return Collections.unmodifiableSet( - this.sslConfigurations.keySet().stream().filter(k -> k.startsWith("transport.profiles.")).collect(Collectors.toSet()) - ); + return this.sslConfigurations.keySet() + .stream() + .filter(k -> k.startsWith("transport.profiles.")) + .collect(Collectors.toUnmodifiableSet()); } /** diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/LocalStateCompositeXPackPlugin.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/LocalStateCompositeXPackPlugin.java index 6e7383ea314f..af0f0187dc00 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/LocalStateCompositeXPackPlugin.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/LocalStateCompositeXPackPlugin.java @@ -208,8 +208,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin AllocationService allocationService, IndicesService indicesService ) { - List components = new ArrayList<>(); - components.addAll( + List components = new ArrayList<>( super.createComponents( client, clusterService, @@ -228,68 +227,61 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin ) ); - filterPlugins(Plugin.class).stream() - .forEach( - p -> components.addAll( - p.createComponents( - client, - clusterService, - threadPool, - resourceWatcherService, - scriptService, - xContentRegistry, - environment, - nodeEnvironment, - namedWriteableRegistry, - expressionResolver, - repositoriesServiceSupplier, - tracer, - allocationService, - indicesService - ) + filterPlugins(Plugin.class).forEach( + p -> components.addAll( + p.createComponents( + client, + clusterService, + threadPool, + resourceWatcherService, + scriptService, + xContentRegistry, + environment, + nodeEnvironment, + namedWriteableRegistry, + expressionResolver, + repositoriesServiceSupplier, + tracer, + allocationService, + indicesService ) - ); + ) + ); return components; } @Override public Collection getRestHeaders() { - List headers = new ArrayList<>(); - headers.addAll(super.getRestHeaders()); - filterPlugins(ActionPlugin.class).stream().forEach(p -> headers.addAll(p.getRestHeaders())); + List headers = new ArrayList<>(super.getRestHeaders()); + filterPlugins(ActionPlugin.class).forEach(p -> headers.addAll(p.getRestHeaders())); return headers; } @Override public List> getSettings() { - ArrayList> settings = new ArrayList<>(); - settings.addAll(super.getSettings()); - - filterPlugins(Plugin.class).stream().forEach(p -> settings.addAll(p.getSettings())); + ArrayList> settings = new ArrayList<>(super.getSettings()); + filterPlugins(Plugin.class).forEach(p -> settings.addAll(p.getSettings())); return settings; } @Override public List getSettingsFilter() { - List filters = new ArrayList<>(); - filters.addAll(super.getSettingsFilter()); - filterPlugins(Plugin.class).stream().forEach(p -> filters.addAll(p.getSettingsFilter())); + List filters = new ArrayList<>(super.getSettingsFilter()); + filterPlugins(Plugin.class).forEach(p -> filters.addAll(p.getSettingsFilter())); return filters; } @Override public List> getActions() { - List> actions = new ArrayList<>(); - actions.addAll(super.getActions()); - filterPlugins(ActionPlugin.class).stream().forEach(p -> actions.addAll(p.getActions())); + List> actions = new ArrayList<>(super.getActions()); + filterPlugins(ActionPlugin.class).forEach(p -> actions.addAll(p.getActions())); return actions; } @Override public List getActionFilters() { - List filters = new ArrayList<>(); - filters.addAll(super.getActionFilters()); - filterPlugins(ActionPlugin.class).stream().forEach(p -> filters.addAll(p.getActionFilters())); + List filters = new ArrayList<>(super.getActionFilters()); + filterPlugins(ActionPlugin.class).forEach(p -> filters.addAll(p.getActionFilters())); return filters; } @@ -303,8 +295,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin IndexNameExpressionResolver indexNameExpressionResolver, Supplier nodesInCluster ) { - List handlers = new ArrayList<>(); - handlers.addAll( + List handlers = new ArrayList<>( super.getRestHandlers( settings, restController, @@ -315,27 +306,25 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin nodesInCluster ) ); - filterPlugins(ActionPlugin.class).stream() - .forEach( - p -> handlers.addAll( - p.getRestHandlers( - settings, - restController, - clusterSettings, - indexScopedSettings, - settingsFilter, - indexNameExpressionResolver, - nodesInCluster - ) + filterPlugins(ActionPlugin.class).forEach( + p -> handlers.addAll( + p.getRestHandlers( + settings, + restController, + clusterSettings, + indexScopedSettings, + settingsFilter, + indexNameExpressionResolver, + nodesInCluster ) - ); + ) + ); return handlers; } @Override public List getNamedWriteables() { - List entries = new ArrayList<>(); - entries.addAll(super.getNamedWriteables()); + List entries = new ArrayList<>(super.getNamedWriteables()); for (Plugin p : plugins) { entries.addAll(p.getNamedWriteables()); } @@ -344,8 +333,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin @Override public List getNamedXContent() { - List entries = new ArrayList<>(); - entries.addAll(super.getNamedXContent()); + List entries = new ArrayList<>(super.getNamedXContent()); for (Plugin p : plugins) { entries.addAll(p.getNamedXContent()); } @@ -358,29 +346,30 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin public Settings additionalSettings() { Settings.Builder builder = Settings.builder(); builder.put(super.additionalSettings()); - filterPlugins(Plugin.class).stream().forEach(p -> builder.put(p.additionalSettings())); + filterPlugins(Plugin.class).forEach(p -> builder.put(p.additionalSettings())); return builder.build(); } @Override public List> getContexts() { List> contexts = new ArrayList<>(); - filterPlugins(ScriptPlugin.class).stream().forEach(p -> contexts.addAll(p.getContexts())); + filterPlugins(ScriptPlugin.class).forEach(p -> contexts.addAll(p.getContexts())); return contexts; } @Override public Map getProcessors(Processor.Parameters parameters) { Map processors = new HashMap<>(); - filterPlugins(IngestPlugin.class).stream().forEach(p -> processors.putAll(p.getProcessors(parameters))); + filterPlugins(IngestPlugin.class).forEach(p -> processors.putAll(p.getProcessors(parameters))); return processors; } @Override public List getTransportInterceptors(NamedWriteableRegistry namedWriteableRegistry, ThreadContext threadContext) { List interceptors = new ArrayList<>(); - filterPlugins(NetworkPlugin.class).stream() - .forEach(p -> interceptors.addAll(p.getTransportInterceptors(namedWriteableRegistry, threadContext))); + filterPlugins(NetworkPlugin.class).forEach( + p -> interceptors.addAll(p.getTransportInterceptors(namedWriteableRegistry, threadContext)) + ); return interceptors; } @@ -393,16 +382,14 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin NamedWriteableRegistry namedWriteableRegistry, NetworkService networkService ) { - Map> transports = new HashMap<>(); - transports.putAll( + Map> transports = new HashMap<>( super.getTransports(settings, threadPool, pageCacheRecycler, circuitBreakerService, namedWriteableRegistry, networkService) ); - filterPlugins(NetworkPlugin.class).stream() - .forEach( - p -> transports.putAll( - p.getTransports(settings, threadPool, pageCacheRecycler, circuitBreakerService, namedWriteableRegistry, networkService) - ) - ); + filterPlugins(NetworkPlugin.class).forEach( + p -> transports.putAll( + p.getTransports(settings, threadPool, pageCacheRecycler, circuitBreakerService, namedWriteableRegistry, networkService) + ) + ); return transports; } @@ -422,31 +409,30 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin Tracer tracer ) { Map> transports = new HashMap<>(); - filterPlugins(NetworkPlugin.class).stream() - .forEach( - p -> transports.putAll( - p.getHttpTransports( - settings, - threadPool, - bigArrays, - pageCacheRecycler, - circuitBreakerService, - xContentRegistry, - networkService, - dispatcher, - perRequestThreadContext, - clusterSettings, - tracer - ) + filterPlugins(NetworkPlugin.class).forEach( + p -> transports.putAll( + p.getHttpTransports( + settings, + threadPool, + bigArrays, + pageCacheRecycler, + circuitBreakerService, + xContentRegistry, + networkService, + dispatcher, + perRequestThreadContext, + clusterSettings, + tracer ) - ); + ) + ); return transports; } @Override public List getBootstrapChecks() { List checks = new ArrayList<>(); - filterPlugins(Plugin.class).stream().forEach(p -> checks.addAll(p.getBootstrapChecks())); + filterPlugins(Plugin.class).forEach(p -> checks.addAll(p.getBootstrapChecks())); return Collections.unmodifiableList(checks); } @@ -459,7 +445,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin .map(RestInterceptorActionPlugin.class::cast) .map(p -> p.getRestHandlerInterceptor(threadContext)) .filter(Objects::nonNull) - .collect(Collectors.toList()); + .toList(); if (items.size() > 1) { throw new UnsupportedOperationException("Only the security ActionPlugin should override this"); @@ -473,7 +459,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin @Override public List> getExecutorBuilders(final Settings settings) { List> builders = new ArrayList<>(); - filterPlugins(Plugin.class).stream().forEach(p -> builders.addAll(p.getExecutorBuilders(settings))); + filterPlugins(Plugin.class).forEach(p -> builders.addAll(p.getExecutorBuilders(settings))); return builders; } @@ -490,14 +476,14 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin @Override public Map getElectionStrategies() { Map electionStrategies = new HashMap<>(); - filterPlugins(ClusterCoordinationPlugin.class).stream().forEach(p -> electionStrategies.putAll(p.getElectionStrategies())); + filterPlugins(ClusterCoordinationPlugin.class).forEach(p -> electionStrategies.putAll(p.getElectionStrategies())); return electionStrategies; } @Override public Collection getAdditionalIndexSettingProviders(IndexSettingProvider.Parameters parameters) { Set providers = new HashSet<>(); - filterPlugins(Plugin.class).stream().forEach(p -> providers.addAll(p.getAdditionalIndexSettingProviders(parameters))); + filterPlugins(Plugin.class).forEach(p -> providers.addAll(p.getAdditionalIndexSettingProviders(parameters))); providers.addAll(super.getAdditionalIndexSettingProviders(parameters)); return providers; @@ -506,21 +492,19 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin @Override public Map> getTokenizers() { Map> tokenizers = new HashMap<>(); - filterPlugins(AnalysisPlugin.class).stream().forEach(p -> tokenizers.putAll(p.getTokenizers())); + filterPlugins(AnalysisPlugin.class).forEach(p -> tokenizers.putAll(p.getTokenizers())); return tokenizers; } @Override public void onIndexModule(IndexModule indexModule) { super.onIndexModule(indexModule); - filterPlugins(Plugin.class).stream().forEach(p -> p.onIndexModule(indexModule)); + filterPlugins(Plugin.class).forEach(p -> p.onIndexModule(indexModule)); } @Override public Function> getFieldFilter() { - List>> items = filterPlugins(MapperPlugin.class).stream() - .map(p -> p.getFieldFilter()) - .collect(Collectors.toList()); + List>> items = filterPlugins(MapperPlugin.class).stream().map(p -> p.getFieldFilter()).toList(); if (items.size() > 1) { throw new UnsupportedOperationException("Only the security MapperPlugin should override this"); } else if (items.size() == 1) { @@ -536,7 +520,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin // There can be only one. List> items = filterPlugins(ClusterCoordinationPlugin.class).stream() .map(p -> p.getJoinValidator()) - .collect(Collectors.toList()); + .toList(); if (items.size() > 1) { throw new UnsupportedOperationException("Only the security DiscoveryPlugin should override this"); } else if (items.size() == 1) { @@ -598,7 +582,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin List> checks = filterPlugins(RepositoryPlugin.class).stream() .map(RepositoryPlugin::addPreRestoreVersionCheck) .filter(Objects::nonNull) - .collect(Collectors.toList()); + .toList(); return checks.isEmpty() ? null : (s, v) -> checks.forEach(c -> c.accept(s, v)); } @@ -611,7 +595,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin public Optional getEngineFactory(IndexSettings indexSettings) { List> enginePlugins = filterPlugins(EnginePlugin.class).stream() .map(p -> p.getEngineFactory(indexSettings)) - .collect(Collectors.toList()); + .toList(); if (enginePlugins.size() == 0) { return Optional.empty(); } else if (enginePlugins.size() == 1) { @@ -639,7 +623,7 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin deciders.addAll( filterPlugins(ClusterPlugin.class).stream() .flatMap(p -> p.createAllocationDeciders(settings, clusterSettings).stream()) - .collect(Collectors.toList()) + .toList() ); deciders.addAll(super.createAllocationDeciders(settings, clusterSettings)); return deciders; @@ -648,21 +632,21 @@ public class LocalStateCompositeXPackPlugin extends XPackPlugin @Override public Map getExistingShardsAllocators() { final Map allocators = new HashMap<>(); - filterPlugins(ClusterPlugin.class).stream().forEach(p -> allocators.putAll(p.getExistingShardsAllocators())); + filterPlugins(ClusterPlugin.class).forEach(p -> allocators.putAll(p.getExistingShardsAllocators())); return allocators; } @Override public Map getDirectoryFactories() { final Map factories = new HashMap<>(); - filterPlugins(IndexStorePlugin.class).stream().forEach(p -> factories.putAll(p.getDirectoryFactories())); + filterPlugins(IndexStorePlugin.class).forEach(p -> factories.putAll(p.getDirectoryFactories())); return factories; } @Override public Map getRecoveryStateFactories() { final Map factories = new HashMap<>(); - filterPlugins(IndexStorePlugin.class).stream().forEach(p -> factories.putAll(p.getRecoveryStateFactories())); + filterPlugins(IndexStorePlugin.class).forEach(p -> factories.putAll(p.getRecoveryStateFactories())); return factories; } diff --git a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationInfoAction.java b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationInfoAction.java index 1a6f11fa3251..8ec978d175f2 100644 --- a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationInfoAction.java +++ b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationInfoAction.java @@ -134,10 +134,10 @@ public class DeprecationInfoAction extends ActionType> issueToListOfNodesMap = new HashMap<>(); for (List> similarIssues : issuesToMerge) { DeprecationIssue leastCommonDenominator = DeprecationIssue.getIntersectionOfRemovableSettings( - similarIssues.stream().map(Tuple::v1).collect(Collectors.toList()) + similarIssues.stream().map(Tuple::v1).toList() ); issueToListOfNodesMap.computeIfAbsent(leastCommonDenominator, (key) -> new ArrayList<>()) - .addAll(similarIssues.stream().map(Tuple::v2).collect(Collectors.toList())); + .addAll(similarIssues.stream().map(Tuple::v2).toList()); } return issueToListOfNodesMap; } diff --git a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/IndexDeprecationChecks.java b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/IndexDeprecationChecks.java index 05463ef5e604..316f29dde799 100644 --- a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/IndexDeprecationChecks.java +++ b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/IndexDeprecationChecks.java @@ -23,7 +23,6 @@ import java.util.Map; import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.util.function.Function; -import java.util.stream.Collectors; /** * Index-specific deprecation checks @@ -212,7 +211,7 @@ public class IndexDeprecationChecks { ); if (fields.size() > 0) { - String detailsMessageBeginning = fields.stream().collect(Collectors.joining(" ")); + String detailsMessageBeginning = String.join(" ", fields); return new DeprecationIssue( DeprecationIssue.Level.CRITICAL, "Date fields use deprecated camel case formats", diff --git a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java index 8f8ed8bf00c3..b265dd5e4471 100644 --- a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java +++ b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java @@ -246,21 +246,19 @@ public class NodeDeprecationChecks { Settings clusterSettings, Settings nodeSettings ) { - List> deprecatedConcreteNodeSettings = deprecatedAffixSetting.getAllConcreteSettings(nodeSettings) + var deprecatedConcreteNodeSettings = deprecatedAffixSetting.getAllConcreteSettings(nodeSettings) .sorted(Comparator.comparing(Setting::getKey)) - .collect(Collectors.toList()); - List> deprecatedConcreteClusterSettings = deprecatedAffixSetting.getAllConcreteSettings(clusterSettings) + .toList(); + var deprecatedConcreteClusterSettings = deprecatedAffixSetting.getAllConcreteSettings(clusterSettings) .sorted(Comparator.comparing(Setting::getKey)) - .collect(Collectors.toList()); + .toList(); if (deprecatedConcreteNodeSettings.isEmpty() && deprecatedConcreteClusterSettings.isEmpty()) { return null; } - List deprecatedNodeSettingKeys = deprecatedConcreteNodeSettings.stream().map(Setting::getKey).collect(Collectors.toList()); - List deprecatedClusterSettingKeys = deprecatedConcreteClusterSettings.stream() - .map(Setting::getKey) - .collect(Collectors.toList()); + List deprecatedNodeSettingKeys = deprecatedConcreteNodeSettings.stream().map(Setting::getKey).toList(); + List deprecatedClusterSettingKeys = deprecatedConcreteClusterSettings.stream().map(Setting::getKey).toList(); final String concatSettingNames = Stream.concat(deprecatedNodeSettingKeys.stream(), deprecatedClusterSettingKeys.stream()) .distinct() @@ -289,10 +287,10 @@ public class NodeDeprecationChecks { ) { List> deprecatedConcreteNodeSettings = deprecatedAffixSetting.getAllConcreteSettings(nodeSettings) .sorted(Comparator.comparing(Setting::getKey)) - .collect(Collectors.toList()); + .toList(); List> deprecatedConcreteClusterSettings = deprecatedAffixSetting.getAllConcreteSettings(clusterSettings) .sorted(Comparator.comparing(Setting::getKey)) - .collect(Collectors.toList()); + .toList(); if (deprecatedConcreteNodeSettings.isEmpty() && deprecatedConcreteClusterSettings.isEmpty()) { return null; @@ -305,19 +303,19 @@ public class NodeDeprecationChecks { .map(key -> key + "*") .collect(Collectors.joining(",")); // The actual group setting that are present in the settings objects, with full setting name prepended. - List allNodeSubSettingKeys = deprecatedConcreteNodeSettings.stream().map(affixSetting -> { + List allNodeSubSettingKeys = deprecatedConcreteNodeSettings.stream().flatMap(affixSetting -> { String groupPrefix = affixSetting.getKey(); Settings groupSettings = affixSetting.get(nodeSettings); Set subSettings = groupSettings.keySet(); - return subSettings.stream().map(key -> groupPrefix + key).collect(Collectors.toList()); - }).flatMap(List::stream).sorted().collect(Collectors.toList()); + return subSettings.stream().map(key -> groupPrefix + key); + }).sorted().toList(); - List allClusterSubSettingKeys = deprecatedConcreteClusterSettings.stream().map(affixSetting -> { + List allClusterSubSettingKeys = deprecatedConcreteClusterSettings.stream().flatMap(affixSetting -> { String groupPrefix = affixSetting.getKey(); Settings groupSettings = affixSetting.get(clusterSettings); Set subSettings = groupSettings.keySet(); - return subSettings.stream().map(key -> groupPrefix + key).collect(Collectors.toList()); - }).flatMap(List::stream).sorted().collect(Collectors.toList()); + return subSettings.stream().map(key -> groupPrefix + key); + }).sorted().toList(); final String allSubSettings = Stream.concat(allNodeSubSettingKeys.stream(), allClusterSubSettingKeys.stream()) .distinct() diff --git a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/TransportDeprecationInfoAction.java b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/TransportDeprecationInfoAction.java index 0ffcd0c01d18..1851816e8d14 100644 --- a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/TransportDeprecationInfoAction.java +++ b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/TransportDeprecationInfoAction.java @@ -151,9 +151,7 @@ public class TransportDeprecationInfoAction extends TransportMasterNodeReadActio DeprecationChecker.Components components, ActionListener>> listener ) { - List enabledCheckers = checkers.stream() - .filter(c -> c.enabled(components.settings())) - .collect(Collectors.toList()); + List enabledCheckers = checkers.stream().filter(c -> c.enabled(components.settings())).toList(); if (enabledCheckers.isEmpty()) { listener.onResponse(Collections.emptyMap()); return; diff --git a/x-pack/plugin/eql/qa/mixed-node/src/javaRestTest/java/org/elasticsearch/xpack/eql/qa/mixed_node/EqlSearchIT.java b/x-pack/plugin/eql/qa/mixed-node/src/javaRestTest/java/org/elasticsearch/xpack/eql/qa/mixed_node/EqlSearchIT.java index a0360f9f9033..5446e9c27a81 100644 --- a/x-pack/plugin/eql/qa/mixed-node/src/javaRestTest/java/org/elasticsearch/xpack/eql/qa/mixed_node/EqlSearchIT.java +++ b/x-pack/plugin/eql/qa/mixed-node/src/javaRestTest/java/org/elasticsearch/xpack/eql/qa/mixed_node/EqlSearchIT.java @@ -441,7 +441,7 @@ public class EqlSearchIT extends ESRestTestCase { } List actualList = new ArrayList<>(); - events.stream().forEach(m -> actualList.add(m.get("_id"))); + events.forEach(m -> actualList.add(m.get("_id"))); if (false == expected.equals(actualList)) { NotEqualMessageBuilder message = new NotEqualMessageBuilder(); diff --git a/x-pack/plugin/eql/src/main/java/org/elasticsearch/xpack/eql/analysis/AnalysisUtils.java b/x-pack/plugin/eql/src/main/java/org/elasticsearch/xpack/eql/analysis/AnalysisUtils.java index 8ab2365d3b2d..4f9abb1328b6 100644 --- a/x-pack/plugin/eql/src/main/java/org/elasticsearch/xpack/eql/analysis/AnalysisUtils.java +++ b/x-pack/plugin/eql/src/main/java/org/elasticsearch/xpack/eql/analysis/AnalysisUtils.java @@ -21,8 +21,6 @@ import java.util.LinkedHashSet; import java.util.Objects; import java.util.Set; -import static java.util.stream.Collectors.toList; - public final class AnalysisUtils { private AnalysisUtils() {} @@ -67,7 +65,7 @@ public final class AnalysisUtils { "Reference [" + u.qualifiedName() + "] is ambiguous (to disambiguate use quotes or qualifiers); matches any of " - + matches.stream().map(a -> "\"" + a.qualifier() + "\".\"" + a.name() + "\"").sorted().collect(toList()) + + matches.stream().map(a -> "\"" + a.qualifier() + "\".\"" + a.name() + "\"").sorted().toList() ); } diff --git a/x-pack/plugin/fleet/src/main/java/org/elasticsearch/xpack/fleet/Fleet.java b/x-pack/plugin/fleet/src/main/java/org/elasticsearch/xpack/fleet/Fleet.java index 5adea642ed16..95b3c86259aa 100644 --- a/x-pack/plugin/fleet/src/main/java/org/elasticsearch/xpack/fleet/Fleet.java +++ b/x-pack/plugin/fleet/src/main/java/org/elasticsearch/xpack/fleet/Fleet.java @@ -25,7 +25,6 @@ import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; import org.elasticsearch.cluster.node.DiscoveryNodes; import org.elasticsearch.cluster.routing.allocation.AllocationService; import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.Strings; import org.elasticsearch.common.io.stream.NamedWriteableRegistry; import org.elasticsearch.common.settings.ClusterSettings; import org.elasticsearch.common.settings.IndexScopedSettings; @@ -66,7 +65,6 @@ import java.util.EnumSet; import java.util.List; import java.util.Map; import java.util.function.Supplier; -import java.util.stream.Collectors; import static org.elasticsearch.xpack.core.ClientHelper.FLEET_ORIGIN; @@ -306,10 +304,7 @@ public class Fleet extends Plugin implements SystemIndexPlugin { if (dataStreamDescriptors.isEmpty() == false) { try { Request request = new Request( - dataStreamDescriptors.stream() - .map(SystemDataStreamDescriptor::getDataStreamName) - .collect(Collectors.toList()) - .toArray(Strings.EMPTY_ARRAY) + dataStreamDescriptors.stream().map(SystemDataStreamDescriptor::getDataStreamName).toArray(String[]::new) ); EnumSet