Search in sources :

Example 11 with ScyllaEvent

use of de.hpi.bpt.scylla.simulation.event.ScyllaEvent in project scylla by bptlab.

the class BPMNTimerBPMNEEPlugin method eventRoutine.

@Override
public void eventRoutine(BPMNEndEvent desmojEvent, ProcessInstance processInstance) throws ScyllaRuntimeException {
    ProcessModel processModel = processInstance.getProcessModel();
    Map<Integer, ScyllaEvent> nextEvents = desmojEvent.getNextEventMap();
    for (int index : nextEvents.keySet()) {
        ScyllaEvent event = nextEvents.get(index);
        int nextNodeId = event.getNodeId();
        TimeSpan timeSpan = BPMNTimerPluginUtils.getTimeSpanUntilNextEvent(processModel, nextNodeId);
        if (timeSpan != null) {
            desmojEvent.getTimeSpanToNextEventMap().put(index, timeSpan);
        }
    }
}
Also used : TimeSpan(desmoj.core.simulator.TimeSpan) ProcessModel(de.hpi.bpt.scylla.model.process.ProcessModel) ScyllaEvent(de.hpi.bpt.scylla.simulation.event.ScyllaEvent)

Example 12 with ScyllaEvent

use of de.hpi.bpt.scylla.simulation.event.ScyllaEvent in project scylla by bptlab.

the class BPMNTimerBPMNEPlugin method eventRoutine.

@Override
public void eventRoutine(BPMNIntermediateEvent desmojEvent, ProcessInstance processInstance) throws ScyllaRuntimeException {
    ProcessModel processModel = processInstance.getProcessModel();
    Map<Integer, ScyllaEvent> nextEvents = desmojEvent.getNextEventMap();
    for (int index : nextEvents.keySet()) {
        ScyllaEvent event = nextEvents.get(index);
        int nextNodeId = event.getNodeId();
        TimeSpan timeSpan = BPMNTimerPluginUtils.getTimeSpanUntilNextEvent(processModel, nextNodeId);
        if (timeSpan != null) {
            desmojEvent.getTimeSpanToNextEventMap().put(index, timeSpan);
        }
    }
}
Also used : TimeSpan(desmoj.core.simulator.TimeSpan) ProcessModel(de.hpi.bpt.scylla.model.process.ProcessModel) ScyllaEvent(de.hpi.bpt.scylla.simulation.event.ScyllaEvent)

Example 13 with ScyllaEvent

use of de.hpi.bpt.scylla.simulation.event.ScyllaEvent in project scylla by bptlab.

the class BPMNTimerBPMNSEPlugin method eventRoutine.

@Override
public void eventRoutine(BPMNStartEvent desmojEvent, ProcessInstance processInstance) throws ScyllaRuntimeException {
    ProcessModel processModel = processInstance.getProcessModel();
    Map<Integer, ScyllaEvent> nextEvents = desmojEvent.getNextEventMap();
    for (int index : nextEvents.keySet()) {
        ScyllaEvent event = nextEvents.get(index);
        int nextNodeId = event.getNodeId();
        TimeSpan timeSpan = BPMNTimerPluginUtils.getTimeSpanUntilNextEvent(processModel, nextNodeId);
        if (timeSpan != null) {
            desmojEvent.getTimeSpanToNextEventMap().put(index, timeSpan);
        }
    }
}
Also used : TimeSpan(desmoj.core.simulator.TimeSpan) ProcessModel(de.hpi.bpt.scylla.model.process.ProcessModel) ScyllaEvent(de.hpi.bpt.scylla.simulation.event.ScyllaEvent)

Example 14 with ScyllaEvent

use of de.hpi.bpt.scylla.simulation.event.ScyllaEvent in project scylla by bptlab.

the class BPMNTimerGEPlugin method eventRoutine.

@Override
public void eventRoutine(GatewayEvent desmojEvent, ProcessInstance processInstance) throws ScyllaRuntimeException {
    ProcessModel processModel = processInstance.getProcessModel();
    Map<Integer, ScyllaEvent> nextEvents = desmojEvent.getNextEventMap();
    for (int index : nextEvents.keySet()) {
        ScyllaEvent event = nextEvents.get(index);
        int nextNodeId = event.getNodeId();
        TimeSpan timeSpan = BPMNTimerPluginUtils.getTimeSpanUntilNextEvent(processModel, nextNodeId);
        if (timeSpan != null) {
            desmojEvent.getTimeSpanToNextEventMap().put(index, timeSpan);
        }
    }
}
Also used : TimeSpan(desmoj.core.simulator.TimeSpan) ProcessModel(de.hpi.bpt.scylla.model.process.ProcessModel) ScyllaEvent(de.hpi.bpt.scylla.simulation.event.ScyllaEvent)

Example 15 with ScyllaEvent

use of de.hpi.bpt.scylla.simulation.event.ScyllaEvent in project scylla by bptlab.

the class BPMNTimerTTPlugin method eventRoutine.

@Override
public void eventRoutine(TaskTerminateEvent desmojEvent, ProcessInstance processInstance) throws ScyllaRuntimeException {
    ProcessModel processModel = processInstance.getProcessModel();
    Map<Integer, ScyllaEvent> nextEvents = desmojEvent.getNextEventMap();
    for (int index : nextEvents.keySet()) {
        ScyllaEvent event = nextEvents.get(index);
        int nextNodeId = event.getNodeId();
        TimeSpan timeSpan = BPMNTimerPluginUtils.getTimeSpanUntilNextEvent(processModel, nextNodeId);
        if (timeSpan != null) {
            desmojEvent.getTimeSpanToNextEventMap().put(index, timeSpan);
        }
    }
}
Also used : TimeSpan(desmoj.core.simulator.TimeSpan) ProcessModel(de.hpi.bpt.scylla.model.process.ProcessModel) ScyllaEvent(de.hpi.bpt.scylla.simulation.event.ScyllaEvent)

Aggregations

ScyllaEvent (de.hpi.bpt.scylla.simulation.event.ScyllaEvent)21 ProcessModel (de.hpi.bpt.scylla.model.process.ProcessModel)15 TimeSpan (desmoj.core.simulator.TimeSpan)15 NodeNotFoundException (de.hpi.bpt.scylla.model.process.graph.exception.NodeNotFoundException)7 ProcessInstance (de.hpi.bpt.scylla.simulation.ProcessInstance)7 SimulationModel (de.hpi.bpt.scylla.simulation.SimulationModel)7 ProcessSimulationComponents (de.hpi.bpt.scylla.simulation.ProcessSimulationComponents)6 ArrayList (java.util.ArrayList)6 ScyllaValidationException (de.hpi.bpt.scylla.exception.ScyllaValidationException)5 ScyllaRuntimeException (de.hpi.bpt.scylla.exception.ScyllaRuntimeException)4 TaskTerminateEvent (de.hpi.bpt.scylla.simulation.event.TaskTerminateEvent)4 TimeInstant (desmoj.core.simulator.TimeInstant)4 BPMNStartEvent (de.hpi.bpt.scylla.simulation.event.BPMNStartEvent)3 HashSet (java.util.HashSet)3 Map (java.util.Map)3 MultipleStartNodesException (de.hpi.bpt.scylla.model.process.graph.exception.MultipleStartNodesException)2 NoStartNodeException (de.hpi.bpt.scylla.model.process.graph.exception.NoStartNodeException)2 EventDefinitionType (de.hpi.bpt.scylla.model.process.node.EventDefinitionType)2 GatewayType (de.hpi.bpt.scylla.model.process.node.GatewayType)2 TaskBeginEvent (de.hpi.bpt.scylla.simulation.event.TaskBeginEvent)2