use of objects.Person in project jbpm by kiegroup.
the class IntermediateEventTest method testConditionalBoundaryEventInterrupting.
@Test
public void testConditionalBoundaryEventInterrupting() throws Exception {
KieBase kbase = createKnowledgeBase("BPMN2-ConditionalBoundaryEventInterrupting.bpmn2");
ksession = createKnowledgeSession(kbase);
ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
ProcessInstance processInstance = ksession.startProcess("ConditionalBoundaryEvent");
assertProcessInstanceActive(processInstance);
ksession = restoreSession(ksession, true);
Person person = new Person();
person.setName("john");
ksession.insert(person);
assertProcessInstanceFinished(processInstance, ksession);
assertNodeTriggered(processInstance.getId(), "StartProcess", "Hello", "StartSubProcess", "Task", "BoundaryEvent", "Goodbye", "EndProcess");
}
use of objects.Person in project jbpm by kiegroup.
the class IntermediateEventTest method testIntermediateCatchEventCondition.
@Test
public void testIntermediateCatchEventCondition() throws Exception {
KieBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventCondition.bpmn2");
ksession = createKnowledgeSession(kbase);
ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
assertProcessInstanceActive(processInstance);
ksession = restoreSession(ksession, true);
// now activate condition
Person person = new Person();
person.setName("Jack");
ksession.insert(person);
assertProcessInstanceFinished(processInstance, ksession);
}
use of objects.Person in project jbpm by kiegroup.
the class IntermediateEventTest method testConditionalBoundaryEventOnTask.
@Test
public void testConditionalBoundaryEventOnTask() throws Exception {
KieBase kbase = createKnowledgeBase("BPMN2-BoundaryConditionalEventOnTask.bpmn2");
ksession = createKnowledgeSession(kbase);
ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new TestWorkItemHandler());
ProcessInstance processInstance = ksession.startProcess("BoundarySignalOnTask");
Person person = new Person();
person.setName("john");
ksession.insert(person);
assertProcessInstanceFinished(processInstance, ksession);
assertNodeTriggered(processInstance.getId(), "StartProcess", "User Task", "Boundary event", "Condition met", "End2");
}
use of objects.Person in project jbpm by kiegroup.
the class IntermediateEventTest method testIntermediateCatchEventConditionFilterByProcessInstance.
@Test
public void testIntermediateCatchEventConditionFilterByProcessInstance() throws Exception {
KieBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventConditionFilterByProcessInstance.bpmn2");
ksession = createKnowledgeSession(kbase);
Map<String, Object> params1 = new HashMap<String, Object>();
params1.put("personId", Long.valueOf(1L));
Person person1 = new Person();
person1.setId(1L);
WorkflowProcessInstance pi1 = (WorkflowProcessInstance) ksession.createProcessInstance("IntermediateCatchEventConditionFilterByProcessInstance", params1);
long pi1id = pi1.getId();
ksession.insert(pi1);
FactHandle personHandle1 = ksession.insert(person1);
ksession.startProcessInstance(pi1.getId());
Map<String, Object> params2 = new HashMap<String, Object>();
params2.put("personId", Long.valueOf(2L));
Person person2 = new Person();
person2.setId(2L);
WorkflowProcessInstance pi2 = (WorkflowProcessInstance) ksession.createProcessInstance("IntermediateCatchEventConditionFilterByProcessInstance", params2);
long pi2id = pi2.getId();
ksession.insert(pi2);
FactHandle personHandle2 = ksession.insert(person2);
ksession.startProcessInstance(pi2.getId());
person1.setName("John");
ksession.update(personHandle1, person1);
// First process should be completed
assertThat(ksession.getProcessInstance(pi1id)).isNull();
// Second process should NOT be completed
assertThat(ksession.getProcessInstance(pi2id)).isNotNull();
}
use of objects.Person in project jbpm by kiegroup.
the class StandaloneBPMNProcessTest method testEventBasedSplit3.
@Test
@Ignore("process does not complete")
public void testEventBasedSplit3() throws Exception {
KieBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit3.bpmn2");
KieSession ksession = createKnowledgeSession(kbase);
ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
Person jack = new Person();
jack.setName("Jack");
// Yes
ProcessInstance processInstance = ksession.startProcess("com.sample.test");
assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_ACTIVE);
ksession = restoreSession(ksession);
ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
ksession.signalEvent("Yes", "YesValue", processInstance.getId());
assertProcessInstanceCompleted(processInstance.getId(), ksession);
// Condition
processInstance = ksession.startProcess("com.sample.test");
assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_ACTIVE);
ksession = restoreSession(ksession);
ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
ksession.insert(jack);
assertProcessInstanceCompleted(processInstance.getId(), ksession);
}
Aggregations