01: package org.compass.core.test.dynamic.groovy;
02:
03: import java.util.Calendar;
04:
05: import org.compass.core.Compass;
06: import org.compass.core.CompassSession;
07: import org.compass.core.CompassTransaction;
08: import org.compass.core.Property;
09: import org.compass.core.Resource;
10: import org.compass.core.test.AbstractTestCase;
11:
12: /**
13: * @author kimchy
14: */
15: public class GroovyDynamicTests extends AbstractTestCase {
16:
17: protected String[] getMappings() {
18: return new String[] { "dynamic/groovy/A.cpm.xml" };
19: }
20:
21: public void testSimpleExpression() throws Exception {
22: CompassSession session = openSession();
23: CompassTransaction tr = session.beginTransaction();
24:
25: A a = new A();
26: a.setId(new Long(1));
27: a.setValue("value");
28: a.setValue2("value2");
29: session.save("a1", a);
30:
31: Resource resource = session.loadResource("a1", new Long(1));
32: assertEquals("valuevalue2", resource.getValue("test"));
33:
34: tr.commit();
35: session.close();
36: }
37:
38: public void testExpressionWithFormat() throws Exception {
39: CompassSession session = openSession();
40: CompassTransaction tr = session.beginTransaction();
41:
42: A a = new A();
43: a.setId(new Long(1));
44: Calendar cal = Calendar.getInstance();
45: cal.set(1977, 4, 1);
46: a.setDate(cal.getTime());
47: session.save("a2", a);
48:
49: Resource resource = session.loadResource("a2", new Long(1));
50: assertEquals("1977", resource.getValue("test"));
51:
52: tr.commit();
53: session.close();
54: }
55:
56: public void testExpressionWithNullValue() throws Exception {
57: CompassSession session = openSession();
58: CompassTransaction tr = session.beginTransaction();
59:
60: A a = new A();
61: a.setId(new Long(1));
62: a.setDate(null);
63: session.save("a2", a);
64:
65: Resource resource = session.loadResource("a2", new Long(1));
66: assertEquals("moo", resource.getValue("test"));
67:
68: tr.commit();
69: session.close();
70: }
71:
72: public void testTwoCompassInstancesBuild() throws Exception {
73: Compass compass2 = buildCompass();
74:
75: CompassSession session = compass2.openSession();
76: CompassTransaction tr = session.beginTransaction();
77:
78: A a = new A();
79: a.setId(new Long(1));
80: a.setValue("value");
81: a.setValue2("value2");
82: session.save("a1", a);
83:
84: Resource resource = session.loadResource("a1", new Long(1));
85: Property[] properties = resource.getProperties("test");
86: assertEquals(1, properties.length);
87:
88: tr.commit();
89: session.close();
90:
91: compass2.getSearchEngineIndexManager().clearCache();
92: compass2.close();
93: }
94: }
|