01: package org.compass.core.test.inheritance.nonrootbaseclass;
02:
03: import org.apache.lucene.index.LuceneSubIndexInfo;
04: import org.compass.core.CompassSession;
05: import org.compass.core.CompassTransaction;
06: import org.compass.core.test.AbstractTestCase;
07: import org.compass.core.test.inheritance.C;
08: import org.compass.core.test.inheritance.ExtendsA;
09:
10: /**
11: * @author kimchy
12: */
13: public class NonRootBaseClassTests extends AbstractTestCase {
14:
15: protected String[] getMappings() {
16: return new String[] { "inheritance/nonrootbaseclass/mapping.cpm.xml" };
17: }
18:
19: public void testComponentRefExtendsNonRoot() throws Exception {
20: CompassSession session = openSession();
21: CompassTransaction tr = session.beginTransaction();
22:
23: C c = new C();
24: c.id = 1;
25:
26: Long id = new Long(1);
27: ExtendsA extendsA = new ExtendsA();
28: extendsA.setId(id);
29: extendsA.setValue("value");
30: extendsA.setExtendsValue("evalue");
31: c.a = extendsA;
32:
33: session.save("cExtendsBaseNotRoot", c);
34: session.save("extendsBaseNotRoot", extendsA);
35:
36: c = (C) session.load("cExtendsBaseNotRoot", new Long(1));
37: extendsA = (ExtendsA) c.a;
38: assertEquals("value", extendsA.getValue());
39: assertEquals("evalue", extendsA.getExtendsValue());
40:
41: tr.commit();
42:
43: LuceneSubIndexInfo.getIndexInfo("extendsbasenotroot", session);
44: // now test that there is no baseNotRoot index
45: try {
46: LuceneSubIndexInfo indexInfo = LuceneSubIndexInfo
47: .getIndexInfo("basenotroot", session);
48: if (indexInfo != null) {
49: fail("a subindex should not exists");
50: }
51: } catch (Exception e) {
52: // all is well
53: }
54:
55: session.close();
56: }
57:
58: }
|