package railo.debug.loader.servlet; import java.io.File; import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import railo.commons.io.SystemUtil; import railo.commons.lang.StringUtil; import railo.loader.engine.CFMLEngine; import railo.loader.engine.CFMLEngineFactory; import railo.runtime.engine.CFMLEngineImpl; /** * */ public final class CFMLEngineFactoryDummy extends CFMLEngineFactory { private static CFMLEngineFactoryDummy factory; private ServletConfig config; private CFMLEngine engine; private CFMLEngineFactoryDummy(ServletConfig config) { this.config=config; engine = CFMLEngineImpl.getInstance(this); } /** * returns instance of this factory (singelton-> always the same instance) * @param config * @return Singelton Instance of the Factory * @throws ServletException */ public static CFMLEngine getInstance(ServletConfig config) throws ServletException { if(factory==null) { factory=new CFMLEngineFactoryDummy(config); CFMLEngineFactory.registerInstance(factory.engine); } factory.engine.addServletConfig(config); return factory.engine; } /** * @see railo.loader.engine.CFMLEngineFactory#getResourceRoot() */ public File getResourceRoot() throws IOException { String path=SystemUtil.parsePlaceHolder(config.getInitParameter("railo-server-directory"), config.getServletContext()); path=StringUtil.replace(path, "webroot", "work", true); //print.err(path); return new File(path); } /** * @see railo.loader.engine.CFMLEngineFactory#restart(java.lang.String) */ public boolean restart(String password) throws IOException, ServletException { engine.reset(); return true; } /** * @see railo.loader.engine.CFMLEngineFactory#update(java.lang.String) */ public boolean update(String password) throws IOException, ServletException { return true; } }