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