Skip to content

Commit 419a1c3

Browse files
committed
Add nullability annotations to core/spring-boot-testcontainers
See gh-46587
1 parent 4ad5d26 commit 419a1c3

17 files changed

+95
-56
lines changed

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/beans/TestcontainerBeanDefinition.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package org.springframework.boot.testcontainers.beans;
1818

19+
import org.jspecify.annotations.Nullable;
20+
1921
import org.springframework.beans.factory.config.BeanDefinition;
2022
import org.springframework.core.annotation.MergedAnnotations;
2123

@@ -32,7 +34,7 @@ public interface TestcontainerBeanDefinition extends BeanDefinition {
3234
* Return the container image name or {@code null} if the image name is not yet known.
3335
* @return the container image name
3436
*/
35-
String getContainerImageName();
37+
@Nullable String getContainerImageName();
3638

3739
/**
3840
* Return any annotations declared alongside the container.

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/beans/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Spring bean support classes for Testcontainers.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.testcontainers.beans;
22+
23+
import org.jspecify.annotations.NullMarked;

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/context/ImportTestcontainersRegistrar.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import java.util.Set;
2020

21+
import org.jspecify.annotations.Nullable;
2122
import org.testcontainers.lifecycle.Startable;
2223

2324
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
@@ -42,7 +43,7 @@ class ImportTestcontainersRegistrar implements ImportBeanDefinitionRegistrar {
4243

4344
private final ContainerFieldsImporter containerFieldsImporter;
4445

45-
private final DynamicPropertySourceMethodsImporter dynamicPropertySourceMethodsImporter;
46+
private final @Nullable DynamicPropertySourceMethodsImporter dynamicPropertySourceMethodsImporter;
4647

4748
ImportTestcontainersRegistrar(Environment environment) {
4849
this.containerFieldsImporter = new ContainerFieldsImporter();

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/context/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Spring context support classes for Testcontainers.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.testcontainers.context;
22+
23+
import org.jspecify.annotations.NullMarked;

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/lifecycle/TestcontainersLifecycleBeanPostProcessor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import org.apache.commons.logging.Log;
2828
import org.apache.commons.logging.LogFactory;
29+
import org.jspecify.annotations.Nullable;
2930
import org.testcontainers.containers.ContainerState;
3031
import org.testcontainers.containers.GenericContainer;
3132
import org.testcontainers.lifecycle.Startable;
@@ -145,7 +146,7 @@ private List<String> getBeanNames(Class<?> type) {
145146
return List.of(this.beanFactory.getBeanNamesForType(type, true, false));
146147
}
147148

148-
private List<Object> getBeans(List<String> beanNames) {
149+
private @Nullable List<Object> getBeans(List<String> beanNames) {
149150
List<Object> beans = new ArrayList<>(beanNames.size());
150151
for (String beanName : beanNames) {
151152
try {

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/lifecycle/TestcontainersStartup.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.util.Set;
2424
import java.util.stream.Collectors;
2525

26+
import org.jspecify.annotations.Nullable;
2627
import org.testcontainers.containers.Container;
2728
import org.testcontainers.lifecycle.Startable;
2829
import org.testcontainers.lifecycle.Startables;
@@ -72,11 +73,11 @@ void start(Collection<? extends Startable> startables) {
7273

7374
abstract void start(Collection<? extends Startable> startables);
7475

75-
static TestcontainersStartup get(ConfigurableEnvironment environment) {
76+
static TestcontainersStartup get(@Nullable ConfigurableEnvironment environment) {
7677
return get((environment != null) ? environment.getProperty(PROPERTY) : null);
7778
}
7879

79-
private static TestcontainersStartup get(String value) {
80+
private static TestcontainersStartup get(@Nullable String value) {
8081
if (value == null) {
8182
return SEQUENTIAL;
8283
}

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/lifecycle/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,7 @@
1818
* Utilities and helpers to allow testcontainers to be used in a Spring
1919
* {@link org.springframework.context.ApplicationContext ApplicationContext}.
2020
*/
21+
@NullMarked
2122
package org.springframework.boot.testcontainers.lifecycle;
23+
24+
import org.jspecify.annotations.NullMarked;

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Support for testcontainers.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.testcontainers;
22+
23+
import org.jspecify.annotations.NullMarked;

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/properties/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Dynamic container properties support.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.testcontainers.properties;
22+
23+
import org.jspecify.annotations.NullMarked;

core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/BeanOrigin.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
import java.util.Objects;
2020

21+
import org.jspecify.annotations.Nullable;
22+
2123
import org.springframework.beans.factory.config.BeanDefinition;
2224
import org.springframework.boot.origin.Origin;
2325

@@ -30,9 +32,9 @@ class BeanOrigin implements Origin {
3032

3133
private final String beanName;
3234

33-
private final String resourceDescription;
35+
private final @Nullable String resourceDescription;
3436

35-
BeanOrigin(String beanName, BeanDefinition beanDefinition) {
37+
BeanOrigin(String beanName, @Nullable BeanDefinition beanDefinition) {
3638
this.beanName = beanName;
3739
this.resourceDescription = (beanDefinition != null) ? beanDefinition.getResourceDescription() : null;
3840
}

0 commit comments

Comments
 (0)