diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-01-23 12:09:30 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-01-23 12:09:30 +0100 |
| commit | 8256917551c259df2b7e69e32cd74497e5394786 (patch) | |
| tree | 068ec6e5acf41aabeb1538c6731c8e8f70d1ddb1 /src/main/java/com/c2kernel/process/module | |
| parent | 428d828ca640d1348979f9982d1c0bc0a489a3b4 (diff) | |
Refactored Resource into a new ResourceLoader interface, which allows
CRISTAL processes in other enviroments with complex class loading (e.g.
OSGi) to supply their own resource and class loader to the kernel and
its modules. Fixes #149
Diffstat (limited to 'src/main/java/com/c2kernel/process/module')
| -rw-r--r-- | src/main/java/com/c2kernel/process/module/Module.java | 3 | ||||
| -rw-r--r-- | src/main/java/com/c2kernel/process/module/ModuleManager.java | 5 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/main/java/com/c2kernel/process/module/Module.java b/src/main/java/com/c2kernel/process/module/Module.java index 58cf503..fda4b1b 100644 --- a/src/main/java/com/c2kernel/process/module/Module.java +++ b/src/main/java/com/c2kernel/process/module/Module.java @@ -17,7 +17,6 @@ import com.c2kernel.process.Gateway; import com.c2kernel.scripting.ErrorInfo;
import com.c2kernel.scripting.ScriptingEngineException;
import com.c2kernel.utils.Logger;
-import com.c2kernel.utils.Resource;
public class Module {
@@ -79,7 +78,7 @@ public class Module { for (ModuleResource thisRes : imports.getResources()) {
try {
- Bootstrap.verifyResource(ns, thisRes.name, thisRes.version, thisRes.resourceType, Resource.getTextResource(ns, thisRes.resourceLocation), reset);
+ Bootstrap.verifyResource(ns, thisRes.name, thisRes.version, thisRes.resourceType, Gateway.getResource().getTextResource(ns, thisRes.resourceLocation), reset);
} catch (Exception ex) {
Logger.error(ex);
}
diff --git a/src/main/java/com/c2kernel/process/module/ModuleManager.java b/src/main/java/com/c2kernel/process/module/ModuleManager.java index f1d26fb..ca2e74b 100644 --- a/src/main/java/com/c2kernel/process/module/ModuleManager.java +++ b/src/main/java/com/c2kernel/process/module/ModuleManager.java @@ -17,7 +17,6 @@ import com.c2kernel.process.Gateway; import com.c2kernel.scripting.ScriptingEngineException;
import com.c2kernel.utils.FileStringUtility;
import com.c2kernel.utils.Logger;
-import com.c2kernel.utils.Resource;
public class ModuleManager {
ArrayList<Module> modules = new ArrayList<Module>();
@@ -30,7 +29,7 @@ public class ModuleManager { this.isServer = isServer;
try {
Schema moduleSchema = new Schema("Module", 0,
- FileStringUtility.url2String(Resource.getKernelResourceURL("boot/OD/Module.xsd")));
+ FileStringUtility.url2String(Gateway.getResource().getKernelResourceURL("boot/OD/Module.xsd")));
moduleValidator = new OutcomeValidator(moduleSchema);
} catch (InvalidDataException ex) {
Logger.error(ex);
@@ -48,7 +47,7 @@ public class ModuleManager { if (errors.length() > 0)
throw new ModuleException("Module XML found at "+newModuleURL+" was not valid: "+errors);
Module newModule = (Module)Gateway.getMarshaller().unmarshall(moduleXML);
- if (newModule.resURL != null && newModule.resURL.length()>0) Resource.addModuleBaseURL(newModule.ns, newModule.resURL);
+ if (newModule.resURL != null && newModule.resURL.length()>0) Gateway.getResource().addModuleBaseURL(newModule.ns, newModule.resURL);
modules.add(newModule);
modulesXML.put(newModule.ns, moduleXML);
if (loadedModules.contains(newModule.getName())) throw new ModuleException("Module name clash: "+newModule.getName());
|
