Skip to content

Commit 1fb95fb

Browse files
committed
Add nullability annotations to module/spring-boot-actuator-autoconfigure
See gh-46587
1 parent 50920f2 commit 1fb95fb

File tree

60 files changed

+269
-98
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+269
-98
lines changed

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/OnEndpointElementCondition.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,16 @@
1818

1919
import java.lang.annotation.Annotation;
2020

21+
import org.jspecify.annotations.Nullable;
22+
2123
import org.springframework.boot.autoconfigure.condition.ConditionMessage;
2224
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
2325
import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
2426
import org.springframework.context.annotation.ConditionContext;
2527
import org.springframework.core.annotation.AnnotationAttributes;
2628
import org.springframework.core.env.Environment;
2729
import org.springframework.core.type.AnnotatedTypeMetadata;
30+
import org.springframework.util.Assert;
2831

2932
/**
3033
* Base endpoint element condition. An element can be disabled globally through the
@@ -49,6 +52,7 @@ protected OnEndpointElementCondition(String prefix, Class<? extends Annotation>
4952
public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) {
5053
AnnotationAttributes annotationAttributes = AnnotationAttributes
5154
.fromMap(metadata.getAnnotationAttributes(this.annotationType.getName()));
55+
Assert.state(annotationAttributes != null, "'annotationAttributes' must not be null");
5256
String endpointName = annotationAttributes.getString("value");
5357
ConditionOutcome outcome = getEndpointOutcome(context, endpointName);
5458
if (outcome != null) {
@@ -57,7 +61,7 @@ public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeM
5761
return getDefaultOutcome(context, annotationAttributes);
5862
}
5963

60-
protected ConditionOutcome getEndpointOutcome(ConditionContext context, String endpointName) {
64+
protected @Nullable ConditionOutcome getEndpointOutcome(ConditionContext context, String endpointName) {
6165
Environment environment = context.getEnvironment();
6266
String enabledProperty = this.prefix + endpointName + ".enabled";
6367
if (environment.containsProperty(enabledProperty)) {

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/package-info.java

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

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.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.actuate.autoconfigure.availability;
1818

19+
import org.jspecify.annotations.Nullable;
20+
1921
import org.springframework.boot.actuate.availability.LivenessStateHealthIndicator;
2022
import org.springframework.boot.actuate.availability.ReadinessStateHealthIndicator;
2123
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -99,7 +101,7 @@ public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeM
99101
return ConditionOutcome.noMatch(message.because("not running on a supported cloud platform"));
100102
}
101103

102-
private ConditionOutcome onProperty(Environment environment, ConditionMessage.Builder message,
104+
private @Nullable ConditionOutcome onProperty(Environment environment, ConditionMessage.Builder message,
103105
String propertyName) {
104106
String enabled = environment.getProperty(propertyName);
105107
if (enabled != null) {

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroup.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import java.util.HashSet;
2121
import java.util.Set;
2222

23+
import org.jspecify.annotations.Nullable;
24+
2325
import org.springframework.boot.actuate.endpoint.SecurityContext;
2426
import org.springframework.boot.actuate.health.AdditionalHealthEndpointPath;
2527
import org.springframework.boot.actuate.health.HealthEndpointGroup;
@@ -36,9 +38,9 @@ class AvailabilityProbesHealthEndpointGroup implements HealthEndpointGroup {
3638

3739
private final Set<String> members;
3840

39-
private final AdditionalHealthEndpointPath additionalPath;
41+
private final @Nullable AdditionalHealthEndpointPath additionalPath;
4042

41-
AvailabilityProbesHealthEndpointGroup(AdditionalHealthEndpointPath additionalPath, String... members) {
43+
AvailabilityProbesHealthEndpointGroup(@Nullable AdditionalHealthEndpointPath additionalPath, String... members) {
4244
this.members = new HashSet<>(Arrays.asList(members));
4345
this.additionalPath = additionalPath;
4446
}
@@ -69,7 +71,7 @@ public HttpCodeStatusMapper getHttpCodeStatusMapper() {
6971
}
7072

7173
@Override
72-
public AdditionalHealthEndpointPath getAdditionalPath() {
74+
public @Nullable AdditionalHealthEndpointPath getAdditionalPath() {
7375
return this.additionalPath;
7476
}
7577

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroups.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import java.util.Objects;
2626
import java.util.Set;
2727

28+
import org.jspecify.annotations.Nullable;
29+
2830
import org.springframework.boot.actuate.endpoint.EndpointId;
2931
import org.springframework.boot.actuate.endpoint.web.AdditionalPathsMapper;
3032
import org.springframework.boot.actuate.endpoint.web.WebServerNamespace;
@@ -101,7 +103,7 @@ public Set<String> getNames() {
101103
}
102104

103105
@Override
104-
public HealthEndpointGroup get(String name) {
106+
public @Nullable HealthEndpointGroup get(String name) {
105107
HealthEndpointGroup group = this.groups.get(name);
106108
if (group == null || isProbeGroup(name)) {
107109
group = this.probeGroups.get(name);
@@ -114,7 +116,7 @@ private boolean isProbeGroup(String name) {
114116
}
115117

116118
@Override
117-
public List<String> getAdditionalPaths(EndpointId endpointId, WebServerNamespace webServerNamespace) {
119+
public @Nullable List<String> getAdditionalPaths(EndpointId endpointId, WebServerNamespace webServerNamespace) {
118120
if (!HealthEndpoint.ID.equals(endpointId)) {
119121
return null;
120122
}

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,7 @@
1818
* Auto-configuration that extends health endpoints so that they can be used as
1919
* availability probes.
2020
*/
21+
@NullMarked
2122
package org.springframework.boot.actuate.autoconfigure.availability;
23+
24+
import org.jspecify.annotations.NullMarked;

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Auto-configuration for actuator Spring Bean concerns.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.actuate.autoconfigure.beans;
22+
23+
import org.jspecify.annotations.NullMarked;

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpoint.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.fasterxml.jackson.annotation.JsonInclude;
2727
import com.fasterxml.jackson.annotation.JsonInclude.Include;
2828
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
29+
import org.jspecify.annotations.Nullable;
2930

3031
import org.springframework.boot.actuate.endpoint.OperationResponseBody;
3132
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
@@ -71,7 +72,7 @@ public ConditionsDescriptor conditions() {
7172
return new ConditionsDescriptor(contextConditionEvaluations);
7273
}
7374

74-
private ConfigurableApplicationContext getConfigurableParent(ConfigurableApplicationContext context) {
75+
private @Nullable ConfigurableApplicationContext getConfigurableParent(ConfigurableApplicationContext context) {
7576
ApplicationContext parent = context.getParent();
7677
if (parent instanceof ConfigurableApplicationContext configurableParent) {
7778
return configurableParent;
@@ -111,7 +112,7 @@ public static final class ContextConditionsDescriptor {
111112

112113
private final Set<String> unconditionalClasses;
113114

114-
private final String parentId;
115+
private final @Nullable String parentId;
115116

116117
public ContextConditionsDescriptor(ConfigurableApplicationContext context) {
117118
ConditionEvaluationReport report = ConditionEvaluationReport.get(context.getBeanFactory());
@@ -150,7 +151,7 @@ public Set<String> getUnconditionalClasses() {
150151
return this.unconditionalClasses;
151152
}
152153

153-
public String getParentId() {
154+
public @Nullable String getParentId() {
154155
return this.parentId;
155156
}
156157

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/package-info.java

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

module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Auto-configuration for actuator Spring Context concerns.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.actuate.autoconfigure.context;
22+
23+
import org.jspecify.annotations.NullMarked;

0 commit comments

Comments
 (0)