package org.compass.core.test.inheritance.nonrootbaseclass;
import org.apache.lucene.index.LuceneSubIndexInfo;
import org.compass.core.CompassSession;
import org.compass.core.CompassTransaction;
import org.compass.core.test.AbstractTestCase;
import org.compass.core.test.inheritance.C;
import org.compass.core.test.inheritance.ExtendsA;
/**
* @author kimchy
*/
public class NonRootBaseClassTests extends AbstractTestCase {
protected String[] getMappings() {
return new String[]{"inheritance/nonrootbaseclass/mapping.cpm.xml"};
}
public void testComponentRefExtendsNonRoot() throws Exception {
CompassSession session = openSession();
CompassTransaction tr = session.beginTransaction();
C c = new C();
c.id = 1;
Long id = new Long(1);
ExtendsA extendsA = new ExtendsA();
extendsA.setId(id);
extendsA.setValue("value");
extendsA.setExtendsValue("evalue");
c.a = extendsA;
session.save("cExtendsBaseNotRoot", c);
session.save("extendsBaseNotRoot", extendsA);
c = (C) session.load("cExtendsBaseNotRoot", new Long(1));
extendsA = (ExtendsA) c.a;
assertEquals("value", extendsA.getValue());
assertEquals("evalue", extendsA.getExtendsValue());
tr.commit();
LuceneSubIndexInfo.getIndexInfo("extendsbasenotroot", session);
// now test that there is no baseNotRoot index
try {
LuceneSubIndexInfo indexInfo = LuceneSubIndexInfo.getIndexInfo("basenotroot", session);
if (indexInfo != null) {
fail("a subindex should not exists");
}
} catch (Exception e) {
// all is well
}
session.close();
}
}