summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-02-04 22:09:38 +0100
committerAndrew Branson <andrew.branson@cern.ch>2013-02-04 22:09:38 +0100
commit57dee70f0785f1d9e0c65036afc18411dd22faa4 (patch)
tree98f83353d944cda307f3100fe7cc980bc672a099
parent2663cbaaa0c5923627b13b6891b6baa03e6298c0 (diff)
Move server startup script execution to the end of the item registration
for that module.
-rw-r--r--src/main/java/com/c2kernel/process/Gateway.java4
-rw-r--r--src/main/java/com/c2kernel/process/module/ModuleManager.java9
2 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/com/c2kernel/process/Gateway.java b/src/main/java/com/c2kernel/process/Gateway.java
index a75c2c9..1bb451d 100644
--- a/src/main/java/com/c2kernel/process/Gateway.java
+++ b/src/main/java/com/c2kernel/process/Gateway.java
@@ -115,8 +115,8 @@ public class Gateway
Language.mTableOfTranslation = FileStringUtility.loadLanguageFile(languageFile);
}
- // run module startup scripts
- mModules.runScripts("startup");
+ // if client, run module startup scripts. Otherwise bootstrap will do it after all imports
+ if (!isServer) mModules.runScripts("startup");
}
/**
diff --git a/src/main/java/com/c2kernel/process/module/ModuleManager.java b/src/main/java/com/c2kernel/process/module/ModuleManager.java
index 4ff67f7..0e96486 100644
--- a/src/main/java/com/c2kernel/process/module/ModuleManager.java
+++ b/src/main/java/com/c2kernel/process/module/ModuleManager.java
@@ -148,10 +148,17 @@ public class ModuleManager {
thisMod.importAll(serverEntity, modulesXML.get(thisMod.ns));
} catch (Exception e) {
Logger.error(e);
- throw new ModuleException("Error importing Module items");
+ throw new ModuleException("Error importing items for module "+thisMod.getName());
}
Logger.msg("Module "+thisMod.getName()+" registered");
+ try {
+ thisMod.runScript("startup", true);
+ } catch (ScriptingEngineException e) {
+ Logger.error(e);
+ throw new ModuleException("Error in startup script for module "+thisMod.getName());
+ }
+
}
}