diff --git a/pom.xml b/pom.xml
index f9f8f2a16..cd34e43f2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,12 +82,7 @@
cassandra-driver-core
${cassandra-driver-core.version}
-
- org.cassandraunit
- cassandra-unit
- ${cassandra-unit.version}
- test
-
+
org.springframework
@@ -130,6 +125,54 @@
true
+
+ cglib
+ cglib-nodep
+ 2.2.2
+ test
+
+
+
+ org.xerial.snappy
+ snappy-java
+ 1.1.0.1
+ test
+
+
+
+ org.codehaus.jackson
+ jackson-mapper-asl
+ 1.9.13
+ test
+
+
+
+ org.codehaus.jackson
+ jackson-core-asl
+ 1.9.13
+ test
+
+
+
+ org.cassandraunit
+ cassandra-unit
+ ${cassandra-unit.version}
+ test
+
+
+ cassandra-all
+ org.apache.cassandra
+
+
+
+
+
+ org.cassandraunit
+ cassandra-unit-spring
+ ${cassandra-unit.version}
+ test
+
+
javax.el
el-api
@@ -162,6 +205,11 @@
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 2.8
+
org.apache.maven.plugins
maven-surefire-plugin
diff --git a/spring-cassandra/pom.xml b/spring-cassandra/pom.xml
index e0ac6ac84..c408c397c 100644
--- a/spring-cassandra/pom.xml
+++ b/spring-cassandra/pom.xml
@@ -51,6 +51,16 @@
provided
true
+
+ org.codehaus.jackson
+ jackson-mapper-asl
+ test
+
+
+ org.codehaus.jackson
+ jackson-core-asl
+ test
+
org.cassandraunit
cassandra-unit
diff --git a/spring-data-cassandra-distribution/pom.xml b/spring-data-cassandra-distribution/pom.xml
index f8eb9eaf0..184ed9d33 100644
--- a/spring-data-cassandra-distribution/pom.xml
+++ b/spring-data-cassandra-distribution/pom.xml
@@ -1,8 +1,9 @@
-
+
4.0.0
-
+
spring-data-cassandra-distribution
pom
@@ -16,12 +17,20 @@
1.0.0.BUILD-SNAPSHOT
../pom.xml
-
+
${basedir}/..
SDCASS
+
+
+ org.codehaus.jackson
+ jackson-mapper-asl
+ test
+
+
+
diff --git a/spring-data-cassandra/pom.xml b/spring-data-cassandra/pom.xml
index 71abecfb5..780f10cfa 100644
--- a/spring-data-cassandra/pom.xml
+++ b/spring-data-cassandra/pom.xml
@@ -1,8 +1,9 @@
-
+
4.0.0
-
+
spring-data-cassandra
Spring Data Cassandra - Core
@@ -25,14 +26,14 @@
${project.groupId}
spring-cassandra
-
-
+
+
org.springframework
spring-expression
-
+
${project.groupId}
spring-data-commons
@@ -45,7 +46,7 @@
1.0
true
-
+
javax.enterprise
@@ -53,13 +54,43 @@
provided
true
-
+
+
+ org.xerial.snappy
+ snappy-java
+ test
+
+
+
+ org.cassandraunit
+ cassandra-unit
+ test
+
+
+
+ cglib
+ cglib-nodep
+ test
+
+
+
+ org.codehaus.jackson
+ jackson-mapper-asl
+ test
+
+
+
+ org.codehaus.jackson
+ jackson-core-asl
+ test
+
+
javax.el
el-api
test
-
+
javax.validation
@@ -73,13 +104,13 @@
hibernate-validator
test
-
+
joda-time
joda-time
test
-
+
-
+
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 88ed1e4d0..0009d0010 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
@@ -22,7 +22,7 @@ import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.cassandra.core.CassandraOperations;
import org.springframework.cassandra.core.CassandraTemplate;
-import org.springframework.cassandra.core.Keyspace;
+import org.springframework.data.cassandra.core.SpringDataKeyspace;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
import org.springframework.context.annotation.Configuration;
@@ -74,7 +74,7 @@ public abstract class AbstractCassandraConfiguration implements BeanClassLoaderA
public abstract Cluster cluster() throws Exception;
/**
- * Creates a {@link Session} to be used by the {@link Keyspace}. Will use the {@link Cluster} instance configured in
+ * Creates a {@link Session} to be used by the {@link SpringDataKeyspace}. Will use the {@link Cluster} instance configured in
* {@link #cluster()}.
*
* @see #cluster()
@@ -93,7 +93,7 @@ public abstract class AbstractCassandraConfiguration implements BeanClassLoaderA
}
/**
- * Creates a {@link Keyspace} to be used by the {@link CassandraTemplate}. Will use the {@link Session} instance
+ * Creates a {@link SpringDataKeyspace} to be used by the {@link CassandraTemplate}. Will use the {@link Session} instance
* configured in {@link #session()} and {@link CassandraConverter} configured in {@link #converter()}.
*
* @see #cluster()
@@ -102,8 +102,8 @@ public abstract class AbstractCassandraConfiguration implements BeanClassLoaderA
* @throws Exception
*/
@Bean
- public Keyspace keyspace() throws Exception {
- return new Keyspace(getKeyspaceName(), session(), converter());
+ public SpringDataKeyspace keyspace() throws Exception {
+ return new SpringDataKeyspace(getKeyspaceName(), session(), converter());
}
/**
diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraAdminTemplate.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraAdminTemplate.java
index a5aa85fca..77292e0d6 100644
--- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraAdminTemplate.java
+++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraAdminTemplate.java
@@ -5,7 +5,7 @@ import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.cassandra.core.Keyspace;
+import org.springframework.data.cassandra.core.SpringDataKeyspace;
import org.springframework.cassandra.core.SessionCallback;
import org.springframework.cassandra.support.CassandraExceptionTranslator;
import org.springframework.cassandra.support.exception.CassandraTableExistsException;
@@ -30,7 +30,7 @@ public class CassandraAdminTemplate implements CassandraAdminOperations {
private static Logger log = LoggerFactory.getLogger(CassandraAdminTemplate.class);
- private Keyspace keyspace;
+ private SpringDataKeyspace keyspace;
private Session session;
private CassandraConverter converter;
private MappingContext extends CassandraPersistentEntity>, CassandraPersistentProperty> mappingContext;
@@ -42,11 +42,11 @@ public class CassandraAdminTemplate implements CassandraAdminOperations {
*
* @param keyspace must not be {@literal null}.
*/
- public CassandraAdminTemplate(Keyspace keyspace) {
+ public CassandraAdminTemplate(SpringDataKeyspace keyspace) {
setKeyspace(keyspace);
}
- protected CassandraAdminTemplate setKeyspace(Keyspace keyspace) {
+ protected CassandraAdminTemplate setKeyspace(SpringDataKeyspace keyspace) {
Assert.notNull(keyspace);
this.keyspace = keyspace;
return setSession(keyspace.getSession()).setCassandraConverter(keyspace.getCassandraConverter());
diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraKeyspaceFactoryBean.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraKeyspaceFactoryBean.java
index ef79df884..36aae8114 100644
--- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraKeyspaceFactoryBean.java
+++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraKeyspaceFactoryBean.java
@@ -24,7 +24,7 @@ import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
-import org.springframework.cassandra.core.Keyspace;
+import org.springframework.data.cassandra.core.SpringDataKeyspace;
import org.springframework.cassandra.support.CassandraExceptionTranslator;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.InvalidDataAccessApiUsageException;
@@ -55,7 +55,7 @@ import com.datastax.driver.core.exceptions.NoHostAvailableException;
* @author Alex Shvid
*/
-public class CassandraKeyspaceFactoryBean implements FactoryBean, InitializingBean, DisposableBean,
+public class CassandraKeyspaceFactoryBean implements FactoryBean, InitializingBean, DisposableBean,
BeanClassLoaderAware, PersistenceExceptionTranslator {
private static final Logger log = LoggerFactory.getLogger(CassandraKeyspaceFactoryBean.class);
@@ -72,7 +72,7 @@ public class CassandraKeyspaceFactoryBean implements FactoryBean, Init
private CassandraConverter converter;
private MappingContext extends CassandraPersistentEntity>, CassandraPersistentProperty> mappingContext;
- private Keyspace keyspaceBean;
+ private SpringDataKeyspace keyspaceBean;
private KeyspaceAttributes keyspaceAttributes;
@@ -82,7 +82,7 @@ public class CassandraKeyspaceFactoryBean implements FactoryBean, Init
this.beanClassLoader = classLoader;
}
- public Keyspace getObject() {
+ public SpringDataKeyspace getObject() {
return keyspaceBean;
}
@@ -245,7 +245,7 @@ public class CassandraKeyspaceFactoryBean implements FactoryBean, Init
// initialize property
this.session = session;
- this.keyspaceBean = new Keyspace(keyspace, session, converter);
+ this.keyspaceBean = new SpringDataKeyspace(keyspace, session, converter);
}
private void createNewTable(Session session, String useTableName, CassandraPersistentEntity> entity)
diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/SpringDataKeyspace.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/SpringDataKeyspace.java
new file mode 100644
index 000000000..065d7f7f8
--- /dev/null
+++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/SpringDataKeyspace.java
@@ -0,0 +1,30 @@
+package org.springframework.data.cassandra.core;
+
+import org.springframework.cassandra.core.Keyspace;
+import org.springframework.data.cassandra.convert.CassandraConverter;
+import org.springframework.util.Assert;
+
+import com.datastax.driver.core.Session;
+
+/**
+ * @deprecated This needs more thought.
+ */
+@Deprecated
+public class SpringDataKeyspace extends Keyspace {
+
+ private CassandraConverter converter;
+
+ public SpringDataKeyspace(String keyspace, Session session, CassandraConverter converter) {
+ super(keyspace, session);
+ setCassandraConverter(converter);
+ }
+
+ public CassandraConverter getCassandraConverter() {
+ return converter;
+ }
+
+ private void setCassandraConverter(CassandraConverter converter) {
+ Assert.notNull(converter);
+ this.converter = converter;
+ }
+}
diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/mapping/CassandraMappingContext.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/mapping/CassandraMappingContext.java
index ec59a044c..341de5a35 100644
--- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/mapping/CassandraMappingContext.java
+++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/mapping/CassandraMappingContext.java
@@ -77,9 +77,6 @@ public class CassandraMappingContext extends
*/
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
-
this.context = applicationContext;
- super.setApplicationContext(applicationContext);
}
-
}
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/CassandraNamespaceTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/CassandraNamespaceTests.java
index 4be1b08f0..5117d0e3f 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/CassandraNamespaceTests.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/CassandraNamespaceTests.java
@@ -11,7 +11,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cassandra.core.Keyspace;
+import org.springframework.data.cassandra.core.SpringDataKeyspace;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -39,10 +39,9 @@ public class CassandraNamespaceTests {
Assert.isInstanceOf(Cluster.class, cluster);
Object ks = ctx.getBean("cassandra-keyspace");
Assert.notNull(ks);
- Assert.isInstanceOf(Keyspace.class, ks);
+ Assert.isInstanceOf(SpringDataKeyspace.class, ks);
Cluster c = (Cluster) cluster;
- System.out.println(org.apache.commons.beanutils.BeanUtils.describe(c.getConfiguration()));
}
@After
diff --git a/spring-data-cassandra/template.mf b/spring-data-cassandra/template.mf
index 3cbe47034..053c579cc 100644
--- a/spring-data-cassandra/template.mf
+++ b/spring-data-cassandra/template.mf
@@ -1,6 +1,6 @@
Bundle-SymbolicName: org.springframework.data.cassandra
Bundle-Name: Spring Data Cassandra
-Bundle-Vendor: Mirantis
+Bundle-Vendor: Spring Data Cassandra Community
Bundle-ManifestVersion: 2
Import-Package:
sun.reflect;version="0";resolution:=optional
@@ -16,6 +16,7 @@ Import-Template:
org.springframework.transaction.support.*;version="[3.1.0, 4.0.0)",
org.springframework.data.*;version="[1.5.0, 2.0.0)",
org.springframework.expression.*;version="[3.1.0, 4.0.0)",
+ org.springframework.cassandra.*;version="[1.0.0,2.0.0)",
org.aopalliance.*;version="[1.0.0, 2.0.0)";resolution:=optional,
org.apache.commons.logging.*;version="[1.1.1, 2.0.0)",
org.w3c.dom.*;version="0",