Browse Source

Fix nullable annotations.

Transition nullable annotations previously missed to jspecify.

See: #4874
pull/4976/head
Christoph Strobl 8 months ago committed by Mark Paluch
parent
commit
829383022d
No known key found for this signature in database
GPG Key ID: 55BC6374BAA9D973
  1. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java
  2. 5
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/IndexConverters.java
  3. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoClientSettingsFactoryBean.java
  4. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SortingQueryCursorPreparer.java
  5. 14
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/LookupOperation.java
  6. 5
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/MongoEncryptionConverter.java
  7. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/encryption/EncryptionOptions.java
  8. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/GeospatialIndex.java
  9. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/SearchIndexDefinition.java
  10. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/SearchIndexInfo.java
  11. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/VectorIndex.java
  12. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/JsonSchemaProperty.java
  13. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/QueryCharacteristics.java
  14. 5
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/index/VectorIndexIntegrationTests.java
  15. 2
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/VersionedPersonRepositoryIntegrationTests.java

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java

@ -30,6 +30,7 @@ import org.bson.BsonBinary; @@ -30,6 +30,7 @@ import org.bson.BsonBinary;
import org.bson.BsonBinarySubType;
import org.bson.BsonNull;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.springframework.data.mongodb.core.mapping.Field;
import org.springframework.data.mongodb.core.query.Collation;
import org.springframework.data.mongodb.core.schema.IdentifiableJsonSchemaProperty;
@ -43,7 +44,6 @@ import org.springframework.data.mongodb.core.validation.Validator; @@ -43,7 +44,6 @@ import org.springframework.data.mongodb.core.validation.Validator;
import org.springframework.data.util.Optionals;
import org.springframework.lang.CheckReturnValue;
import org.springframework.lang.Contract;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;

5
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/IndexConverters.java

@ -18,10 +18,10 @@ package org.springframework.data.mongodb.core; @@ -18,10 +18,10 @@ package org.springframework.data.mongodb.core;
import java.util.concurrent.TimeUnit;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.mongodb.core.index.IndexDefinition;
import org.springframework.data.mongodb.core.index.IndexInfo;
import org.springframework.lang.Nullable;
import org.springframework.util.ObjectUtils;
import com.mongodb.client.model.Collation;
@ -124,8 +124,7 @@ abstract class IndexConverters { @@ -124,8 +124,7 @@ abstract class IndexConverters {
};
}
@Nullable
public static Collation fromDocument(@Nullable Document source) {
public static @Nullable Collation fromDocument(@Nullable Document source) {
if (source == null) {
return null;

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoClientSettingsFactoryBean.java

@ -25,8 +25,8 @@ import javax.net.ssl.SSLContext; @@ -25,8 +25,8 @@ import javax.net.ssl.SSLContext;
import org.bson.UuidRepresentation;
import org.bson.codecs.configuration.CodecRegistry;
import org.jspecify.annotations.Nullable;
import org.springframework.beans.factory.config.AbstractFactoryBean;
import org.springframework.lang.Nullable;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SortingQueryCursorPreparer.java

@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
package org.springframework.data.mongodb.core;
import org.bson.Document;
import org.springframework.lang.Nullable;
import org.jspecify.annotations.Nullable;
/**
* {@link CursorPreparer} that exposes its {@link Document sort document}.

14
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/LookupOperation.java

@ -18,12 +18,12 @@ package org.springframework.data.mongodb.core.aggregation; @@ -18,12 +18,12 @@ package org.springframework.data.mongodb.core.aggregation;
import java.util.function.Supplier;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.springframework.data.mongodb.core.aggregation.ExposedFields.ExposedField;
import org.springframework.data.mongodb.core.aggregation.FieldsExposingAggregationOperation.InheritsFieldsAggregationOperation;
import org.springframework.data.mongodb.core.aggregation.VariableOperators.Let;
import org.springframework.data.mongodb.core.aggregation.VariableOperators.Let.ExpressionVariable;
import org.springframework.lang.Contract;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
/**
@ -42,17 +42,13 @@ public class LookupOperation implements FieldsExposingAggregationOperation, Inhe @@ -42,17 +42,13 @@ public class LookupOperation implements FieldsExposingAggregationOperation, Inhe
private final String from;
@Nullable //
private final Field localField;
private final @Nullable Field localField;
@Nullable //
private final Field foreignField;
private final @Nullable Field foreignField;
@Nullable //
private final Let let;
private final @Nullable Let let;
@Nullable //
private final AggregationPipeline pipeline;
private final @Nullable AggregationPipeline pipeline;
private final ExposedField as;

5
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/MongoEncryptionConverter.java

@ -33,6 +33,7 @@ import org.bson.BsonValue; @@ -33,6 +33,7 @@ import org.bson.BsonValue;
import org.bson.Document;
import org.bson.types.Binary;
import org.jspecify.annotations.Nullable;
import org.springframework.core.CollectionFactory;
import org.springframework.data.mongodb.core.convert.MongoConversionContext;
import org.springframework.data.mongodb.core.convert.MongoConversionContext.OperatorContext;
@ -45,7 +46,6 @@ import org.springframework.data.mongodb.core.mapping.Encrypted; @@ -45,7 +46,6 @@ import org.springframework.data.mongodb.core.mapping.Encrypted;
import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
import org.springframework.data.mongodb.core.mapping.Queryable;
import org.springframework.data.mongodb.util.BsonUtils;
import org.springframework.lang.Nullable;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
@ -72,9 +72,8 @@ public class MongoEncryptionConverter implements EncryptingConverter<Object, Obj @@ -72,9 +72,8 @@ public class MongoEncryptionConverter implements EncryptingConverter<Object, Obj
this.keyResolver = keyResolver;
}
@Nullable
@Override
public Object read(Object value, MongoConversionContext context) {
public @Nullable Object read(Object value, MongoConversionContext context) {
Object decrypted = EncryptingConverter.super.read(value, context);
return decrypted instanceof BsonValue bsonValue ? BsonUtils.toJavaType(bsonValue) : decrypted;

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/encryption/EncryptionOptions.java

@ -18,7 +18,7 @@ package org.springframework.data.mongodb.core.encryption; @@ -18,7 +18,7 @@ package org.springframework.data.mongodb.core.encryption;
import java.util.Map;
import java.util.Objects;
import org.springframework.lang.Nullable;
import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/GeospatialIndex.java

@ -18,8 +18,8 @@ package org.springframework.data.mongodb.core.index; @@ -18,8 +18,8 @@ package org.springframework.data.mongodb.core.index;
import java.util.Optional;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.springframework.data.mongodb.core.query.Collation;
import org.springframework.lang.Nullable;
import org.springframework.lang.Contract;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/SearchIndexDefinition.java

@ -16,11 +16,11 @@ @@ -16,11 +16,11 @@
package org.springframework.data.mongodb.core.index;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
import org.springframework.data.util.TypeInformation;
import org.springframework.lang.Nullable;
/**
* Definition for an Atlas Search Index (Search Index or Vector Index).

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/SearchIndexInfo.java

@ -18,12 +18,12 @@ package org.springframework.data.mongodb.core.index; @@ -18,12 +18,12 @@ package org.springframework.data.mongodb.core.index;
import java.util.function.Supplier;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
import org.springframework.data.util.Lazy;
import org.springframework.data.util.TypeInformation;
import org.springframework.lang.Nullable;
/**
* Index information for a MongoDB Search Index.

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/VectorIndex.java

@ -20,13 +20,13 @@ import java.util.List; @@ -20,13 +20,13 @@ import java.util.List;
import java.util.function.Consumer;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.mongodb.core.convert.QueryMapper;
import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
import org.springframework.data.util.TypeInformation;
import org.springframework.lang.Contract;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/JsonSchemaProperty.java

@ -18,6 +18,7 @@ package org.springframework.data.mongodb.core.schema; @@ -18,6 +18,7 @@ package org.springframework.data.mongodb.core.schema;
import java.util.Collection;
import java.util.List;
import org.jspecify.annotations.Nullable;
import org.springframework.data.mongodb.core.schema.IdentifiableJsonSchemaProperty.ArrayJsonSchemaProperty;
import org.springframework.data.mongodb.core.schema.IdentifiableJsonSchemaProperty.BooleanJsonSchemaProperty;
import org.springframework.data.mongodb.core.schema.IdentifiableJsonSchemaProperty.DateJsonSchemaProperty;
@ -32,7 +33,6 @@ import org.springframework.data.mongodb.core.schema.IdentifiableJsonSchemaProper @@ -32,7 +33,6 @@ import org.springframework.data.mongodb.core.schema.IdentifiableJsonSchemaProper
import org.springframework.data.mongodb.core.schema.IdentifiableJsonSchemaProperty.UntypedJsonSchemaProperty;
import org.springframework.data.mongodb.core.schema.TypedJsonSchemaObject.NumericJsonSchemaObject;
import org.springframework.data.mongodb.core.schema.TypedJsonSchemaObject.ObjectJsonSchemaObject;
import org.springframework.lang.Nullable;
/**
* A {@literal property} or {@literal patternProperty} within a {@link JsonSchemaObject} of {@code type : 'object'}.

2
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/QueryCharacteristics.java

@ -22,9 +22,9 @@ import java.util.List; @@ -22,9 +22,9 @@ import java.util.List;
import org.bson.BsonNull;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.springframework.data.domain.Range;
import org.springframework.data.domain.Range.Bound;
import org.springframework.lang.Nullable;
/**
* Encapsulation of individual {@link QueryCharacteristic query characteristics} used to define queries that can be

5
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/index/VectorIndexIntegrationTests.java

@ -22,6 +22,7 @@ import static org.springframework.data.mongodb.test.util.Assertions.assertThat; @@ -22,6 +22,7 @@ import static org.springframework.data.mongodb.test.util.Assertions.assertThat;
import java.util.List;
import org.bson.Document;
import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@ -34,7 +35,6 @@ import org.springframework.data.mongodb.core.mapping.Field; @@ -34,7 +35,6 @@ import org.springframework.data.mongodb.core.mapping.Field;
import org.springframework.data.mongodb.test.util.AtlasContainer;
import org.springframework.data.mongodb.test.util.MongoTestTemplate;
import org.springframework.data.mongodb.test.util.MongoTestUtils;
import org.springframework.lang.Nullable;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
@ -200,8 +200,7 @@ class VectorIndexIntegrationTests { @@ -200,8 +200,7 @@ class VectorIndexIntegrationTests {
});
}
@Nullable
private Document readRawIndexInfo(String name) {
private @Nullable Document readRawIndexInfo(String name) {
AggregateIterable<Document> indexes = template.execute(Movie.class, collection -> {
return collection.aggregate(List.of(new Document("$listSearchIndexes", new Document("name", name))));

2
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/VersionedPersonRepositoryIntegrationTests.java

@ -19,6 +19,7 @@ import static org.assertj.core.api.Assertions.*; @@ -19,6 +19,7 @@ import static org.assertj.core.api.Assertions.*;
import org.bson.Document;
import org.bson.types.ObjectId;
import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@ -34,7 +35,6 @@ import org.springframework.data.mongodb.test.util.Client; @@ -34,7 +35,6 @@ import org.springframework.data.mongodb.test.util.Client;
import org.springframework.data.mongodb.test.util.MongoClientExtension;
import org.springframework.data.mongodb.test.util.MongoTestUtils;
import org.springframework.data.repository.CrudRepository;
import org.springframework.lang.Nullable;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;

Loading…
Cancel
Save