From d9740d04ef0e3a02f55ba2812eb549fd9c0e35a1 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 19 Oct 2021 16:07:24 +0200 Subject: [PATCH] Post-rebase. --- .../data/cassandra/ReactiveResultSet.java | 1 - .../data/cassandra/ReactiveSession.java | 1 - .../convert/MappingCassandraConverter.java | 54 +++++++------------ .../DefaultBridgedReactiveSession.java | 1 - .../core/mapping/CassandraMappingContext.java | 2 +- .../MappingCassandraConverterUnitTests.java | 54 ++++++------------- 6 files changed, 36 insertions(+), 77 deletions(-) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveResultSet.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveResultSet.java index 33c2c96e7..87b8f9717 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveResultSet.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveResultSet.java @@ -52,7 +52,6 @@ public interface ReactiveResultSet { * The {@link Flux} will stream over all records that in this {@link ReactiveResultSet} according to the reactive * demand and fetch next result chunks by issuing the underlying query with the current {@link java.nio.ByteBuffer * paging state} applied. - *

* * @return a {@link Flux} of rows that will stream over all {@link Row rows} of the entire result. */ diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveSession.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveSession.java index b75504e8a..fe428852c 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveSession.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveSession.java @@ -66,7 +66,6 @@ public interface ReactiveSession extends Closeable { *

* If a metadata refresh triggers events (such as node added/removed, or schema events), then the new version of the * metadata is guaranteed to be visible by the time you receive these events. - *

* * @return never {@code null}, but may be empty if metadata has been disabled in the configuration. * @since 3.2.2 diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/convert/MappingCassandraConverter.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/convert/MappingCassandraConverter.java index 978e36560..d4ee1c46d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/convert/MappingCassandraConverter.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/convert/MappingCassandraConverter.java @@ -37,19 +37,8 @@ import org.springframework.core.annotation.MergedAnnotations; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.dao.InvalidDataAccessApiUsageException; -import org.springframework.data.cassandra.core.mapping.BasicCassandraPersistentEntity; -import org.springframework.data.cassandra.core.mapping.BasicMapId; -import org.springframework.data.cassandra.core.mapping.CassandraMappingContext; -import org.springframework.data.cassandra.core.mapping.CassandraPersistentEntity; -import org.springframework.data.cassandra.core.mapping.CassandraPersistentProperty; -import org.springframework.data.cassandra.core.mapping.Column; -import org.springframework.data.cassandra.core.mapping.Element; -import org.springframework.data.cassandra.core.mapping.Embedded; +import org.springframework.data.cassandra.core.mapping.*; import org.springframework.data.cassandra.core.mapping.Embedded.OnEmpty; -import org.springframework.data.cassandra.core.mapping.EmbeddedEntityOperations; -import org.springframework.data.cassandra.core.mapping.MapId; -import org.springframework.data.cassandra.core.mapping.MapIdentifiable; -import org.springframework.data.cassandra.core.mapping.UserTypeResolver; import org.springframework.data.convert.CustomConversions; import org.springframework.data.mapping.AccessOptions; import org.springframework.data.mapping.MappingException; @@ -143,22 +132,22 @@ public class MappingCassandraConverter extends AbstractCassandraConverter this.mappingContext = mappingContext; this.setCodecRegistry(mappingContext.getCodecRegistry()); this.setCustomConversions(mappingContext.getCustomConversions()); - this.cassandraTypeResolver = new DefaultColumnTypeResolver(mappingContext, userTypeResolver, - this::getCodecRegistry, this::getCustomConversions); + this.cassandraTypeResolver = new DefaultColumnTypeResolver(mappingContext, userTypeResolver, this::getCodecRegistry, + this::getCustomConversions); this.embeddedEntityOperations = new EmbeddedEntityOperations(mappingContext); this.spELContext = new SpELContext(RowReaderPropertyAccessor.INSTANCE); } /** - * Constructs a new instance of {@link ConversionContext} with various converters to convert different Cassandra - * value types. + * Constructs a new instance of {@link ConversionContext} with various converters to convert different Cassandra value + * types. * * @return the {@link ConversionContext}. * @see ConversionContext */ protected ConversionContext getConversionContext() { - return new ConversionContext(this::doReadRow, this::doReadTupleValue, this::doReadUdtValue, + return new ConversionContext(getCustomConversions(), this::doReadRow, this::doReadTupleValue, this::doReadUdtValue, this::readCollectionOrArray, this::readMap, this::getPotentiallyConvertedSimpleRead); } @@ -184,7 +173,6 @@ public class MappingCassandraConverter extends AbstractCassandraConverter return mappingContext; } - /* (non-Javadoc) * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext) */ @@ -501,8 +489,8 @@ public class MappingCassandraConverter extends AbstractCassandraConverter return (S) getConversionService().convert(valueProvider.getSource(), rawType); } - CassandraPersistentEntity entity = - (CassandraPersistentEntity) getMappingContext().getPersistentEntity(typeHint); + CassandraPersistentEntity entity = (CassandraPersistentEntity) getMappingContext() + .getPersistentEntity(typeHint); if (entity == null) { throw new MappingException( @@ -527,8 +515,8 @@ public class MappingCassandraConverter extends AbstractCassandraConverter return UdtValue.class; } - throw new InvalidDataAccessApiUsageException(String.format("Unsupported source type: %s", - ClassUtils.getDescriptiveType(valueProvider.getSource()))); + throw new InvalidDataAccessApiUsageException( + String.format("Unsupported source type: %s", ClassUtils.getDescriptiveType(valueProvider.getSource()))); } private S doReadEntity(ConversionContext context, CassandraValueProvider valueProvider, @@ -539,8 +527,8 @@ public class MappingCassandraConverter extends AbstractCassandraConverter if (persistenceConstructor != null && persistenceConstructor.hasParameters()) { SpELExpressionEvaluator evaluator = new DefaultSpELExpressionEvaluator(valueProvider.getSource(), spELContext); - ParameterValueProvider parameterValueProvider = - newParameterValueProvider(context, entity, valueProvider); + ParameterValueProvider parameterValueProvider = newParameterValueProvider(context, + entity, valueProvider); provider = new ConverterAwareSpELExpressionParameterValueProvider(evaluator, getConversionService(), parameterValueProvider, context); } else { @@ -927,8 +915,7 @@ public class MappingCassandraConverter extends AbstractCassandraConverter if (getCustomConversions().hasCustomWriteTarget(value.getClass(), requestedTargetType)) { - Class resolvedTargetType = getCustomConversions() - .getCustomWriteTarget(value.getClass(), requestedTargetType) + Class resolvedTargetType = getCustomConversions().getCustomWriteTarget(value.getClass(), requestedTargetType) .orElse(requestedTargetType); return getConversionService().convert(value, resolvedTargetType); @@ -936,11 +923,9 @@ public class MappingCassandraConverter extends AbstractCassandraConverter if (getCustomConversions().hasCustomWriteTarget(value.getClass())) { - Class resolvedTargetType = getCustomConversions() - .getCustomWriteTarget(value.getClass()) - .orElseThrow(() -> new IllegalStateException( - String.format("Unable to determined custom write target for value type [%s]", - value.getClass().getName()))); + Class resolvedTargetType = getCustomConversions().getCustomWriteTarget(value.getClass()) + .orElseThrow(() -> new IllegalStateException(String + .format("Unable to determined custom write target for value type [%s]", value.getClass().getName()))); return getConversionService().convert(value, resolvedTargetType); } @@ -1318,10 +1303,9 @@ public class MappingCassandraConverter extends AbstractCassandraConverter final ValueConverter elementConverter; public ConversionContext(org.springframework.data.convert.CustomConversions conversions, - ContainerValueConverter rowConverter, - ContainerValueConverter tupleConverter, ContainerValueConverter udtConverter, - ContainerValueConverter> collectionConverter, ContainerValueConverter> mapConverter, - ValueConverter elementConverter) { + ContainerValueConverter rowConverter, ContainerValueConverter tupleConverter, + ContainerValueConverter udtConverter, ContainerValueConverter> collectionConverter, + ContainerValueConverter> mapConverter, ValueConverter elementConverter) { this.conversions = conversions; this.rowConverter = rowConverter; this.tupleConverter = tupleConverter; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/session/DefaultBridgedReactiveSession.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/session/DefaultBridgedReactiveSession.java index 27ae50f24..fde8a481b 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/session/DefaultBridgedReactiveSession.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/session/DefaultBridgedReactiveSession.java @@ -61,7 +61,6 @@ import com.datastax.oss.driver.api.core.metadata.Metadata; *

* All CQL operations performed by this class are logged at debug level, using * {@code org.springframework.data.cassandra.core.cql.DefaultBridgedReactiveSession} as log category. - *

* * @author Mark Paluch * @author Mateusz Stefek diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraMappingContext.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraMappingContext.java index 9273d7319..4411d140f 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraMappingContext.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraMappingContext.java @@ -414,7 +414,7 @@ public class CassandraMappingContext * Returns whether this mapping context has any entities mapped to the given table. * * @param name must not be {@literal null}. - * @return @return {@literal true} is this {@literal TableMetadata} is used by a mapping. + * @return {@literal true} is this {@literal TableMetadata} is used by a mapping. */ public boolean usesTable(CqlIdentifier name) { diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/convert/MappingCassandraConverterUnitTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/convert/MappingCassandraConverterUnitTests.java index 1af846368..49e90a09a 100755 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/convert/MappingCassandraConverterUnitTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/convert/MappingCassandraConverterUnitTests.java @@ -15,10 +15,16 @@ */ package org.springframework.data.cassandra.core.convert; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.springframework.data.cassandra.core.mapping.BasicMapId.id; -import static org.springframework.data.cassandra.test.util.RowMockUtil.column; +import static org.assertj.core.api.Assertions.*; +import static org.springframework.data.cassandra.core.mapping.BasicMapId.*; +import static org.springframework.data.cassandra.test.util.RowMockUtil.*; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.RequiredArgsConstructor; +import lombok.ToString; import java.io.Serializable; import java.math.BigDecimal; @@ -30,18 +36,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZoneOffset; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; +import java.util.*; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; @@ -55,18 +50,8 @@ import org.springframework.data.annotation.Id; import org.springframework.data.annotation.ReadOnlyProperty; import org.springframework.data.annotation.Transient; import org.springframework.data.cassandra.core.cql.PrimaryKeyType; -import org.springframework.data.cassandra.core.mapping.BasicMapId; -import org.springframework.data.cassandra.core.mapping.CassandraMappingContext; -import org.springframework.data.cassandra.core.mapping.CassandraType; +import org.springframework.data.cassandra.core.mapping.*; import org.springframework.data.cassandra.core.mapping.Column; -import org.springframework.data.cassandra.core.mapping.Element; -import org.springframework.data.cassandra.core.mapping.Embedded; -import org.springframework.data.cassandra.core.mapping.MapId; -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.data.cassandra.core.mapping.Tuple; import org.springframework.data.cassandra.domain.AllPossibleTypes; import org.springframework.data.cassandra.domain.CompositeKey; import org.springframework.data.cassandra.domain.TypeWithCompositeKey; @@ -85,13 +70,6 @@ import com.datastax.oss.driver.api.core.type.DataTypes; import com.datastax.oss.driver.internal.core.data.DefaultTupleValue; import com.datastax.oss.driver.internal.core.type.DefaultTupleType; - -import lombok.AllArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.RequiredArgsConstructor; -import lombok.ToString; - /** * Unit tests for {@link MappingCassandraConverter}. * @@ -1194,9 +1172,8 @@ public class MappingCassandraConverterUnitTests { @CassandraType(type = CassandraType.Name.SET, typeArguments = CassandraType.Name.INT) private Set conditionSet; - @CassandraType(type = CassandraType.Name.MAP, - typeArguments = { CassandraType.Name.INT, - CassandraType.Name.INT }) private Map conditionMap; + @CassandraType(type = CassandraType.Name.MAP, typeArguments = { CassandraType.Name.INT, + CassandraType.Name.INT }) private Map conditionMap; } @@ -1367,7 +1344,8 @@ public class MappingCassandraConverterUnitTests { Row source = RowMockUtil.newRowMock(column("id", "id-1", DataTypes.TEXT), column("prefixage", 30, DataTypes.INT), column("prefixfirstname", "fn", DataTypes.TEXT)); - WithPrefixedNullableEmbeddedType target = mappingCassandraConverter.read(WithPrefixedNullableEmbeddedType.class, source); + WithPrefixedNullableEmbeddedType target = mappingCassandraConverter.read(WithPrefixedNullableEmbeddedType.class, + source); assertThat(target.nested).isEqualTo(new EmbeddedWithSimpleTypes("fn", 30, null)); }