package com.c2kernel.lifecycle.instance.predefined; //Java import com.c2kernel.common.InvalidDataException; import com.c2kernel.graph.model.GraphPoint; 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.Logger; public class AddStepsFromDescription extends PredefinedStep { public AddStepsFromDescription() { super(); getProperties().put("AgentRole", "Admin"); } @Override protected String runActivityLogic(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws InvalidDataException { Logger.msg(1, "AddStepsFromDescription::request() - Starting "); Workflow lifeCycle = getWf(); try { Logger.msg(8, "AddStepsFromDescription::request() - data:" + getDataList(requestData)[0]); lifeCycle.getChildGraphModel().removeVertex(lifeCycle.search("workflow/domain")); CompositeActivityDef actDef = (CompositeActivityDef) Gateway.getMarshaller().unmarshall(getDataList(requestData)[0]); CompositeActivity domain = (CompositeActivity)actDef.instantiate(); lifeCycle.initChild(domain, true, new GraphPoint(150, 100)); domain.setName("domain"); domain.setType(actDef.getName()); lifeCycle.run(agent, itemSysKey); Gateway.getStorage().put(itemSysKey, lifeCycle, null); Logger.msg(1, "AddStepsFromDescription::request() - DONE."); return requestData; } catch (Exception ex) { Logger.error("AddStepsFromDescription::request() - during unmarshall."); Logger.error(ex); throw new InvalidDataException("AddStepsFromDescription::request() - during unmarshall.", ""); } } }