Package org.jbpm.simulation

Examples of org.jbpm.simulation.SimulationContext


    private static final long serialVersionUID = 4148987012107271001L;

    @Override
    public void internalTrigger(NodeInstance from, String type) {
        SimulationContext context = SimulationContext.getContext();
       
        ActivitySimulator simulator = context.getRegistry().getSimulator(getNode());
        SimulationEvent event = simulator.simulate(this, context);
       
        context.getRepository().storeEvent(event);
        ((NodeInstanceContainer) getNodeInstanceContainer()).nodeInstanceCompleted(this, null);
    }
View Full Code Here


    private static final long serialVersionUID = -1965605499505300424L;

    @Override
    public void internalTrigger(NodeInstance from, String type) {
       
        SimulationContext context = SimulationContext.getContext();
      
        ActivitySimulator simulator = context.getRegistry().getSimulator(getNode());
        SimulationEvent event = simulator.simulate(this, context);
       
        context.getRepository().storeEvent(event);
        long thisNodeCurrentTime = context.getClock().getCurrentTime();
       
        List<Connection> outgoing = getNode().getOutgoingConnections().get(org.jbpm.workflow.core.Node.CONNECTION_DEFAULT_TYPE);
        for (Connection conn : outgoing) {
            if (context.getCurrentPath().getSequenceFlowsIds().contains(conn.getMetaData().get("UniqueId"))) {
                // handle loops
                if (context.isLoopLimitExceeded((String) conn.getMetaData().get("UniqueId"))) {
                    continue;
                }
                context.addExecutedNode((String) conn.getMetaData().get("UniqueId"));
                triggerConnection(conn);
                // reset clock to the value of this node
                context.getClock().advanceTime((thisNodeCurrentTime - context.getClock().getCurrentTime()), TimeUnit.MILLISECONDS);
            }
        }
        long currentNodeId = getNodeId();
        // handle boundary events
        for (String boundaryEvent : context.getCurrentPath().getBoundaryEventIds()) {
           
            Node boundaryEventNode = null;
            for (Node node : getNode().getNodeContainer().getNodes()) {
               
                if (node.getMetaData().get("UniqueId").equals(boundaryEvent) &&
View Full Code Here

    private static final long serialVersionUID = -1554447958986697677L;

    @Override
    public void internalTrigger(NodeInstance from, String type) {
       
        SimulationContext context = SimulationContext.getContext();

        ActivitySimulator simulator = context.getRegistry().getSimulator(getNode());
        SimulationEvent event = simulator.simulate(this, context);
       
        context.getRepository().storeEvent(event);
       
       
        List<Connection> outgoing = getNode().getOutgoingConnections().get(Node.CONNECTION_DEFAULT_TYPE);
        for (Connection conn : outgoing) {
            if (context.getCurrentPath().getSequenceFlowsIds().contains(conn.getMetaData().get("UniqueId"))) {

                triggerConnection(conn);
            }
        }
    }
View Full Code Here

    private static final long serialVersionUID = -1965605499505300424L;

    @Override
    public void internalTrigger(NodeInstance from, String type) {
       
        SimulationContext context = SimulationContext.getContext();
      
        ActivitySimulator simulator = context.getRegistry().getSimulator(getNode());
        SimulationEvent event = simulator.simulate(this, context);
       
        context.getRepository().storeEvent(event);
        long thisNodeCurrentTime = context.getClock().getCurrentTime();
       
        List<Connection> outgoing = getNode().getOutgoingConnections().get(org.jbpm.workflow.core.Node.CONNECTION_DEFAULT_TYPE);
        for (Connection conn : outgoing) {
            if (context.getCurrentPath().getSequenceFlowsIds().contains(conn.getMetaData().get("UniqueId"))) {
                // handle loops
                if (context.isLoopLimitExceeded((String) conn.getMetaData().get("UniqueId"))) {
                    continue;
                }
                context.addExecutedNode((String) conn.getMetaData().get("UniqueId"));
                triggerConnection(conn);
                // reset clock to the value of this node
                context.getClock().advanceTime((thisNodeCurrentTime - context.getClock().getCurrentTime()), TimeUnit.MILLISECONDS);
            }
        }
        long currentNodeId = getNodeId();
        // process event definitions if any
        Map<String, String> throwEvents = context.getCurrentPath().getThrowEvents();
        String throwReference = throwEvents.get(getNode().getMetaData().get("UniqueId"));
        if (throwReference != null) {
            getProcessInstance().signalEvent(throwReference, null);
        }
        setNodeId(currentNodeId);
View Full Code Here

    private static final long serialVersionUID = 4148987012107271001L;

    @Override
    public void internalTrigger(NodeInstance from, String type) {
        SimulationContext context = SimulationContext.getContext();
       
        ActivitySimulator simulator = context.getRegistry().getSimulator(getNode());
        SimulationEvent event = simulator.simulate(this, context);
       
        context.getRepository().storeEvent(event);

        // process event definitions if any
        Map<String, String> throwEvents = context.getCurrentPath().getThrowEvents();
        String throwReference = throwEvents.get(getNode().getMetaData().get("UniqueId"));
        if (throwReference != null) {
            getProcessInstance().signalEvent(throwReference, null);
        }
View Full Code Here

    @Override
    public void internalTrigger(NodeInstance from, String type) {

        Join joinNode = (Join) getNode();

        SimulationContext context = SimulationContext.getContext();

        ActivitySimulator simulator = context.getRegistry().getSimulator(getNode());
        SimulationEvent event = simulator.simulate(this, context);

        context.getRepository().storeEvent(event);
        long thisNodeCurrentTime = context.getClock().getCurrentTime();
        boolean processOutgoing = true;
        if (joinNode.getType() == Join.TYPE_AND) {
            processOutgoing = false;
            Integer count = (Integer) this.triggers.get( from.getNodeId() );
            if ( count == null ) {
                this.triggers.put( from.getNodeId(),
                        1 );
            } else {
                this.triggers.put( from.getNodeId(), count.intValue() + 1 );
            }
            if (checkAllActivated(joinNode)) {
                processOutgoing = true;
            }
        }

        if (processOutgoing) {
            List<Connection> outgoing = getNode().getOutgoingConnections().get(org.jbpm.workflow.core.Node.CONNECTION_DEFAULT_TYPE);
            for (Connection conn : outgoing) {
                if (context.getCurrentPath().getSequenceFlowsIds().contains(conn.getMetaData().get("UniqueId"))) {
                    // handle loops
                    if (context.isLoopLimitExceeded((String) conn.getMetaData().get("UniqueId"))) {
                        continue;
                    }
                    context.addExecutedNode((String) conn.getMetaData().get("UniqueId"));
                    triggerConnection(conn);
                    // reset clock to the value of this node
                    context.getClock().advanceTime((thisNodeCurrentTime - context.getClock().getCurrentTime()), TimeUnit.MILLISECONDS);
                }
            }
            long currentNodeId = getNodeId();
            // handle boundary events
            for (String boundaryEvent : context.getCurrentPath().getBoundaryEventIds()) {

                Node boundaryEventNode = null;
                for (Node node : getNode().getNodeContainer().getNodes()) {

                    if (node.getMetaData().get("UniqueId").equals(boundaryEvent) &&
View Full Code Here

TOP

Related Classes of org.jbpm.simulation.SimulationContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.