001 package org.rice.krms.test;
002
003 import javax.xml.namespace.QName;
004
005 import org.junit.AfterClass;
006 import org.junit.Before;
007 import org.junit.BeforeClass;
008 import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
009 import org.kuali.rice.test.BaselineTestCase.BaselineMode;
010 import org.kuali.rice.test.BaselineTestCase.Mode;
011
012 @BaselineMode(Mode.ROLLBACK)
013 public abstract class AbstractBoTest extends KRMSTestCase {
014
015 private GenericTestDao dao;
016 private TestBoService boService;
017
018 // TODO: get rid of this hack that is needed to set up the OJB properties location at the right time.
019 // BEGIN hack
020
021 private static String ojbPropertiesBefore;
022
023 @BeforeClass
024 public static void beforeClass() {
025 ojbPropertiesBefore = System.getProperty("OJB.properties");
026 // TODO: this is extra annoying, we have to have our own copy of RiceOJB.properties >:-[
027 System.setProperty("OJB.properties", /*"./org/kuali/rice/core/ojb/RiceOJB.properties"*/ "./RiceOJB.properties");
028 }
029
030 @AfterClass
031 public static void afterClass() {
032 if (ojbPropertiesBefore != null) {
033 System.setProperty("OJB.properties", ojbPropertiesBefore);
034 } else {
035 System.clearProperty("OJB.properties");
036 }
037 }
038
039 // END hack
040
041
042 @Before
043 public void setup() {
044 dao = (GenericTestDao)GlobalResourceLoader.getService(new QName("genericTestDao"));
045 boService = new TestBoService(dao);
046 }
047
048 protected TestBoService getBoService() {
049 return boService;
050 }
051
052 protected GenericTestDao getDao() {
053 return dao;
054 }
055 }