package com.c2kernel.lifecycle.instance.predefined; //Java import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; import com.c2kernel.common.InvalidTransitionException; 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(); } @Override 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) 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); 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.", ""); } } }