Skip to content

Commit bf54614

Browse files
committed
Add nullability annotations to module/spring-boot-data-mongodb
See gh-46587
1 parent cea8fed commit bf54614

File tree

7 files changed

+18
-2
lines changed

7 files changed

+18
-2
lines changed

module/spring-boot-data-mongodb/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ dependencies {
3232
api("org.springframework.data:spring-data-mongodb")
3333

3434
compileOnly("com.fasterxml.jackson.core:jackson-annotations")
35+
compileOnly("com.google.code.findbugs:jsr305")
3536

3637
optional(project(":core:spring-boot-autoconfigure"))
3738
optional(project(":module:spring-boot-health"))

module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoDatabaseFactoryConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.springframework.data.mongodb.MongoDatabaseFactory;
2828
import org.springframework.data.mongodb.core.MongoDatabaseFactorySupport;
2929
import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory;
30+
import org.springframework.util.Assert;
3031

3132
/**
3233
* Configuration for a {@link MongoDatabaseFactory}.
@@ -49,6 +50,7 @@ MongoDatabaseFactorySupport<?> mongoDatabaseFactory(MongoClient mongoClient, Mon
4950
if (database == null) {
5051
database = connectionDetails.getConnectionString().getDatabase();
5152
}
53+
Assert.hasText(database, "Database name must not be empty");
5254
return new SimpleMongoClientDatabaseFactory(mongoClient, database);
5355
}
5456

module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoDatabaseFactoryDependentConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.mongodb.ClientSessionOptions;
2020
import com.mongodb.client.ClientSession;
2121
import com.mongodb.client.MongoDatabase;
22+
import org.jspecify.annotations.Nullable;
2223

2324
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2425
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -112,7 +113,7 @@ public MongoDatabaseFactory withSession(ClientSession session) {
112113
return this.mongoDatabaseFactory.withSession(session);
113114
}
114115

115-
private String getGridFsDatabase(MongoConnectionDetails connectionDetails) {
116+
private @Nullable String getGridFsDatabase(MongoConnectionDetails connectionDetails) {
116117
return (connectionDetails.getGridFs() != null) ? connectionDetails.getGridFs().getDatabase() : null;
117118
}
118119

module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveDataAutoConfiguration.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.mongodb.reactivestreams.client.MongoDatabase;
2525
import org.bson.codecs.Codec;
2626
import org.bson.codecs.configuration.CodecRegistry;
27+
import org.jspecify.annotations.Nullable;
2728
import reactor.core.publisher.Mono;
2829

2930
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -50,6 +51,7 @@
5051
import org.springframework.data.mongodb.core.convert.MongoConverter;
5152
import org.springframework.data.mongodb.gridfs.ReactiveGridFsOperations;
5253
import org.springframework.data.mongodb.gridfs.ReactiveGridFsTemplate;
54+
import org.springframework.util.Assert;
5355
import org.springframework.util.StringUtils;
5456

5557
/**
@@ -87,6 +89,7 @@ SimpleReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory(MongoClient mong
8789
if (database == null) {
8890
database = this.connectionDetails.getConnectionString().getDatabase();
8991
}
92+
Assert.hasText(database, "Database name must not be empty");
9093
return new SimpleReactiveMongoDatabaseFactory(mongo, database);
9194
}
9295

@@ -143,7 +146,7 @@ public Mono<MongoDatabase> getMongoDatabase() throws DataAccessException {
143146
return this.delegate.getMongoDatabase();
144147
}
145148

146-
private String getGridFsDatabase(MongoConnectionDetails connectionDetails) {
149+
private @Nullable String getGridFsDatabase(MongoConnectionDetails connectionDetails) {
147150
return (connectionDetails.getGridFs() != null) ? connectionDetails.getGridFs().getDatabase() : null;
148151
}
149152

module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/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 Spring Data MongoDB health.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.data.mongodb.autoconfigure.health;
22+
23+
import org.jspecify.annotations.NullMarked;

module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/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 Spring Data MongoDB.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.data.mongodb.autoconfigure;
22+
23+
import org.jspecify.annotations.NullMarked;

module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* MongoDB health integration using Spring Data MongoDB.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.data.mongodb.health;
22+
23+
import org.jspecify.annotations.NullMarked;

0 commit comments

Comments
 (0)