From 2827a4b2d5aea32dc3c26a80f47309a6b68ac34b Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 19 Jun 2012 21:00:29 +0200 Subject: Refactor modules Support workflows on module resources --- .../java/com/c2kernel/process/ModuleManager.java | 90 ---------------------- 1 file changed, 90 deletions(-) delete mode 100644 src/main/java/com/c2kernel/process/ModuleManager.java (limited to 'src/main/java/com/c2kernel/process/ModuleManager.java') diff --git a/src/main/java/com/c2kernel/process/ModuleManager.java b/src/main/java/com/c2kernel/process/ModuleManager.java deleted file mode 100644 index b336681..0000000 --- a/src/main/java/com/c2kernel/process/ModuleManager.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.c2kernel.process; - -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.Properties; - -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.entity.proxy.ItemProxy; -import com.c2kernel.lookup.DomainPath; -import com.c2kernel.utils.FileStringUtility; -import com.c2kernel.utils.Logger; - -public class ModuleManager { - ArrayList modules = new ArrayList(); - Properties props = new Properties(); - boolean isServer; - - public ModuleManager(Enumeration moduleEnum, boolean isServer) throws ModuleException{ - this.isServer = isServer; - ArrayList loadedModules = new ArrayList(); - ArrayList moduleNs = new ArrayList(); - while(moduleEnum.hasMoreElements()) { - URL newModuleURL = moduleEnum.nextElement(); - try { - Module newModule = new Module(FileStringUtility.url2String(newModuleURL)); - modules.add(newModule); - if (loadedModules.contains(newModule.getName())) throw new ModuleException("Module name clash: "+newModule.getName()); - if (moduleNs.contains(newModule.getNs())) throw new ModuleException("Module namespace clash: "+newModule.getNs()); - Logger.debug(4, "Module found: "+newModule.getNs()+" - "+newModule.getName()); - loadedModules.add(newModule.getName()); moduleNs.add(newModule.getNs()); - Properties modProp = isServer?newModule.getServerProperties():newModule.getClientProperties(); - for (Enumeration e = modProp.propertyNames(); e.hasMoreElements();) { - String propName = (String)e.nextElement(); - props.put(propName, modProp.get(propName)); - } - } catch (ModuleException e) { - Logger.error("Could not load module description from "+newModuleURL); - throw e; - } catch (IOException e) { - Logger.error(e); - throw new ModuleException("Could not load module.xml from "+newModuleURL); - } - } - - Logger.debug(5, "Checking dependencies"); - boolean depFailed = false; - for (Module thisMod : modules) { - ArrayList deps = thisMod.getDependencies(); - for (String dep : deps) { - if (!loadedModules.contains(dep)) { - Logger.error("UNMET MODULE DEPENDENCY: "+thisMod.getName()+" requires "+dep); - depFailed = true; - } - } - } - if (depFailed) Logger.die("Unmet module dependencies. Cannot continue"); - } - - public String getModuleVersions() { - StringBuffer ver = new StringBuffer(); - for (Module thisMod : modules) { - if (ver.length()>0) ver.append(";"); - ver.append(thisMod.getName()+"("+thisMod.getVersion()+")"); - } - return ver.toString(); - } - - - public Properties getAllModuleProperties() { - return props; - } - - public void runScripts(String event) { - for (Module thisMod : modules) { - thisMod.runScript(event, isServer); - } - } - - public void registerModules() throws ObjectNotFoundException { - ItemProxy serverEntity = (ItemProxy)Gateway.getProxyManager().getProxy(new DomainPath("/servers/"+Gateway.getProperty("ItemServer.name"))); - Logger.debug(3, "Registering modules"); - for (Module thisMod : modules) { - Logger.msg("Registering module "+thisMod.getName()); - thisMod.importAll(serverEntity); - Logger.msg("Module "+thisMod.getName()+" registered"); - } - } -} -- cgit v1.2.3