From 52fbdad5a3bfe75d1599766ed58eaf2fed5d5424 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Tue, 8 Nov 2022 14:23:32 +0100 Subject: [PATCH] Add Nullable annotation to parameter of overridden equals method. Closes: #1325 Original pull request: #1326 --- .../data/cassandra/config/KeyspaceActions.java | 3 ++- .../springframework/data/cassandra/core/DeleteOptions.java | 2 +- .../springframework/data/cassandra/core/InsertOptions.java | 2 +- .../springframework/data/cassandra/core/UpdateOptions.java | 2 +- .../data/cassandra/core/convert/SchemaFactory.java | 3 ++- .../data/cassandra/core/cql/CqlIdentifier.java | 3 ++- .../data/cassandra/core/cql/KeyspaceIdentifier.java | 3 ++- .../data/cassandra/core/cql/QueryOptions.java | 2 +- .../data/cassandra/core/cql/WriteOptions.java | 2 +- .../core/cql/keyspace/CreateKeyspaceSpecification.java | 2 +- .../core/cql/keyspace/DropKeyspaceSpecification.java | 3 ++- .../core/cql/keyspace/KeyspaceActionSpecification.java | 3 ++- .../core/cql/keyspace/KeyspaceOptionsSpecification.java | 2 +- .../core/cql/support/MapPreparedStatementCache.java | 3 ++- .../data/cassandra/core/mapping/BasicMapId.java | 2 +- .../data/cassandra/core/mapping/EntityMapping.java | 2 +- .../data/cassandra/core/mapping/MapIdProxyDelegate.java | 2 +- .../data/cassandra/core/mapping/PropertyMapping.java | 2 +- .../data/cassandra/core/query/ColumnName.java | 3 ++- .../springframework/data/cassandra/core/query/Columns.java | 7 ++++--- .../data/cassandra/core/query/Criteria.java | 2 +- .../data/cassandra/core/query/CriteriaDefinition.java | 2 +- .../springframework/data/cassandra/core/query/Query.java | 3 ++- .../springframework/data/cassandra/util/MapBuilder.java | 2 +- .../CassandraPersistentEntityOrderPropertiesUnitTests.java | 3 ++- .../compositeprimarykey/entity/CorrelationEntity.java | 5 +++-- .../data/cassandra/support/UserDefinedTypeBuilder.java | 2 +- 27 files changed, 42 insertions(+), 30 deletions(-) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/KeyspaceActions.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/KeyspaceActions.java index 1dc8f66e6..fba57657c 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/KeyspaceActions.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/KeyspaceActions.java @@ -19,6 +19,7 @@ import java.util.Arrays; import java.util.List; import org.springframework.data.cassandra.core.cql.keyspace.KeyspaceActionSpecification; +import org.springframework.lang.Nullable; import org.springframework.util.ObjectUtils; /** @@ -48,7 +49,7 @@ public final class KeyspaceActions { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/DeleteOptions.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/DeleteOptions.java index c4c2c4b6f..5465277ae 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/DeleteOptions.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/DeleteOptions.java @@ -109,7 +109,7 @@ public class DeleteOptions extends WriteOptions { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/InsertOptions.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/InsertOptions.java index c1fdd2e91..2cfe4ad3a 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/InsertOptions.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/InsertOptions.java @@ -107,7 +107,7 @@ public class InsertOptions extends WriteOptions { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/UpdateOptions.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/UpdateOptions.java index 50720bc1d..a67ee1290 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/UpdateOptions.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/UpdateOptions.java @@ -111,7 +111,7 @@ public class UpdateOptions extends WriteOptions { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/convert/SchemaFactory.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/convert/SchemaFactory.java index 7fc2f26ec..5ea9a1e66 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/convert/SchemaFactory.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/convert/SchemaFactory.java @@ -32,6 +32,7 @@ import org.springframework.data.cassandra.core.mapping.UserTypeResolver; import org.springframework.data.convert.CustomConversions; import org.springframework.data.mapping.MappingException; import org.springframework.data.mapping.context.MappingContext; +import org.springframework.lang.Nullable; import org.springframework.util.Assert; import com.datastax.oss.driver.api.core.CqlIdentifier; @@ -402,7 +403,7 @@ public class SchemaFactory { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) return true; if (!(o instanceof com.datastax.oss.driver.api.core.type.UserDefinedType)) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlIdentifier.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlIdentifier.java index 05ff4ba4f..c820a7c05 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlIdentifier.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlIdentifier.java @@ -18,6 +18,7 @@ package org.springframework.data.cassandra.core.cql; import java.io.Serializable; import java.util.regex.Pattern; +import org.springframework.lang.Nullable; import org.springframework.util.Assert; /** @@ -237,7 +238,7 @@ public final class CqlIdentifier implements Comparable, Serializa * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/KeyspaceIdentifier.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/KeyspaceIdentifier.java index 37df5eece..446d74e2a 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/KeyspaceIdentifier.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/KeyspaceIdentifier.java @@ -17,6 +17,7 @@ package org.springframework.data.cassandra.core.cql; import java.util.regex.Pattern; +import org.springframework.lang.Nullable; import org.springframework.util.Assert; import com.datastax.oss.driver.api.core.CqlIdentifier; @@ -122,7 +123,7 @@ public final class KeyspaceIdentifier implements Comparable * equal to a {@link KeyspaceIdentifier}. */ @Override - public boolean equals(Object that) { + public boolean equals(@Nullable Object that) { if (this == that) { return true; } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/QueryOptions.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/QueryOptions.java index 9140f8ed7..222cd0708 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/QueryOptions.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/QueryOptions.java @@ -217,7 +217,7 @@ public class QueryOptions { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/WriteOptions.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/WriteOptions.java index efdadeaad..09e9c4999 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/WriteOptions.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/WriteOptions.java @@ -112,7 +112,7 @@ public class WriteOptions extends QueryOptions { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/keyspace/CreateKeyspaceSpecification.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/keyspace/CreateKeyspaceSpecification.java index 961435ae9..8c112ea2e 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/keyspace/CreateKeyspaceSpecification.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/keyspace/CreateKeyspaceSpecification.java @@ -165,7 +165,7 @@ public class CreateKeyspaceSpecification extends KeyspaceOptionsSpecification { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object object) { + public boolean equals(@Nullable Object object) { if (this == object) { return true; @@ -390,7 +391,7 @@ public class Columns implements Iterable { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; } @@ -495,7 +496,7 @@ public class Columns implements Iterable { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Criteria.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Criteria.java index de730341a..378b605cf 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Criteria.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Criteria.java @@ -280,7 +280,7 @@ public class Criteria implements CriteriaDefinition { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { if (this == obj) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/CriteriaDefinition.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/CriteriaDefinition.java index b9239d827..6b46d8674 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/CriteriaDefinition.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/CriteriaDefinition.java @@ -102,7 +102,7 @@ public interface CriteriaDefinition { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Query.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Query.java index 50b4fe060..1f212757c 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Query.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Query.java @@ -31,6 +31,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Order; +import org.springframework.lang.Nullable; import org.springframework.util.Assert; /** @@ -303,7 +304,7 @@ public class Query implements Filter { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { if (this == obj) { return true; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/util/MapBuilder.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/util/MapBuilder.java index 7b32b283e..6fa804bd6 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/util/MapBuilder.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/util/MapBuilder.java @@ -198,7 +198,7 @@ public class MapBuilder implements Map { * @see java.lang.Object#equals(java.lang.Object) */ @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { return map.equals(o); } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/mapping/CassandraPersistentEntityOrderPropertiesUnitTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/mapping/CassandraPersistentEntityOrderPropertiesUnitTests.java index f96e6d162..f194f2265 100755 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/mapping/CassandraPersistentEntityOrderPropertiesUnitTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/mapping/CassandraPersistentEntityOrderPropertiesUnitTests.java @@ -26,6 +26,7 @@ import org.junit.jupiter.api.Test; import org.springframework.data.annotation.Id; import org.springframework.data.cassandra.core.cql.PrimaryKeyType; import org.springframework.data.mapping.PropertyHandler; +import org.springframework.lang.Nullable; /** * Unit tests for {@link CassandraMappingContext}. @@ -110,7 +111,7 @@ class CassandraPersistentEntityOrderPropertiesUnitTests { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { if (this == obj) return true; if (obj == null) diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/repository/forcequote/compositeprimarykey/entity/CorrelationEntity.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/repository/forcequote/compositeprimarykey/entity/CorrelationEntity.java index 9ac001462..5359feed7 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/repository/forcequote/compositeprimarykey/entity/CorrelationEntity.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/repository/forcequote/compositeprimarykey/entity/CorrelationEntity.java @@ -25,6 +25,7 @@ import org.springframework.data.cassandra.core.mapping.PrimaryKey; import org.springframework.data.cassandra.core.mapping.PrimaryKeyClass; import org.springframework.data.cassandra.core.mapping.PrimaryKeyColumn; import org.springframework.data.cassandra.core.mapping.Table; +import org.springframework.lang.Nullable; /** * @author Matthew T. Adams @@ -118,7 +119,7 @@ public class CorrelationEntity { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) return true; if (!(o instanceof IdentityEntity)) @@ -182,7 +183,7 @@ public class CorrelationEntity { } @Override - public boolean equals(Object o) { + public boolean equals(@Nullable Object o) { if (this == o) return true; if (!(o instanceof CorrelationEntity)) diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/support/UserDefinedTypeBuilder.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/support/UserDefinedTypeBuilder.java index ffe1fb023..e65495763 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/support/UserDefinedTypeBuilder.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/support/UserDefinedTypeBuilder.java @@ -144,7 +144,7 @@ public class UserDefinedTypeBuilder { } @Override - public boolean equals(Object obj) { + public boolean equals(@Nullable Object obj) { return super.equals(obj) || delegate.equals(obj); }