From be9aa9c636204051381f4efe4b895dff968f0c4d Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 17 May 2013 11:44:46 +0200 Subject: Add Role management support to module, instead of just creating one if it's not already there. Supports 'jobList' attribute to enable job pushing --- .../predefined/entitycreation/NewAgent.java | 2 +- .../predefined/entitycreation/NewRole.java | 24 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewRole.java (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java index f13bced..e7301a1 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java @@ -51,7 +51,7 @@ public class NewAgent extends ModuleImport implements java.io.Serializable { try { thisRole = Gateway.getLDAPLookup().getRoleManager().getRolePath(role); } catch (ObjectNotFoundException ex) { - thisRole = Gateway.getLDAPLookup().getRoleManager().createRole(role, false); + throw new ObjectNotFoundException("Role "+role+" does not exist."); } thisRole.addAgent(newAgent); } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewRole.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewRole.java new file mode 100644 index 0000000..1800b0e --- /dev/null +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewRole.java @@ -0,0 +1,24 @@ +package com.c2kernel.lifecycle.instance.predefined.entitycreation; + +import com.c2kernel.common.ObjectAlreadyExistsException; +import com.c2kernel.common.ObjectCannotBeUpdated; +import com.c2kernel.process.Gateway; +import com.c2kernel.process.module.ModuleImport; + +public class NewRole extends ModuleImport { + + public boolean jobList; + + public NewRole() { + } + + @Override + public String getPath(String ns) { + return null; // roles don't have user-specified domain paths + } + + public void create(int agentId) throws ObjectAlreadyExistsException, ObjectCannotBeUpdated { + Gateway.getLDAPLookup().getRoleManager().createRole(name, jobList); + } + +} -- cgit v1.2.3