From 9e07f5b4ff0af22b0ab8529f8e7776888493691e Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Fri, 12 Oct 2018 15:06:26 +0200 Subject: [PATCH] DATACASS-600 - Use template implementation classes as bean type in configuration support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cassandraTemplate(…) and cqlTemplate(…) bean methods now use the template implementation class as their return type to provide the most specific type information for the bean declaration. Previously, we declared the bean type using their interface which made it impossible to resolve beans using the template class. --- .../cassandra/config/AbstractCassandraConfiguration.java | 3 +-- .../config/AbstractReactiveCassandraConfiguration.java | 7 +++---- 2 files changed, 4 insertions(+), 6 deletions(-) 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 d3150a75f..2e6f3003d 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 @@ -23,7 +23,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.convert.converter.Converter; import org.springframework.data.cassandra.SessionFactory; -import org.springframework.data.cassandra.core.CassandraAdminOperations; import org.springframework.data.cassandra.core.CassandraAdminTemplate; import org.springframework.data.cassandra.core.convert.CassandraConverter; import org.springframework.data.cassandra.core.convert.CassandraCustomConversions; @@ -190,7 +189,7 @@ public abstract class AbstractCassandraConfiguration extends AbstractClusterConf * @throws Exception if the {@link com.datastax.driver.core.Session} could not be obtained. */ @Bean - public CassandraAdminOperations cassandraTemplate() throws Exception { + public CassandraAdminTemplate cassandraTemplate() throws Exception { return new CassandraAdminTemplate(sessionFactory(), cassandraConverter()); } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/AbstractReactiveCassandraConfiguration.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/AbstractReactiveCassandraConfiguration.java index 838ec5f97..4ac8c867b 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/AbstractReactiveCassandraConfiguration.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/AbstractReactiveCassandraConfiguration.java @@ -19,7 +19,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.data.cassandra.ReactiveSession; import org.springframework.data.cassandra.ReactiveSessionFactory; import org.springframework.data.cassandra.core.CassandraAdminTemplate; -import org.springframework.data.cassandra.core.ReactiveCassandraOperations; import org.springframework.data.cassandra.core.ReactiveCassandraTemplate; import org.springframework.data.cassandra.core.cql.ReactiveCqlOperations; import org.springframework.data.cassandra.core.cql.ReactiveCqlTemplate; @@ -64,12 +63,12 @@ public abstract class AbstractReactiveCassandraConfiguration extends AbstractCas /** * Creates a {@link CassandraAdminTemplate}. * - * @return the {@link ReactiveCassandraOperations}. + * @return the {@link ReactiveCassandraTemplate}. * @see #reactiveSessionFactory() * @see #cassandraConverter() */ @Bean - public ReactiveCassandraOperations reactiveCassandraTemplate() { + public ReactiveCassandraTemplate reactiveCassandraTemplate() { return new ReactiveCassandraTemplate(reactiveSessionFactory(), cassandraConverter()); } @@ -80,7 +79,7 @@ public abstract class AbstractReactiveCassandraConfiguration extends AbstractCas * @see #reactiveSessionFactory() */ @Bean - public ReactiveCqlOperations reactiveCqlTemplate() { + public ReactiveCqlTemplate reactiveCqlTemplate() { return new ReactiveCqlTemplate(reactiveSessionFactory()); } }