package railo.runtime.config.component; import railo.commons.io.res.Resource; import railo.runtime.config.ConfigWebFactory; public class ComponentFactory { /** * this method deploy all components for org.railo.cfml * @param dir components directory * @param doNew redeploy even the file exist, this is set to true when a new version is started */ public static void deploy(Resource dir, boolean doNew) { String path="/resource/component/org/railo/cfml/"; deploy(dir,path,doNew,"Base"); deploy(dir,path,doNew,"Feed"); deploy(dir,path,doNew,"Ftp"); deploy(dir,path,doNew,"Http"); deploy(dir,path,doNew,"Mail"); deploy(dir,path,doNew,"Query"); deploy(dir,path,doNew,"Result"); deploy(dir,path,doNew,"Administrator"); // orm { Resource ormDir = dir.getRealResource("orm"); String ormPath = path+"orm/"; if(!ormDir.exists())ormDir.mkdirs(); deploy(ormDir,ormPath,doNew,"IEventHandler"); deploy(ormDir,ormPath,doNew,"INamingStrategy"); } // test { Resource testDir = dir.getRealResource("test"); String testPath = path+"test/"; if(!testDir.exists())testDir.mkdirs(); deploy(testDir,testPath,doNew,"AdministratorTest"); deploy(testDir,testPath,doNew,"RailoTestSuite"); deploy(testDir,testPath,doNew,"RailoTestSuiteRunner"); deploy(testDir,testPath,doNew,"RailoTestCase"); } } private static void deploy(Resource dir, String path,boolean doNew, String name) { Resource f = dir.getRealResource(name+".cfc"); if(!f.exists() || doNew)ConfigWebFactory.createFileFromResourceEL(path+name+".cfc",f); } }