01: package org.compass.core.test.managedid.nostore;
02:
03: import org.compass.core.CompassSession;
04: import org.compass.core.CompassTransaction;
05: import org.compass.core.Resource;
06: import org.compass.core.test.AbstractTestCase;
07:
08: /**
09: * @author kimchy
10: */
11: public class NoStoreManagedIdTests extends AbstractTestCase {
12:
13: protected String[] getMappings() {
14: return new String[] { "managedid/nostore/mapping.cpm.xml" };
15: }
16:
17: public void testNoStoreOnProeprtyLevel() {
18: verifySimpleNoStoreId("a");
19: }
20:
21: public void testNoStoreOnClassMappingLevel() {
22: verifySimpleNoStoreId("a1");
23: }
24:
25: public void testAutoWorks() {
26: CompassSession session = openSession();
27: CompassTransaction tr = session.beginTransaction();
28:
29: A a = new A();
30: a.id = 1;
31: a.value1 = "value1";
32: a.value2 = "value2";
33:
34: session.save("a2", a);
35:
36: a = (A) session.load("a2", "1");
37: assertEquals(1, a.id);
38: assertEquals("value1", a.value1);
39: assertEquals("value2", a.value2);
40:
41: Resource resource = session.loadResource("a2", "1");
42: assertNull(resource.getValue("$/a2/value2"));
43:
44: tr.commit();
45: session.close();
46: }
47:
48: public void verifySimpleNoStoreId(String alias) {
49: CompassSession session = openSession();
50: CompassTransaction tr = session.beginTransaction();
51:
52: A a = new A();
53: a.id = 1;
54: a.value1 = "value1";
55: a.value2 = "value2";
56:
57: session.save(alias, a);
58:
59: a = (A) session.load(alias, "1");
60: assertEquals(1, a.id);
61: assertNull(a.value1);
62: assertEquals("value2", a.value2);
63:
64: Resource resource = session.loadResource(alias, "1");
65: assertNull(resource.getValue("$/" + alias + "/value2"));
66:
67: tr.commit();
68: session.close();
69: }
70: }
|