From e73468fd08cc27aa31f76a27c916e45d5987c628 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 5 Jun 2014 16:47:41 +0200 Subject: Moved old entitycreation package from the predefined step package to a new 'imports' package under entity. Renamed most classed with an 'Import' prefix to avoid clashes with other API classes. Fixes #194 --- .../instance/predefined/server/CreateNewAgent.java | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java new file mode 100644 index 0000000..f2396da --- /dev/null +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java @@ -0,0 +1,43 @@ +/************************************************************************** + * 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.ImportAgent; +import com.c2kernel.lifecycle.instance.predefined.PredefinedStep; +import com.c2kernel.lookup.AgentPath; +import com.c2kernel.process.Gateway; +import com.c2kernel.utils.Logger; + +public class CreateNewAgent extends PredefinedStep +{ + public CreateNewAgent() + { + super(); + getProperties().put("SchemaType", "Agent"); + } + + //requestdata is xmlstring + @Override + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + + String redactedRequestData; + try { + ImportAgent newAgent = (ImportAgent)Gateway.getMarshaller().unmarshall(requestData); + newAgent.create(agent.getSysKey()); + newAgent.password = "REDACTED"; + redactedRequestData = Gateway.getMarshaller().marshall(newAgent); + return redactedRequestData; + } catch (Exception ex) { + Logger.error(ex); + throw new InvalidDataException("Error creating agent", ""); + } + + } +} -- cgit v1.2.3