diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/AbstractCassandraConfiguration.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/AbstractCassandraConfiguration.java index 1fc740229..607cd4cf5 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/AbstractCassandraConfiguration.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/AbstractCassandraConfiguration.java @@ -51,6 +51,7 @@ import com.datastax.oss.driver.api.core.CqlSession; * @author Matthew T. Adams * @author John Blum * @author Mark Paluch + * @author Ammar Khaku */ @Configuration @SuppressWarnings("unused") @@ -72,14 +73,13 @@ public abstract class AbstractCassandraConfiguration extends AbstractSessionConf CqlSession cqlSession = getRequiredSession(); - UserTypeResolver userTypeResolver = new SimpleUserTypeResolver(cqlSession, - CqlIdentifier.fromCql(getKeyspaceName())); + MappingCassandraConverter converter = new MappingCassandraConverter( requireBeanOfType(CassandraMappingContext.class)); converter.setCodecRegistry(cqlSession.getContext().getCodecRegistry()); - converter.setUserTypeResolver(userTypeResolver); + converter.setUserTypeResolver(userTypeResolver(cqlSession)); converter.setCustomConversions(requireBeanOfType(CassandraCustomConversions.class)); return converter; @@ -118,10 +118,9 @@ public abstract class AbstractCassandraConfiguration extends AbstractSessionConf CqlSession cqlSession = getRequiredSession(); - UserTypeResolver userTypeResolver = new SimpleUserTypeResolver(cqlSession, - CqlIdentifier.fromCql(getKeyspaceName())); - CassandraMappingContext mappingContext = new CassandraMappingContext(userTypeResolver, + + CassandraMappingContext mappingContext = new CassandraMappingContext(userTypeResolver(cqlSession), SimpleTupleTypeFactory.DEFAULT); CustomConversions customConversions = requireBeanOfType(CassandraCustomConversions.class); @@ -287,4 +286,8 @@ public abstract class AbstractCassandraConfiguration extends AbstractSessionConf protected ByteArrayResource scriptOf(String content) { return new ByteArrayResource(content.getBytes()); } + + protected UserTypeResolver userTypeResolver(CqlSession cqlSession) { + return new SimpleUserTypeResolver(cqlSession, CqlIdentifier.fromCql(getKeyspaceName())); + } }