package no.java.incogito.ems.server; import no.java.ems.server.EmsServices; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.annotation.Required; import java.io.File; /** * @author <a href="mailto:trygve.laugstol@arktekk.no">Trygve Laugstøl</a> * @version $Id$ */ public class EmsServicesFactoryBean implements FactoryBean, DisposableBean { private File emsHome; private int httpPort; private int derbyPort; private boolean startDatabase; private boolean dropTables; private boolean secure; private EmsServices emsServices; @Required public void setEmsHome(File emsHome) { this.emsHome = emsHome; } public void setHttpPort(int httpPort) { this.httpPort = httpPort; } public void setDerbyPort(int derbyPort) { this.derbyPort = derbyPort; } public void setStartDatabase(boolean startDatabase) { this.startDatabase = startDatabase; } public void setDropTables(boolean dropTables) { this.dropTables = dropTables; } public void setSecure(boolean secure) { this.secure = secure; } public Object getObject() throws Exception { return emsServices = new EmsServices(emsHome, httpPort, startDatabase, dropTables, derbyPort, secure); } public Class getObjectType() { return EmsServices.class; } public boolean isSingleton() { return true; } public void destroy() throws Exception { if (emsServices != null) { emsServices.stop(); } } }