summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/process/module
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-05-15 15:10:13 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-05-15 15:10:13 +0200
commit8e8185210f5bd87cb5dcda3a458fe059f811aafc (patch)
tree6c6e8783c20800df261d7e0e79aa276ead84d368 /src/main/java/com/c2kernel/process/module
parent2ee6d3c6e816214892fdd541a9aae535686be788 (diff)
Introduced 'Layer' attribute to allow overriding of descriptions. Desc
with the same name in the same description tree will be ranked by LocalObjectLoader according to this number, and the highest one chosen for instantiation. Fixes #188
Diffstat (limited to 'src/main/java/com/c2kernel/process/module')
-rw-r--r--src/main/java/com/c2kernel/process/module/Module.java3
-rw-r--r--src/main/java/com/c2kernel/process/module/ModuleInfo.java1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/main/java/com/c2kernel/process/module/Module.java b/src/main/java/com/c2kernel/process/module/Module.java
index 32a5997..2c182ea 100644
--- a/src/main/java/com/c2kernel/process/module/Module.java
+++ b/src/main/java/com/c2kernel/process/module/Module.java
@@ -56,6 +56,7 @@ public class Module {
moduleItem.properties.add(new com.c2kernel.property.Property("Namespace", ns, false));
moduleItem.properties.add(new com.c2kernel.property.Property("Name", name, false));
moduleItem.properties.add(new com.c2kernel.property.Property("Type", "Module", false));
+ moduleItem.properties.add(new com.c2kernel.property.Property("Layer", String.valueOf(info.layer), true));
moduleItem.properties.add(new com.c2kernel.property.Property("Version", info.version, true));
// Add dependency for all children
Dependency children = new Dependency("Contents");
@@ -79,7 +80,7 @@ public class Module {
for (ModuleResource thisRes : imports.getResources()) {
try {
thisRes.path = Bootstrap.verifyResource(ns, thisRes.name, thisRes.version,
- thisRes.resourceType, thisRes.resourceLocation, reset);
+ thisRes.resourceType, thisRes.resourceLocation, info.layer, reset);
} catch (Exception ex) {
Logger.error(ex);
}
diff --git a/src/main/java/com/c2kernel/process/module/ModuleInfo.java b/src/main/java/com/c2kernel/process/module/ModuleInfo.java
index 55e02c9..646a915 100644
--- a/src/main/java/com/c2kernel/process/module/ModuleInfo.java
+++ b/src/main/java/com/c2kernel/process/module/ModuleInfo.java
@@ -6,6 +6,7 @@ public class ModuleInfo {
public String desc;
public String version;
+ public int layer = 0;
public ArrayList<String> dependency = new ArrayList<String>();
public ModuleInfo() {