/*
* Copyright 2004-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.compass.gps.device.hibernate.eg;
import javax.naming.Context;
import javax.naming.InitialContext;
import junit.framework.TestCase;
import org.compass.core.Compass;
import org.compass.core.config.CompassConfiguration;
import org.compass.core.config.CompassEnvironment;
import org.compass.core.util.FileHandlerMonitor;
import org.compass.gps.impl.DualCompassGps;
import org.objectweb.jotm.Jotm;
public abstract class AbstractHibernateGpsDeviceTests extends TestCase {
private Jotm jotm;
protected Compass mirrorCompass;
protected Compass indexCompass;
private FileHandlerMonitor fileHandlerMonitorIndex;
private FileHandlerMonitor fileHandlerMonitorMirror;
protected DualCompassGps compassGps;
protected void setUp() throws Exception {
super.setUp();
System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory");
System.setProperty(Context.PROVIDER_URL, "rmi://localhost:1099");
try {
java.rmi.registry.LocateRegistry.createRegistry(1099);
} catch (Exception e) {
}
jotm = new Jotm(true, true);
Context ctx = new InitialContext();
ctx.rebind("java:comp/UserTransaction", jotm.getUserTransaction());
CompassConfiguration cpConf = new CompassConfiguration()
.configure("/org/compass/gps/device/hibernate/eg/compass-mirror.cfg.xml");
cpConf.getSettings().setBooleanSetting(CompassEnvironment.DEBUG, true);
mirrorCompass = cpConf.buildCompass();
fileHandlerMonitorMirror = FileHandlerMonitor.getFileHandlerMonitor(mirrorCompass);
fileHandlerMonitorMirror.verifyNoHandlers();
mirrorCompass.getSearchEngineIndexManager().deleteIndex();
mirrorCompass.getSearchEngineIndexManager().verifyIndex();
CompassConfiguration cpBatchConf = new CompassConfiguration()
.configure("/org/compass/gps/device/hibernate/eg/compass-index.cfg.xml");
cpBatchConf.getSettings().setBooleanSetting(CompassEnvironment.DEBUG, true);
indexCompass = cpBatchConf.buildCompass();
fileHandlerMonitorIndex = FileHandlerMonitor.getFileHandlerMonitor(indexCompass);
fileHandlerMonitorIndex.verifyNoHandlers();
indexCompass.getSearchEngineIndexManager().deleteIndex();
indexCompass.getSearchEngineIndexManager().verifyIndex();
compassGps = new DualCompassGps(indexCompass, mirrorCompass);
}
protected void tearDown() throws Exception {
jotm.stop();
mirrorCompass.close();
indexCompass.close();
fileHandlerMonitorMirror.verifyNoHandlers();
fileHandlerMonitorIndex.verifyNoHandlers();
super.tearDown();
}
}