diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Explicit.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Explicit.java
index e6c2fc699..b75dd3d35 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Explicit.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Explicit.java
@@ -2,15 +2,20 @@ package org.springframework.data.cassandra.test.integration.forcequote.composite
import java.util.UUID;
+import org.springframework.data.cassandra.mapping.Column;
import org.springframework.data.cassandra.mapping.PrimaryKey;
import org.springframework.data.cassandra.mapping.Table;
-@Table(forceQuote = true)
+@Table(forceQuote = true, value = Explicit.TABLE_NAME)
public class Explicit {
+ public static final String TABLE_NAME = "JavaExplicitTable";
+ public static final String STRING_VALUE_COLUMN_NAME = "JavaExplicitStringValue";
+
@PrimaryKey
ExplicitKey primaryKey;
+ @Column(value = STRING_VALUE_COLUMN_NAME, forceQuote = true)
String stringValue = UUID.randomUUID().toString();
@SuppressWarnings("unused")
@@ -32,4 +37,8 @@ public class Explicit {
public String getStringValue() {
return stringValue;
}
+
+ public void setStringValue(String stringValue) {
+ this.stringValue = stringValue;
+ }
}
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ExplicitKey.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ExplicitKey.java
index e7392cbfd..74e522cc7 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ExplicitKey.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ExplicitKey.java
@@ -9,8 +9,8 @@ import org.springframework.data.cassandra.mapping.PrimaryKeyColumn;
@PrimaryKeyClass
public class ExplicitKey implements Serializable {
- public static final String EXPLICIT_KEY_ZERO = "FirstKey";
- public static final String EXPLICIT_KEY_ONE = "SecondKey";
+ public static final String EXPLICIT_KEY_ZERO = "JavaExplicitKeyZero";
+ public static final String EXPLICIT_KEY_ONE = "JavaExplicitKeyOne";
private static final long serialVersionUID = 4459456944472099332L;
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests.java
index 99c8c3482..771bdc9cb 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests.java
@@ -12,9 +12,7 @@ import org.springframework.data.cassandra.core.CassandraTemplate;
public class ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests {
ImplicitRepository i;
- // ImplicitPropertiesRepository ip;
ExplicitRepository e;
- // ExplicitPropertiesRepository ep;
CassandraTemplate t;
public void before() {
@@ -33,75 +31,56 @@ public class ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests {
ImplicitKey key = new ImplicitKey(UUID.randomUUID().toString(), UUID.randomUUID().toString());
Implicit entity = new Implicit(key);
+ // insert
Implicit s = i.save(entity);
assertSame(s, entity);
+ // select
Implicit f = i.findOne(key);
assertNotSame(f, entity);
-
String stringValue = query("stringvalue", "\"Implicit\"", "\"keyZero\"", f.getPrimaryKey().getKeyZero(),
"\"keyOne\"", f.getPrimaryKey().getKeyOne());
assertEquals(f.getStringValue(), stringValue);
- i.delete(key);
+ // update
+ f.setStringValue(f.getStringValue() + "X");
+ Implicit u = i.save(f);
+ assertSame(u, f);
+ f = i.findOne(u.getPrimaryKey());
+ assertNotSame(f, u);
+ assertEquals(u.getStringValue(), f.getStringValue());
+ // delete
+ i.delete(key);
assertNull(i.findOne(key));
}
- public void testExplicit() {
+ public void testExplicit(String tableName, String stringValueColumnName, String keyZeroColumnName,
+ String keyOneColumnName) {
ExplicitKey key = new ExplicitKey(UUID.randomUUID().toString(), UUID.randomUUID().toString());
Explicit entity = new Explicit(key);
+ // insert
Explicit s = e.save(entity);
assertSame(s, entity);
+ // select
Explicit f = e.findOne(key);
assertNotSame(f, entity);
-
- String stringValue = query("stringvalue", "\"Explicit\"", String.format("\"%s\"", ExplicitKey.EXPLICIT_KEY_ZERO), f
- .getPrimaryKey().getKeyZero(), String.format("\"%s\"", ExplicitKey.EXPLICIT_KEY_ONE), f.getPrimaryKey()
- .getKeyOne());
+ String stringValue = query(stringValueColumnName, tableName, keyZeroColumnName, f.getPrimaryKey().getKeyZero(),
+ keyOneColumnName, f.getPrimaryKey().getKeyOne());
assertEquals(f.getStringValue(), stringValue);
- e.delete(key);
+ // update
+ f.setStringValue(f.getStringValue() + "X");
+ Explicit u = e.save(f);
+ assertSame(u, f);
+ f = e.findOne(u.getPrimaryKey());
+ assertNotSame(f, u);
+ assertEquals(u.getStringValue(), f.getStringValue());
+ // delete
+ e.delete(key);
assertNull(e.findOne(key));
}
-
- // public void testImplicitProperties() {
- // ImplicitProperties entity = new ImplicitProperties();
- // String key = entity.getPrimaryKey();
- //
- // ImplicitProperties s = ip.save(entity);
- // assertSame(s, entity);
- //
- // ImplicitProperties f = ip.findOne(key);
- // assertNotSame(f, entity);
- //
- // String stringValue = query("\"stringValue\"", "implicitproperties", "\"primaryKey\"", f.getPrimaryKey());
- // assertEquals(f.getStringValue(), stringValue);
- //
- // ip.delete(key);
- //
- // assertNull(ip.findOne(key));
- // }
-
- // public void testExplicitProperties(String stringValueColumnName, String primaryKeyColumnName) {
- // ExplicitProperties entity = new ExplicitProperties();
- // String key = entity.getPrimaryKey();
- //
- // ExplicitProperties s = ep.save(entity);
- // assertSame(s, entity);
- //
- // ExplicitProperties f = ep.findOne(key);
- // assertNotSame(f, entity);
- //
- // String stringValue = query(String.format("\"%s\"", ExplicitProperties.EXPLICIT_STRING_VALUE), "explicitproperties",
- // String.format("\"%s\"", ExplicitProperties.EXPLICIT_PRIMARY_KEY), f.getPrimaryKey());
- // assertEquals(f.getStringValue(), stringValue);
- //
- // ip.delete(key);
- //
- // assertNull(ip.findOne(key));
- // }
}
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator.java
index 0f17fb8d6..82aa8c44d 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator.java
@@ -38,8 +38,9 @@ public abstract class ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDe
tests.testImplicit();
}
- @Test
- public void testExplicit() {
- tests.testExplicit();
+ public void testExplicit(String tableName, String stringValueColumnName, String keyZeroColumnName,
+ String keyOneColumnName) {
+
+ tests.testExplicit(tableName, stringValueColumnName, keyZeroColumnName, keyOneColumnName);
}
}
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests.java
index b21c19cd0..1b0496ebc 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests.java
@@ -1,5 +1,6 @@
package org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey;
+import org.junit.Test;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories;
import org.springframework.data.cassandra.test.integration.support.IntegrationTestConfig;
@@ -13,4 +14,11 @@ public class ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests
@EnableCassandraRepositories(basePackageClasses = ImplicitRepository.class)
public static class Config extends IntegrationTestConfig {
}
+
+ @Test
+ public void testExplicit() {
+ testExplicit(String.format("\"%s\"", Explicit.TABLE_NAME),
+ String.format("\"%s\"", Explicit.STRING_VALUE_COLUMN_NAME),
+ String.format("\"%s\"", ExplicitKey.EXPLICIT_KEY_ZERO), String.format("\"%s\"", ExplicitKey.EXPLICIT_KEY_ONE));
+ }
}
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests.java
new file mode 100644
index 000000000..935cf605f
--- /dev/null
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests.java
@@ -0,0 +1,15 @@
+package org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey;
+
+import org.junit.Test;
+import org.springframework.test.context.ContextConfiguration;
+
+@ContextConfiguration
+public class ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests extends
+ ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator {
+
+ @Test
+ public void testExplicit() {
+ testExplicit(String.format("\"%s\"", "XmlExplicitTable"), String.format("\"%s\"", "XmlExplicitStringValue"),
+ String.format("\"%s\"", "XmlExplicitKeyZero"), String.format("\"%s\"", "XmlExplicitKeyOne"));
+ }
+}
diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Implicit.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Implicit.java
index 8d035117f..389749ab9 100644
--- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Implicit.java
+++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Implicit.java
@@ -32,4 +32,8 @@ public class Implicit {
public String getStringValue() {
return stringValue;
}
+
+ public void setStringValue(String stringValue) {
+ this.stringValue = stringValue;
+ }
}
diff --git a/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests-context.xml b/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests-context.xml
index 78d9a4893..f8ae871f1 100644
--- a/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests-context.xml
+++ b/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests-context.xml
@@ -13,40 +13,33 @@
+ entity-base-packages="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey">
+ class="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey.Implicit">
-
+ class="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey.Explicit">
+
+
-
-
-
-
-
-
-
+ class="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey.ExplicitKey">
+
+
-
-
+
+ base-package="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey" />
diff --git a/spring-data-cassandra/src/test/resources/spring-data-cassandra-basic.xml b/spring-data-cassandra/src/test/resources/spring-data-cassandra-basic.xml
index b5ac038be..672f4dc0e 100644
--- a/spring-data-cassandra/src/test/resources/spring-data-cassandra-basic.xml
+++ b/spring-data-cassandra/src/test/resources/spring-data-cassandra-basic.xml
@@ -7,6 +7,10 @@
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+
+
+
+