diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2012-06-19 21:00:29 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2012-06-19 21:00:29 +0200 |
| commit | 2827a4b2d5aea32dc3c26a80f47309a6b68ac34b (patch) | |
| tree | fc5639f566cc0efa9081a18114ea9106a519e4d1 /src/main/java/com/c2kernel/process/ModuleManager.java | |
| parent | 839ff8b7380e31c260fe50994d20a53b1ec0327f (diff) | |
Refactor modules
Support workflows on module resources
Diffstat (limited to 'src/main/java/com/c2kernel/process/ModuleManager.java')
| -rw-r--r-- | src/main/java/com/c2kernel/process/ModuleManager.java | 90 |
1 files changed, 0 insertions, 90 deletions
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<Module> modules = new ArrayList<Module>();
- Properties props = new Properties();
- boolean isServer;
-
- public ModuleManager(Enumeration<URL> moduleEnum, boolean isServer) throws ModuleException{
- this.isServer = isServer;
- ArrayList<String> loadedModules = new ArrayList<String>();
- ArrayList<String> moduleNs = new ArrayList<String>();
- 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<String> 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");
- }
- }
-}
|
