Search in sources :

Example 26 with Person

use of org.jbpm.bpmn2.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");
}
Also used : KieBase(org.kie.api.KieBase) DoNothingWorkItemHandler(org.jbpm.process.instance.impl.demo.DoNothingWorkItemHandler) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) WorkflowProcessInstance(org.kie.api.runtime.process.WorkflowProcessInstance) Person(org.jbpm.bpmn2.objects.Person) Test(org.junit.Test)

Example 27 with Person

use of org.jbpm.bpmn2.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);
}
Also used : KieBase(org.kie.api.KieBase) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) WorkflowProcessInstance(org.kie.api.runtime.process.WorkflowProcessInstance) Person(org.jbpm.bpmn2.objects.Person) Test(org.junit.Test)

Example 28 with Person

use of org.jbpm.bpmn2.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");
}
Also used : TestWorkItemHandler(org.jbpm.bpmn2.objects.TestWorkItemHandler) KieBase(org.kie.api.KieBase) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) WorkflowProcessInstance(org.kie.api.runtime.process.WorkflowProcessInstance) Person(org.jbpm.bpmn2.objects.Person) Test(org.junit.Test)

Example 29 with Person

use of org.jbpm.bpmn2.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();
}
Also used : HashMap(java.util.HashMap) FactHandle(org.kie.api.runtime.rule.FactHandle) KieBase(org.kie.api.KieBase) Person(org.jbpm.bpmn2.objects.Person) WorkflowProcessInstance(org.kie.api.runtime.process.WorkflowProcessInstance) Test(org.junit.Test)

Example 30 with Person

use of org.jbpm.bpmn2.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);
}
Also used : KieBase(org.kie.api.KieBase) SystemOutWorkItemHandler(org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler) KieSession(org.kie.api.runtime.KieSession) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) WorkflowProcessInstance(org.kie.api.runtime.process.WorkflowProcessInstance) Person(org.jbpm.bpmn2.objects.Person) Ignore(org.junit.Ignore) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)32 Person (org.jbpm.bpmn2.objects.Person)29 KieBase (org.kie.api.KieBase)28 WorkflowProcessInstance (org.kie.api.runtime.process.WorkflowProcessInstance)22 ProcessInstance (org.kie.api.runtime.process.ProcessInstance)21 HashMap (java.util.HashMap)10 Person (objects.Person)8 TestWorkItemHandler (org.jbpm.bpmn2.objects.TestWorkItemHandler)8 ArrayList (java.util.ArrayList)6 Tile (objects.Tile)4 Ignore (org.junit.Ignore)4 KieSession (org.kie.api.runtime.KieSession)4 BaseMap (objects.BaseMap)3 DoNothingWorkItemHandler (org.jbpm.process.instance.impl.demo.DoNothingWorkItemHandler)3 FileHandle (com.badlogic.gdx.files.FileHandle)2 Region (com.badlogic.gdx.graphics.g2d.TextureAtlas.TextureAtlasData.Region)2 TextureRegion (com.badlogic.gdx.graphics.g2d.TextureRegion)2 TiledMap (com.badlogic.gdx.maps.tiled.TiledMap)2 TiledMapTileLayer (com.badlogic.gdx.maps.tiled.TiledMapTileLayer)2 StaticTiledMapTile (com.badlogic.gdx.maps.tiled.tiles.StaticTiledMapTile)2