From 254ee6f47eebfc00462c10756a92066e82cc1a96 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 21 Jun 2011 15:46:02 +0200 Subject: Initial commit --- .../predefined/AddStepsFromDescription.java | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 source/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java (limited to 'source/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java') diff --git a/source/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java b/source/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java new file mode 100755 index 0000000..c4fab0c --- /dev/null +++ b/source/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java @@ -0,0 +1,55 @@ +package com.c2kernel.lifecycle.instance.predefined; + +//Java +import java.awt.Point; + +import com.c2kernel.common.AccessRightsException; +import com.c2kernel.common.InvalidDataException; +import com.c2kernel.common.InvalidTransitionException; +import com.c2kernel.lifecycle.CompositeActivityDef; +import com.c2kernel.lifecycle.instance.CompositeActivity; +import com.c2kernel.lifecycle.instance.Workflow; +import com.c2kernel.lookup.AgentPath; +import com.c2kernel.process.Gateway; +import com.c2kernel.utils.CastorXMLUtility; +import com.c2kernel.utils.Logger; + +public class AddStepsFromDescription extends PredefinedStep +{ + public AddStepsFromDescription() + { + super(); + } + + public void request( AgentPath agent, int transitionID, String requestData) + throws AccessRightsException, InvalidTransitionException, InvalidDataException + { + Workflow lifeCycle = getWf(); + + Logger.msg(1, "AddStepsFromDescription::request() - Starting "); + + checkAccessRights(agent); + + try + { + + Logger.msg(8, "AddStepsFromDescription::request() - data:" + getDataList(requestData)[0]); + lifeCycle.getChildGraphModel().removeVertex(lifeCycle.search("workflow/domain")); + CompositeActivityDef actDef = (CompositeActivityDef) CastorXMLUtility.unmarshall(getDataList(requestData)[0]); + CompositeActivity domain = (CompositeActivity)actDef.instantiate(); + lifeCycle.initChild(domain, true, new Point(150, 100)); + domain.setName("domain"); + domain.setType(actDef.getName()); + lifeCycle.run(agent); + Gateway.getStorage().put(getItemEntityPath().getSysKey(), lifeCycle, null); + Logger.msg(1, "AddStepsFromDescription::request() - DONE."); + sendEventStoreOutcome(transitionID, requestData, agent); + } + catch (Exception ex) + { + Logger.error("AddStepsFromDescription::request() - during unmarshall."); + Logger.error(ex); + throw new InvalidDataException("AddStepsFromDescription::request() - during unmarshall.", ""); + } + } +} -- cgit v1.2.3