jadex.bpmn.runtime.handler.EventMultipleStepHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jadex-kernel-bpmn Show documentation
Show all versions of jadex-kernel-bpmn Show documentation
The Jadex BPMN kernel provides a workflow kernel for the standardized business process modeling notation. The kernel relies on annotated BPMN diagrams, which include detailed execution information.
package jadex.bpmn.runtime.handler;
import java.util.List;
import jadex.bpmn.model.MActivity;
import jadex.bpmn.model.MSequenceEdge;
import jadex.bpmn.runtime.IStepHandler;
import jadex.bpmn.runtime.ProcessThread;
import jadex.bridge.IInternalAccess;
import jadex.bridge.component.IExecutionFeature;
import jadex.commons.IFilter;
/**
* Step handler that can be used for event-multiple elements.
*/
public class EventMultipleStepHandler implements IStepHandler
{
/**
* Make a process step, i.e. find the next edge or activity for a just executed thread.
* @param activity The activity to execute.
* @param instance The process instance.
* @param thread The process thread.
*/
public void step(MActivity activity, IInternalAccess instance, ProcessThread thread, Object event)
{
assert instance.getComponentFeature(IExecutionFeature.class).isComponentThread();
// Hack!!! Should be in interpreter/thread?
thread.updateParametersAfterStep(activity, instance);
MSequenceEdge next = null;
ICancelable ca = null;
List outgoing = activity.getOutgoingSequenceEdges();
OrFilter filter = (OrFilter)thread.getWaitFilter();
IFilter