DATADOC-48 added additional tests for cross-store
This commit is contained in:
@@ -1,12 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
|
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
|
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
|
<attributes>
|
||||||
<attributes>
|
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
|
||||||
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
|
</attributes>
|
||||||
</attributes>
|
</classpathentry>
|
||||||
</classpathentry>
|
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
|
||||||
<classpathentry kind="output" path="target/classes"/>
|
<attributes>
|
||||||
</classpath>
|
<attribute name="owner.project.facets" value="java"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
|
</classpath>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#Thu Oct 14 10:28:37 EDT 2010
|
#Wed Mar 09 13:51:17 EST 2011
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.5
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||||
org.eclipse.jdt.core.compiler.source=1.5
|
org.eclipse.jdt.core.compiler.source=1.6
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<faceted-project>
|
<faceted-project>
|
||||||
<installed facet="java" version="1.5"/>
|
<installed facet="jst.utility" version="1.0"/>
|
||||||
<installed facet="jst.utility" version="1.0"/>
|
<installed facet="java" version="1.6"/>
|
||||||
</faceted-project>
|
</faceted-project>
|
||||||
|
|||||||
@@ -10,10 +10,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.data.document.mongodb.MongoTemplate;
|
import org.springframework.data.document.mongodb.MongoTemplate;
|
||||||
import org.springframework.persistence.document.test.Account;
|
import org.springframework.persistence.document.test.Account;
|
||||||
import org.springframework.persistence.document.test.MongoPerson;
|
import org.springframework.persistence.document.test.MongoPerson;
|
||||||
|
import org.springframework.persistence.document.test.Person;
|
||||||
|
import org.springframework.persistence.document.test.Resume;
|
||||||
import org.springframework.test.annotation.Rollback;
|
import org.springframework.test.annotation.Rollback;
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||||
import org.springframework.test.context.transaction.BeforeTransaction;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import com.mongodb.DBCollection;
|
import com.mongodb.DBCollection;
|
||||||
@@ -42,10 +43,10 @@ public class CrossStoreMongoTests {
|
|||||||
this.entityManager = entityManager;
|
this.entityManager = entityManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clearData() {
|
private void clearData(String collectionName) {
|
||||||
DBCollection col = this.mongoTemplate.getCollection(colName);
|
DBCollection col = this.mongoTemplate.getCollection(collectionName);
|
||||||
if (col != null) {
|
if (col != null) {
|
||||||
this.mongoTemplate.dropCollection(colName);
|
this.mongoTemplate.dropCollection(collectionName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,7 +54,7 @@ public class CrossStoreMongoTests {
|
|||||||
@Transactional
|
@Transactional
|
||||||
@Rollback(false)
|
@Rollback(false)
|
||||||
public void testUserConstructor() {
|
public void testUserConstructor() {
|
||||||
clearData();
|
clearData(colName);
|
||||||
int age = 33;
|
int age = 33;
|
||||||
MongoPerson p = new MongoPerson("Thomas", age);
|
MongoPerson p = new MongoPerson("Thomas", age);
|
||||||
Assert.assertEquals(age, p.getAge());
|
Assert.assertEquals(age, p.getAge());
|
||||||
@@ -76,8 +77,8 @@ public class CrossStoreMongoTests {
|
|||||||
@Test
|
@Test
|
||||||
@Transactional
|
@Transactional
|
||||||
@Rollback(false)
|
@Rollback(false)
|
||||||
public void testCreateJpaEntity() {
|
public void testCreateMongoToJpaEntityRelationship() {
|
||||||
clearData();
|
clearData(colName);
|
||||||
Account a = new Account();
|
Account a = new Account();
|
||||||
a.setName("My Account");
|
a.setName("My Account");
|
||||||
a.setFriendlyName("My Test Acct.");
|
a.setFriendlyName("My Test Acct.");
|
||||||
@@ -90,7 +91,7 @@ public class CrossStoreMongoTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Transactional
|
@Transactional
|
||||||
public void testReadJpaEntity() {
|
public void testReadMongoToJpaEntityRelationship() {
|
||||||
DBCollection col = this.mongoTemplate.getCollection(colName);
|
DBCollection col = this.mongoTemplate.getCollection(colName);
|
||||||
DBCursor dbc = col.find();
|
DBCursor dbc = col.find();
|
||||||
Object _id = null;
|
Object _id = null;
|
||||||
@@ -108,4 +109,30 @@ public class CrossStoreMongoTests {
|
|||||||
System.out.println(found.getAccount());
|
System.out.println(found.getAccount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Transactional
|
||||||
|
@Rollback(false)
|
||||||
|
public void testCreateJpaToMongoEntityRelationship() {
|
||||||
|
clearData("resume");
|
||||||
|
Person p = new Person("Thomas", 20);
|
||||||
|
Resume r = new Resume();
|
||||||
|
r.addEducation("Skanstulls High School, 1975");
|
||||||
|
r.addEducation("Univ. of Stockholm, 1980");
|
||||||
|
r.addJob("DiMark, DBA, 1990-2000");
|
||||||
|
r.addJob("VMware, Developer, 2007-");
|
||||||
|
p.setResume(r);
|
||||||
|
p.setId(1L);
|
||||||
|
entityManager.persist(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Transactional
|
||||||
|
public void testReadJpaToMongoEntityRelationship() {
|
||||||
|
Person found = entityManager.find(Person.class, 1L);
|
||||||
|
System.out.println(found);
|
||||||
|
// TODO: This part isn't working yet - there is no reference to the Momgo _id stored in the db
|
||||||
|
// if (found != null)
|
||||||
|
// System.out.println(found.getResume());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
package org.springframework.persistence.document.test;
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Id;
|
||||||
|
|
||||||
|
import org.springframework.persistence.RelatedEntity;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
public class Person {
|
||||||
|
|
||||||
|
@Id Long id;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private int age;
|
||||||
|
|
||||||
|
private java.util.Date birthDate;
|
||||||
|
|
||||||
|
// @Document // need to decide what the annotation here should be
|
||||||
|
@RelatedEntity
|
||||||
|
public Resume resume;
|
||||||
|
|
||||||
|
public Person() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Person(String name, int age) {
|
||||||
|
this.name = name;
|
||||||
|
this.age = age;
|
||||||
|
this.birthDate = new java.util.Date();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void birthday() {
|
||||||
|
++age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAge(int age) {
|
||||||
|
this.age = age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public java.util.Date getBirthDate() {
|
||||||
|
return birthDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBirthDate(java.util.Date birthDate) {
|
||||||
|
this.birthDate = birthDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Resume getResume() {
|
||||||
|
return resume;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setResume(Resume resume) {
|
||||||
|
this.resume = resume;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package org.springframework.persistence.document.test;
|
||||||
|
|
||||||
|
import org.springframework.persistence.document.DocumentEntity;
|
||||||
|
|
||||||
|
@DocumentEntity
|
||||||
|
public class Resume {
|
||||||
|
|
||||||
|
private String education = "";
|
||||||
|
|
||||||
|
private String jobs = "";
|
||||||
|
|
||||||
|
public String getEducation() {
|
||||||
|
return education;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addEducation(String education) {
|
||||||
|
this.education = this.education + (this.education.length() > 0 ? "; " : "") + education;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJobs() {
|
||||||
|
return jobs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addJob(String job) {
|
||||||
|
this.jobs = this.jobs + (this.jobs.length() > 0 ? "; " : "") + job;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Resume [education=" + education + ", jobs=" + jobs + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,12 +4,16 @@
|
|||||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
|
||||||
<classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
|
<classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
|
||||||
<classpathentry kind="src" path="src/main/resources"/>
|
<classpathentry kind="src" path="src/main/resources"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
|
|
||||||
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
|
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
|
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="owner.project.facets" value="java"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="output" path="target/classes"/>
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#Thu Oct 14 10:28:36 EDT 2010
|
#Wed Mar 09 13:51:37 EST 2011
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.5
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||||
org.eclipse.jdt.core.compiler.source=1.5
|
org.eclipse.jdt.core.compiler.source=1.6
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<faceted-project>
|
<faceted-project>
|
||||||
<installed facet="java" version="1.5"/>
|
<installed facet="jst.utility" version="1.0"/>
|
||||||
<installed facet="jst.utility" version="1.0"/>
|
<installed facet="java" version="1.6"/>
|
||||||
</faceted-project>
|
</faceted-project>
|
||||||
|
|||||||
Reference in New Issue
Block a user