summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/process/module/Module.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-09-18 10:39:05 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-09-18 10:39:05 +0200
commit3743d182d99dbed9d2be84dc357f6839ffe4d2ec (patch)
tree7fe88768469f34601c494f5b027bd9c3a6d622e7 /src/main/java/com/c2kernel/process/module/Module.java
parent1537f39761e11669335f6499474f23b11cf2cf38 (diff)
Hierarchical Roles. Fixes #199
Diffstat (limited to 'src/main/java/com/c2kernel/process/module/Module.java')
-rw-r--r--src/main/java/com/c2kernel/process/module/Module.java5
1 files changed, 4 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 2f4592f..9a54944 100644
--- a/src/main/java/com/c2kernel/process/module/Module.java
+++ b/src/main/java/com/c2kernel/process/module/Module.java
@@ -99,10 +99,13 @@ public class Module extends ImportItem {
for (ImportRole thisRole : imports.getRoles()) {
RolePath rolePath;
try {
- rolePath = Gateway.getLookup().getRolePath(thisRole.name);
+ String roleName = thisRole.name;
+ if (roleName.indexOf('/') > -1) roleName = roleName.substring(roleName.indexOf('/')+1);
+ rolePath = Gateway.getLookup().getRolePath(roleName);
if (rolePath.hasJobList() != thisRole.hasJobList()) {
Logger.msg("Module.importAll() - Role '"+thisRole.name+"' has incorrect joblist settings. Correcting.");
rolePath.setHasJobList(thisRole.hasJobList());
+ Gateway.getLookupManager().createRole(rolePath);
}
} catch (ObjectNotFoundException ex) {
Logger.msg("Module.importAll() - Role '"+thisRole.name+"' not found. Creating.");