public NodeInstance getNodeInstance(WorkItem workItem) { ProcessInstance processInstance = getProcessInstance(workItem); if (!(processInstance instanceof WorkflowProcessInstance)) { return null; } return findWorkItemNodeInstance(workItem.getId(), ((WorkflowProcessInstance) processInstance).getNodeInstances()); }
public void execute(ProcessContext context) throws Exception { WorkflowProcessInstance pi = context.getNodeInstance().getProcessInstance(); NodeInstance nodeInstance = findNodeByUniqueId(pi.getNodeInstances(), attachedToNodeId); if (nodeInstance != null) { ((org.jbpm.workflow.instance.NodeInstance)nodeInstance).cancel(); } }
public void clearProcessInstancesState() { try { // at this point only timers are considered as state that needs to be cleared TimerManager timerManager = ((InternalProcessRuntime)kruntime.getProcessRuntime()).getTimerManager(); for (ProcessInstance processInstance: new ArrayList<ProcessInstance>(processInstances.values())) { WorkflowProcessInstance pi = ((WorkflowProcessInstance) processInstance); for (org.kie.api.runtime.process.NodeInstance nodeInstance : pi.getNodeInstances()) { if (nodeInstance instanceof TimerNodeInstance){ if (((TimerNodeInstance)nodeInstance).getTimerInstance() != null) { timerManager.cancelTimer(((TimerNodeInstance)nodeInstance).getTimerInstance().getId()); } } else if (nodeInstance instanceof StateBasedNodeInstance) { List<Long> timerIds = ((StateBasedNodeInstance) nodeInstance).getTimerInstances(); if (timerIds != null) { for (Long id: timerIds) { timerManager.cancelTimer(id); } } } } } } catch (Exception e) { // catch everything here to make sure it will not break any following // logic to allow complete clean up } }
Collection<NodeInstance> nodeInstances = processInstance.getNodeInstances(); assertEquals(1, nodeInstances.size()); StateNodeInstance stateInstance = (StateNodeInstance) nodeInstances.iterator().next(); nodeInstances = processInstance.getNodeInstances(); assertEquals(1, nodeInstances.size()); stateInstance = (StateNodeInstance) nodeInstances.iterator().next(); nodeInstances = processInstance.getNodeInstances(); assertEquals(1, nodeInstances.size()); stateInstance = (StateNodeInstance) nodeInstances.iterator().next(); nodeInstances = processInstance.getNodeInstances(); assertEquals(1, nodeInstances.size()); stateInstance = (StateNodeInstance) nodeInstances.iterator().next(); nodeInstances = processInstance.getNodeInstances(); assertEquals(1, nodeInstances.size()); stateInstance = (StateNodeInstance) nodeInstances.iterator().next(); nodeInstances = processInstance.getNodeInstances(); assertEquals(0, nodeInstances.size()); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
Collection<NodeInstance> nodeInstances = processInstance.getNodeInstances(); assertEquals(1, nodeInstances.size()); StateNodeInstance stateInstance = (StateNodeInstance) nodeInstances.iterator().next(); assertTrue(list.contains("Timer2a")); processInstance.signalEvent("signal", "End"); nodeInstances = processInstance.getNodeInstances(); assertEquals(0, nodeInstances.size()); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
Collection<NodeInstance> nodeInstances = processInstance.getNodeInstances(); assertEquals(1, nodeInstances.size()); StateNodeInstance stateInstance = (StateNodeInstance) nodeInstances.iterator().next(); assertTrue(list.contains("Action2a")); processInstance.signalEvent("signal", "End"); nodeInstances = processInstance.getNodeInstances(); assertEquals(0, nodeInstances.size()); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
Collection<NodeInstance> nodeInstances = ((WorkflowProcessInstance) nodeInstanceContainer).getNodeInstances(); for (NodeInstance nodeInstance: nodeInstances) { ((org.jbpm.workflow.instance.NodeInstance) nodeInstance).cancel();
assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE); Collection<NodeInstance> active = ((WorkflowProcessInstance)processInstance).getNodeInstances(); assertEquals(1, active.size());
((WorkflowProcessInstance) processInstance).getNodeInstances().iterator().next(); Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("TaskName", "Dynamic Task");
((WorkflowProcessInstance) processInstance).getNodeInstances().iterator().next(); Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("x", "NewValue");
assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE); Collection<NodeInstance> active = ((WorkflowProcessInstance)processInstance).getNodeInstances(); assertEquals(1, active.size());
ksession.fireAllRules(); DynamicNodeInstance dynamicContext = (DynamicNodeInstance) ((WorkflowProcessInstance) processInstance) .getNodeInstances().iterator().next(); DynamicUtils.addDynamicSubProcess(dynamicContext, ksession, "Minimal", new HashMap<String, Object>());
@Test public void testEventSubprocessWithEmbeddedSignals() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-EventSubprocessErrorSignalEmbedded.bpmn2"); ksession = createKnowledgeSession(kbase); ProcessInstance processInstance = ksession.startProcess("project2.myerrorprocess"); assertProcessInstanceActive(processInstance.getId(), ksession); assertProcessInstanceActive(processInstance); ksession = restoreSession(ksession, true); ksession.signalEvent("signal1", null, processInstance.getId()); assertProcessInstanceActive(processInstance.getId(), ksession); for (NodeInstance nodeInstance: ((WorkflowProcessInstance) processInstance).getNodeInstances()) { System.out.println("Active node instance " + nodeInstance); } ksession.signalEvent("signal2", null, processInstance.getId()); assertProcessInstanceActive(processInstance.getId(), ksession); ksession.signalEvent("signal3", null, processInstance.getId()); assertProcessInstanceFinished(processInstance, ksession); }
assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE); Collection<NodeInstance> active = ((WorkflowProcessInstance)processInstance).getNodeInstances(); assertEquals(1, active.size());
assertEquals(ProcessInstance.SLA_NA, slaCompliance); Collection<NodeInstance> active = ((WorkflowProcessInstance)processInstance).getNodeInstances(); assertEquals(1, active.size());
ksession.fireAllRules(); DynamicNodeInstance dynamicContext = (DynamicNodeInstance) ((WorkflowProcessInstance) processInstance) .getNodeInstances().iterator().next(); DynamicUtils.addDynamicSubProcess(dynamicContext, ksession, "ServiceProcess", new HashMap<String, Object>());
assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE); Collection<NodeInstance> active = ((WorkflowProcessInstance)processInstance).getNodeInstances(); assertEquals(1, active.size());
assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE); DynamicNodeInstance dynamicContext = (DynamicNodeInstance) ((WorkflowProcessInstance) processInstance) .getNodeInstances().iterator().next(); DynamicUtils.addDynamicWorkItem(dynamicContext, ksession, "OtherTask", new HashMap<String, Object>());
public NodeInstance getNodeInstance(WorkItem workItem) { ProcessInstance processInstance = getProcessInstance(workItem); if (!(processInstance instanceof WorkflowProcessInstance)) { return null; } return findWorkItemNodeInstance(workItem.getId(), ((WorkflowProcessInstance) processInstance).getNodeInstances()); }
public void execute(ProcessContext context) throws Exception { WorkflowProcessInstance pi = context.getNodeInstance().getProcessInstance(); NodeInstance nodeInstance = findNodeByUniqueId(pi.getNodeInstances(), attachedToNodeId); if (nodeInstance != null) { ((org.jbpm.workflow.instance.NodeInstance)nodeInstance).cancel(); } }