From 64a0380e860f873dc8a8637923b1e7ef367b892f Mon Sep 17 00:00:00 2001 From: John Blum Date: Thu, 6 Jul 2017 16:27:35 -0700 Subject: [PATCH] DATACASS-375 - Polish. Resolves gh-109. --- .../core/mapping/CassandraSimpleTypeHolder.java | 13 ++++--------- ...asicCassandraPersistentPropertyUnitTests.java | 3 ++- .../data/cassandra/domain/AllPossibleTypes.java | 16 ++++++++-------- .../data/cassandra/domain/UserToken.java | 5 +++-- 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraSimpleTypeHolder.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraSimpleTypeHolder.java index a341ac484..ba99ab294 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraSimpleTypeHolder.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraSimpleTypeHolder.java @@ -108,6 +108,7 @@ public class CassandraSimpleTypeHolder extends SimpleTypeHolder { Map, DataType> classToDataType = new HashMap<>(16); DataType.allPrimitiveTypes().forEach(dataType -> { + Class javaType = codecRegistry.codecFor(dataType).getJavaType().getRawType(); classToDataType.put(javaType, dataType); @@ -116,7 +117,7 @@ public class CassandraSimpleTypeHolder extends SimpleTypeHolder { .ifPresent(primitiveType -> classToDataType.put(primitiveType, dataType)); }); - // override String to text datatype as String is used multiple times + // override String to text DataType as String is used multiple times classToDataType.put(String.class, DataType.text()); // map Long to bigint as counter columns (last type aver multiple overrides) are a special use case @@ -124,7 +125,7 @@ public class CassandraSimpleTypeHolder extends SimpleTypeHolder { classToDataType.put(Long.class, DataType.bigint()); classToDataType.put(long.class, DataType.bigint()); - // override UUID to timeuuid as regular uuid is the favored default + // override UUID to timeuuid as regular uuid as the favored default classToDataType.put(UUID.class, DataType.uuid()); return classToDataType; @@ -159,12 +160,6 @@ public class CassandraSimpleTypeHolder extends SimpleTypeHolder { * @return */ public static DataType getDataTypeFor(Class javaClass) { - - if (javaClass.isEnum()) { - return DataType.varchar(); - } - - return classToDataType.get(javaClass); + return (javaClass.isEnum() ? DataType.varchar() : classToDataType.get(javaClass)); } - } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/mapping/BasicCassandraPersistentPropertyUnitTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/mapping/BasicCassandraPersistentPropertyUnitTests.java index 6aca33570..e7671e224 100755 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/mapping/BasicCassandraPersistentPropertyUnitTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/mapping/BasicCassandraPersistentPropertyUnitTests.java @@ -15,7 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -24,6 +24,7 @@ import java.util.Date; import java.util.UUID; import org.junit.Test; + import org.springframework.core.annotation.AliasFor; import org.springframework.data.cql.core.CqlIdentifier; import org.springframework.data.mapping.model.Property; diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/domain/AllPossibleTypes.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/domain/AllPossibleTypes.java index 93d782f1b..d9e3a8104 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/domain/AllPossibleTypes.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/domain/AllPossibleTypes.java @@ -15,11 +15,6 @@ */ package org.springframework.data.cassandra.domain; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.NonNull; -import lombok.RequiredArgsConstructor; - import java.math.BigDecimal; import java.math.BigInteger; import java.net.InetAddress; @@ -30,6 +25,11 @@ import java.util.Map; import java.util.Set; import java.util.UUID; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; + import org.springframework.data.cassandra.core.convert.CassandraTypeMappingIntegrationTest.Condition; import org.springframework.data.cassandra.core.mapping.CassandraType; import org.springframework.data.cassandra.core.mapping.PrimaryKey; @@ -92,20 +92,20 @@ public class AllPossibleTypes { private List listOfEnum; // supported by conversion + java.time.Instant instant; java.time.LocalDate localDate; java.time.LocalDateTime localDateTime; java.time.LocalTime localTime; - java.time.Instant instant; java.time.ZoneId zoneId; + org.joda.time.DateTime jodaDateTime; org.joda.time.LocalDate jodaLocalDate; org.joda.time.LocalDateTime jodaLocalDateTime; - org.joda.time.DateTime jodaDateTime; + org.threeten.bp.Instant bpInstant; org.threeten.bp.LocalDate bpLocalDate; org.threeten.bp.LocalDateTime bpLocalDateTime; org.threeten.bp.LocalTime bpLocalTime; - org.threeten.bp.Instant bpInstant; org.threeten.bp.ZoneId bpZoneId; } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/domain/UserToken.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/domain/UserToken.java index 68a742d0a..80d9aac39 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/domain/UserToken.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/domain/UserToken.java @@ -15,10 +15,10 @@ */ package org.springframework.data.cassandra.domain; -import lombok.Data; - import java.util.UUID; +import lombok.Data; + import org.springframework.data.cassandra.core.mapping.Column; import org.springframework.data.cassandra.core.mapping.PrimaryKeyColumn; import org.springframework.data.cassandra.core.mapping.Table; @@ -36,4 +36,5 @@ public class UserToken { @Column("user_comment") String userComment; String adminComment; + }