From 1537f39761e11669335f6499474f23b11cf2cf38 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 17 Sep 2014 12:15:26 +0200 Subject: Server item predefined steps to manage roles. Fixes #200 --- .../instance/predefined/server/CreateNewRole.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewRole.java (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewRole.java') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewRole.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewRole.java new file mode 100644 index 0000000..4f4745b --- /dev/null +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewRole.java @@ -0,0 +1,41 @@ +/************************************************************************** + * CreateNewAgent.java + * + * Copyright (C) 2001 CERN - European Organization for Nuclear Research + * All rights reserved. + **************************************************************************/ + +package com.c2kernel.lifecycle.instance.predefined.server; + +import com.c2kernel.common.InvalidDataException; +import com.c2kernel.entity.imports.ImportRole; +import com.c2kernel.lifecycle.instance.predefined.PredefinedStep; +import com.c2kernel.lookup.AgentPath; +import com.c2kernel.lookup.ItemPath; +import com.c2kernel.process.Gateway; +import com.c2kernel.utils.Logger; + +public class CreateNewRole extends PredefinedStep +{ + public CreateNewRole() + { + super(); + getProperties().put("SchemaType", "Role"); + } + + //requestdata is xmlstring + @Override + protected String runActivityLogic(AgentPath agent, ItemPath item, + int transitionID, String requestData) throws InvalidDataException { + + try { + ImportRole newRole = (ImportRole)Gateway.getMarshaller().unmarshall(requestData); + newRole.create(agent, true); + return requestData; + } catch (Exception ex) { + Logger.error(ex); + throw new InvalidDataException("Error creating role", ""); + } + + } +} -- cgit v1.2.3