From d37098153cd92e2a0239db21f11e6bd5ec790e21 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 11 Jun 2024 09:35:59 -0700 Subject: [PATCH 1/3] Polish --- .../flyway/NativeImageResourceProviderCustomizer.java | 5 ++--- .../testing/testcontainers/vanilla/MyIntegrationTests.kt | 2 ++ .../testcontainers/serviceconnections/MyIntegrationTests.kt | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProviderCustomizer.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProviderCustomizer.java index 3abbee4bf94..c9e3006b911 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProviderCustomizer.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProviderCustomizer.java @@ -54,16 +54,15 @@ class NativeImageResourceProviderCustomizer extends ResourceProviderCustomizer { configuration.isFailOnMissingLocations()); } catch (NoSuchMethodError ex) { - // Flyway 10 return createFlyway10Scanner(configuration); } } private static Scanner createFlyway10Scanner(FluentConfiguration configuration) throws LinkageError { try { - Constructor scannerConstructor = Scanner.class.getDeclaredConstructor(Class.class, boolean.class, + Constructor constructor = Scanner.class.getDeclaredConstructor(Class.class, boolean.class, ResourceNameCache.class, LocationScannerCache.class, Configuration.class); - return (Scanner) scannerConstructor.newInstance(JavaMigration.class, false, new ResourceNameCache(), + return (Scanner) constructor.newInstance(JavaMigration.class, false, new ResourceNameCache(), new LocationScannerCache(), configuration); } catch (Exception ex) { diff --git a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/testing/testcontainers/vanilla/MyIntegrationTests.kt b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/testing/testcontainers/vanilla/MyIntegrationTests.kt index d15a1bb6c63..e62e5804d7d 100644 --- a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/testing/testcontainers/vanilla/MyIntegrationTests.kt +++ b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/testing/testcontainers/vanilla/MyIntegrationTests.kt @@ -32,8 +32,10 @@ class MyIntegrationTests { } companion object { + @Container val neo4j = Neo4jContainer("neo4j:5") + } } diff --git a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/testing/testcontainers/serviceconnections/MyIntegrationTests.kt b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/testing/testcontainers/serviceconnections/MyIntegrationTests.kt index 6f84114eb20..a5e1071d544 100644 --- a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/testing/testcontainers/serviceconnections/MyIntegrationTests.kt +++ b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/testing/testcontainers/serviceconnections/MyIntegrationTests.kt @@ -34,9 +34,12 @@ class MyIntegrationTests { } companion object { + @Container @ServiceConnection @JvmStatic val neo4j = Neo4jContainer("neo4j:5"); + } + } From 17adcfc180d9e967592bc9431d41e53bfe9a5e77 Mon Sep 17 00:00:00 2001 From: Piyal Ahmed Date: Tue, 11 Jun 2024 16:18:49 +0600 Subject: [PATCH 2/3] Use constructor rather than Collection.addAll See gh-41053 --- .../boot/autoconfigure/flyway/NativeImageResourceProvider.java | 3 +-- .../boot/test/context/ImportsContextCustomizer.java | 3 +-- .../ServiceConnectionAutoConfigurationRegistrar.java | 3 +-- .../springframework/boot/web/embedded/tomcat/TldPatterns.java | 3 +-- .../boot/web/embedded/tomcat/TomcatEmbeddedContext.java | 3 +-- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProvider.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProvider.java index 63678acf903..de28c81ba6c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProvider.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProvider.java @@ -96,8 +96,7 @@ class NativeImageResourceProvider implements ResourceProvider { ensureInitialized(); Predicate matchesPrefixAndSuffixes = (locatedResource) -> StringUtils .startsAndEndsWith(locatedResource.resource.getFilename(), prefix, suffixes); - List result = new ArrayList<>(); - result.addAll(this.scanner.getResources(prefix, suffixes)); + List result = new ArrayList<>(this.scanner.getResources(prefix, suffixes)); this.locatedResources.stream() .filter(matchesPrefixAndSuffixes) .map(this::asClassPathResource) diff --git a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java index 2c2aa3d73c8..51517cb961d 100644 --- a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java +++ b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java @@ -240,8 +240,7 @@ class ImportsContextCustomizer implements ContextCustomizer { this.key = Collections.unmodifiableSet(synthesize(annotations)); } else { - Set key = new HashSet<>(); - key.addAll(determinedImports); + Set key = new HashSet<>(determinedImports); Set componentScanning = annotations.stream() .filter((annotation) -> annotation.getType().equals(ComponentScan.class)) .map(MergedAnnotation::synthesize) diff --git a/spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfigurationRegistrar.java b/spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfigurationRegistrar.java index 8e9be4c3223..d2cd3c498ce 100644 --- a/spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfigurationRegistrar.java +++ b/spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfigurationRegistrar.java @@ -68,8 +68,7 @@ class ServiceConnectionAutoConfigurationRegistrar implements ImportBeanDefinitio private Set getAnnotations(ConfigurableListableBeanFactory beanFactory, String beanName, BeanDefinition beanDefinition) { - Set annotations = new LinkedHashSet<>(); - annotations.addAll(beanFactory.findAllAnnotationsOnBean(beanName, ServiceConnection.class, false)); + Set annotations = new LinkedHashSet<>(beanFactory.findAllAnnotationsOnBean(beanName, ServiceConnection.class, false)); if (beanDefinition instanceof TestcontainerBeanDefinition testcontainerBeanDefinition) { testcontainerBeanDefinition.getAnnotations() .stream(ServiceConnection.class) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TldPatterns.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TldPatterns.java index 8c1cd0cf353..a12a448f3a4 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TldPatterns.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TldPatterns.java @@ -195,8 +195,7 @@ final class TldPatterns { static final Set DEFAULT_SCAN; static { - Set scanPatterns = new LinkedHashSet<>(); - scanPatterns.addAll(TOMCAT_SCAN); + Set scanPatterns = new LinkedHashSet<>(TOMCAT_SCAN); DEFAULT_SCAN = Collections.unmodifiableSet(scanPatterns); } diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TomcatEmbeddedContext.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TomcatEmbeddedContext.java index 48f37a1bb93..2ddea35a5c3 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TomcatEmbeddedContext.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TomcatEmbeddedContext.java @@ -128,8 +128,7 @@ class TomcatEmbeddedContext extends StandardContext { @Override public String[] findMimeMappings() { - List mappings = new ArrayList<>(); - mappings.addAll(Arrays.asList(super.findMimeMappings())); + List mappings = new ArrayList<>(Arrays.asList(super.findMimeMappings())); if (this.mimeMappings != null) { this.mimeMappings.forEach((mapping) -> mappings.add(mapping.getExtension())); } From ecc9a2352d9e132fa56bc61cf0ec813031f1682c Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 11 Jun 2024 09:41:57 -0700 Subject: [PATCH 3/3] Polish "Use constructor rather than Collection.addAll" See gh-41053 --- .../boot/build/toolchain/ToolchainPlugin.java | 3 +-- .../autoconfigure/flyway/NativeImageResourceProvider.java | 2 +- .../ServiceConnectionAutoConfigurationRegistrar.java | 5 +++-- .../org/springframework/boot/context/config/ConfigData.java | 3 +-- .../boot/web/embedded/tomcat/TldPatterns.java | 2 +- .../boot/web/embedded/tomcat/TomcatEmbeddedContext.java | 2 +- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/toolchain/ToolchainPlugin.java b/buildSrc/src/main/java/org/springframework/boot/build/toolchain/ToolchainPlugin.java index 82abe1cd65d..112e276c34b 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/toolchain/ToolchainPlugin.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/toolchain/ToolchainPlugin.java @@ -71,8 +71,7 @@ public class ToolchainPlugin implements Plugin { } private void configureTestToolchain(Project project, ToolchainExtension toolchain) { - List jvmArgs = new ArrayList<>(); - jvmArgs.addAll(toolchain.getTestJvmArgs().getOrElse(Collections.emptyList())); + List jvmArgs = new ArrayList<>(toolchain.getTestJvmArgs().getOrElse(Collections.emptyList())); project.getTasks().withType(Test.class, (test) -> test.jvmArgs(jvmArgs)); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProvider.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProvider.java index de28c81ba6c..88fde2907c1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProvider.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/NativeImageResourceProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfigurationRegistrar.java b/spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfigurationRegistrar.java index d2cd3c498ce..ae6c9b10ea4 100644 --- a/spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfigurationRegistrar.java +++ b/spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfigurationRegistrar.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -68,7 +68,8 @@ class ServiceConnectionAutoConfigurationRegistrar implements ImportBeanDefinitio private Set getAnnotations(ConfigurableListableBeanFactory beanFactory, String beanName, BeanDefinition beanDefinition) { - Set annotations = new LinkedHashSet<>(beanFactory.findAllAnnotationsOnBean(beanName, ServiceConnection.class, false)); + Set annotations = new LinkedHashSet<>( + beanFactory.findAllAnnotationsOnBean(beanName, ServiceConnection.class, false)); if (beanDefinition instanceof TestcontainerBeanDefinition testcontainerBeanDefinition) { testcontainerBeanDefinition.getAnnotations() .stream(ServiceConnection.class) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/ConfigData.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/ConfigData.java index a4a0cfad1d2..809d1a06c59 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/ConfigData.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/config/ConfigData.java @@ -239,8 +239,7 @@ public final class ConfigData { } private Options copy(Consumer> processor) { - EnumSet