diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-09-18 10:39:05 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-09-18 10:39:05 +0200 |
| commit | 3743d182d99dbed9d2be84dc357f6839ffe4d2ec (patch) | |
| tree | 7fe88768469f34601c494f5b027bd9c3a6d622e7 /src/main/java/com/c2kernel/lifecycle/instance/predefined/server | |
| parent | 1537f39761e11669335f6499474f23b11cf2cf38 (diff) | |
Hierarchical Roles. Fixes #199
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/server')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveRole.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveRole.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveRole.java index 44000c6..ec3071b 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveRole.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveRole.java @@ -42,22 +42,21 @@ public class RemoveRole extends PredefinedStep throw new InvalidDataException(e.getMessage(), "");
}
- RolePath thisRole;
+ RolePath thisRole; AgentPath[] agents;
try {
thisRole = lookup.getRolePath(params[0]);
+ agents = Gateway.getLookup().getAgents(thisRole);
} catch (ObjectNotFoundException e) {
throw new InvalidDataException("Role "+params[0]+" not found.", "");
}
- AgentPath[] agents = thisRole.getAgentsWithRole();
+
if (agents.length > 0)
throw new InvalidDataException("Cannot remove role. "+agents.length+" agents still hold it.", "");
try {
- lookup.removeRole(agent, thisRole);
+ lookup.delete(thisRole);
} catch (ObjectCannotBeUpdated e) {
Logger.error(e);
throw new InvalidDataException("Role "+params[0]+" could not be removed.", "");
- } catch (ObjectNotFoundException e) {
- throw new InvalidDataException("Role "+params[0]+" not found.", "");
}
return requestData;
|
