[jboss-svn-commits] JBL Code SVN: r34676 - labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Aug 12 11:51:28 EDT 2010
Author: KrisVerlaenen
Date: 2010-08-12 11:51:28 -0400 (Thu, 12 Aug 2010)
New Revision: 34676
Modified:
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java
Log:
- commenting out BPMN2 tests for now
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java 2010-08-12 15:29:50 UTC (rev 34675)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java 2010-08-12 15:51:28 UTC (rev 34676)
@@ -111,769 +111,769 @@
assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
}
- public void testMinimalProcessWithGraphical() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-MinimalProcessWithGraphical.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("Minimal");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testMinimalProcessWithDIGraphical() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-MinimalProcessWithDIGraphical.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("Minimal");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testCompositeProcessWithDIGraphical() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-CompositeProcessWithDIGraphical.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("Composite");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testScriptTask() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-ScriptTask.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("ScriptTask");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testDataObject() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-DataObject.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("employee", "UserId-12345");
- ProcessInstance processInstance = ksession.startProcess("Evaluation", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testEvaluationProcess() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("RegisterRequest", new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("employee", "UserId-12345");
- ProcessInstance processInstance = ksession.startProcess("Evaluation", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testEvaluationProcess2() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess2.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("employee", "UserId-12345");
- ProcessInstance processInstance = ksession.startProcess("com.sample.evaluation", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testEvaluationProcess3() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess3.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("RegisterRequest", new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("employee", "john2");
- ProcessInstance processInstance = ksession.startProcess("Evaluation", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testUserTask() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-UserTask.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- ProcessInstance processInstance = ksession.startProcess("UserTask");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- WorkItem workItem = workItemHandler.getWorkItem();
- assertNotNull(workItem);
- assertEquals("john", workItem.getParameter("ActorId"));
- ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testLane() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-Lane.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- ProcessInstance processInstance = ksession.startProcess("UserTask");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- WorkItem workItem = workItemHandler.getWorkItem();
- assertNotNull(workItem);
- assertEquals("john", workItem.getParameter("ActorId"));
- Map<String, Object> results = new HashMap<String, Object>();
- results.put("ActorId", "mary");
- ksession.getWorkItemManager().completeWorkItem(workItem.getId(), results);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- workItem = workItemHandler.getWorkItem();
- assertNotNull(workItem);
- assertEquals("mary", workItem.getParameter("ActorId"));
- ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testExclusiveSplit() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplit.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", "First");
- params.put("y", "Second");
- ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testExclusiveSplitDefault() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplitDefault.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", "NotFirst");
- params.put("y", "Second");
- ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testInclusiveSplit() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-InclusiveSplit.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", 15);
- ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testInclusiveSplitDefault() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-InclusiveSplitDefault.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", -5);
- ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
-// public void testExclusiveSplitXPath() throws Exception {
-// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplitXPath.xml");
-// StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
-// ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler());
-// Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
-// .parse(new ByteArrayInputStream(
-// "<myDocument><chapter1>BlaBla</chapter1><chapter2>MoreBlaBla</chapter2></myDocument>".getBytes()));
+// public void testMinimalProcessWithGraphical() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-MinimalProcessWithGraphical.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("Minimal");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testMinimalProcessWithDIGraphical() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-MinimalProcessWithDIGraphical.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("Minimal");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testCompositeProcessWithDIGraphical() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-CompositeProcessWithDIGraphical.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("Composite");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testScriptTask() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ScriptTask.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("ScriptTask");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testDataObject() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-DataObject.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
// Map<String, Object> params = new HashMap<String, Object>();
-// params.put("x", document);
-// params.put("y", "SomeString");
+// params.put("employee", "UserId-12345");
+// ProcessInstance processInstance = ksession.startProcess("Evaluation", params);
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testEvaluationProcess() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("RegisterRequest", new SystemOutWorkItemHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("employee", "UserId-12345");
+// ProcessInstance processInstance = ksession.startProcess("Evaluation", params);
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testEvaluationProcess2() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess2.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("employee", "UserId-12345");
+// ProcessInstance processInstance = ksession.startProcess("com.sample.evaluation", params);
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testEvaluationProcess3() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess3.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("RegisterRequest", new SystemOutWorkItemHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("employee", "john2");
+// ProcessInstance processInstance = ksession.startProcess("Evaluation", params);
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testUserTask() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-UserTask.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// ProcessInstance processInstance = ksession.startProcess("UserTask");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// WorkItem workItem = workItemHandler.getWorkItem();
+// assertNotNull(workItem);
+// assertEquals("john", workItem.getParameter("ActorId"));
+// ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testLane() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-Lane.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// ProcessInstance processInstance = ksession.startProcess("UserTask");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// WorkItem workItem = workItemHandler.getWorkItem();
+// assertNotNull(workItem);
+// assertEquals("john", workItem.getParameter("ActorId"));
+// Map<String, Object> results = new HashMap<String, Object>();
+// results.put("ActorId", "mary");
+// ksession.getWorkItemManager().completeWorkItem(workItem.getId(), results);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// workItem = workItemHandler.getWorkItem();
+// assertNotNull(workItem);
+// assertEquals("mary", workItem.getParameter("ActorId"));
+// ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testExclusiveSplit() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplit.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", "First");
+// params.put("y", "Second");
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testExclusiveSplitDefault() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplitDefault.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", "NotFirst");
+// params.put("y", "Second");
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testInclusiveSplit() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-InclusiveSplit.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", 15);
// ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
// }
-
- public void testEventBasedSplit() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- // Yes
- ProcessInstance processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == 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);
- // No
- processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- ksession.signalEvent("No", "NoValue", processInstance.getId());
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testEventBasedSplitBefore() throws Exception {
- // signaling before the split is reached should have no effect
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
- // Yes
- ProcessInstance processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
- ksession.signalEvent("Yes", "YesValue", processInstance.getId());
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- // No
- processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
- ksession.signalEvent("No", "NoValue", processInstance.getId());
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- }
-
- public void testEventBasedSplitAfter() throws Exception {
- // signaling the other alternative after one has been selected should have no effect
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
- // Yes
- ProcessInstance processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
- ksession.signalEvent("Yes", "YesValue", processInstance.getId());
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
- // No
- ksession.signalEvent("No", "NoValue", processInstance.getId());
- }
-
- public void testEventBasedSplit2() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit2.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- // Yes
- ProcessInstance processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == 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);
- Thread.sleep(800);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- ksession.fireAllRules();
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- // Timer
- processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- Thread.sleep(800);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- ksession.fireAllRules();
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testEventBasedSplit3() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit3.xml");
- StatefulKnowledgeSession 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");
- assertTrue(processInstance.getState() == 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");
- assertTrue(processInstance.getState() == 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);
- }
-
- public void testEventBasedSplit4() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit4.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- // Yes
- ProcessInstance processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- ksession.signalEvent("Message-YesMessage", "YesValue", processInstance.getId());
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- // No
- processInstance = ksession.startProcess("com.sample.test");
- ksession.signalEvent("Message-NoMessage", "NoValue", processInstance.getId());
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testEventBasedSplit5() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit5.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- ReceiveTaskHandler receiveTaskHandler = new ReceiveTaskHandler(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", receiveTaskHandler);
- // Yes
- ProcessInstance processInstance = ksession.startProcess("com.sample.test");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- receiveTaskHandler.setKnowledgeRuntime(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", receiveTaskHandler);
- receiveTaskHandler.messageReceived("YesMessage", "YesValue");
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- receiveTaskHandler.messageReceived("NoMessage", "NoValue");
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
- ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
- receiveTaskHandler.setKnowledgeRuntime(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", receiveTaskHandler);
- // No
- processInstance = ksession.startProcess("com.sample.test");
- receiveTaskHandler.messageReceived("NoMessage", "NoValue");
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- receiveTaskHandler.messageReceived("YesMessage", "YesValue");
- }
-
- public void testCallActivity() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- kbuilder.add(ResourceFactory.newClassPathResource("BPMN2-CallActivity.xml"), ResourceType.BPMN2);
- kbuilder.add(ResourceFactory.newClassPathResource("BPMN2-CallActivitySubProcess.xml"), ResourceType.BPMN2);
- if (!kbuilder.getErrors().isEmpty()) {
- for (KnowledgeBuilderError error: kbuilder.getErrors()) {
- System.err.println(error);
- }
- throw new IllegalArgumentException("Errors while parsing knowledge base");
- }
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", "oldValue");
- ProcessInstance processInstance = ksession.startProcess("ParentProcess", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- assertEquals("new value", ((WorkflowProcessInstance) processInstance).getVariable("y"));
- }
-
- public void testSubProcess() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-SubProcess.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("SubProcess");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testMultiInstanceLoopCharacteristicsProcess() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-MultiInstanceLoopCharacteristicsProcess.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Map<String, Object> params = new HashMap<String, Object>();
- List<String> myList = new ArrayList<String>();
- myList.add("First Item");
- myList.add("Second Item");
- params.put("list", myList);
- ProcessInstance processInstance = ksession.startProcess("MultiInstanceLoopCharacteristicsProcess", params);
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testEscalationBoundaryEvent() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EscalationBoundaryEvent.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("EscalationBoundaryEvent");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- }
-
- public void testEscalationBoundaryEventInterrupting() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EscalationBoundaryEventInterrupting.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
- ProcessInstance processInstance = ksession.startProcess("EscalationBoundaryEvent");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
- // TODO: check for cancellation of task
- }
-
- public void testErrorBoundaryEvent() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-ErrorBoundaryEventInterrupting.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
- ProcessInstance processInstance = ksession.startProcess("ErrorBoundaryEvent");
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testTimerBoundaryEvent() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEvent.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
- ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- Thread.sleep(1000);
- ksession = restoreSession(ksession);
- System.out.println("Firing timer");
- ksession.fireAllRules();
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testTimerBoundaryEventInterrupting() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventInterrupting.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
- ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- Thread.sleep(1000);
- ksession = restoreSession(ksession);
- System.out.println("Firing timer");
- ksession.fireAllRules();
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testAdHocSubProcess() throws Exception {
- KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
- ((PackageBuilderConfiguration) conf).initSemanticModules();
- ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNSemanticModule());
- ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNDISemanticModule());
- ((PackageBuilderConfiguration) conf).addDialect("XPath", new XPathDialectConfiguration());
- XmlProcessReader processReader = new XmlProcessReader(
- ((PackageBuilderConfiguration) conf).getSemanticModules());
- RuleFlowProcess p = (RuleFlowProcess)
- processReader.read(SimpleBPMNProcessTest.class.getResourceAsStream("/BPMN2-AdHocSubProcess.xml"));
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(conf);
-// System.out.println(XmlBPMNProcessDumper.INSTANCE.dump(p));
- kbuilder.add(ResourceFactory.newReaderResource(
- new StringReader(XmlBPMNProcessDumper.INSTANCE.dump(p))), ResourceType.BPMN2);
- kbuilder.add(ResourceFactory.newClassPathResource("BPMN2-AdHocSubProcess.drl"), ResourceType.DRL);
- if (!kbuilder.getErrors().isEmpty()) {
- for (KnowledgeBuilderError error: kbuilder.getErrors()) {
- System.err.println(error);
- }
- throw new IllegalArgumentException("Errors while parsing knowledge base");
- }
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- ProcessInstance processInstance = ksession.startProcess("AdHocSubProcess");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- WorkItem workItem = workItemHandler.getWorkItem();
- assertNull(workItem);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- ksession.fireAllRules();
- System.out.println("Signaling Hello2");
- ksession.signalEvent("Hello2", null, processInstance.getId());
- workItem = workItemHandler.getWorkItem();
- assertNotNull(workItem);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
- }
-
- public void testAdHocSubProcessAutoComplete() throws Exception {
- KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
- ((PackageBuilderConfiguration) conf).initSemanticModules();
- ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNSemanticModule());
- ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNDISemanticModule());
- ((PackageBuilderConfiguration) conf).addDialect("XPath", new XPathDialectConfiguration());
- XmlProcessReader processReader = new XmlProcessReader(
- ((PackageBuilderConfiguration) conf).getSemanticModules());
- RuleFlowProcess p = (RuleFlowProcess)
- processReader.read(SimpleBPMNProcessTest.class.getResourceAsStream("/BPMN2-AdHocSubProcessAutoComplete.xml"));
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(conf);
-// System.out.println(XmlBPMNProcessDumper.INSTANCE.dump(p));
- kbuilder.add(ResourceFactory.newReaderResource(
- new StringReader(XmlBPMNProcessDumper.INSTANCE.dump(p))), ResourceType.BPMN2);
- kbuilder.add(ResourceFactory.newClassPathResource("BPMN2-AdHocSubProcess.drl"), ResourceType.DRL);
- if (!kbuilder.getErrors().isEmpty()) {
- for (KnowledgeBuilderError error: kbuilder.getErrors()) {
- System.err.println(error);
- }
- throw new IllegalArgumentException("Errors while parsing knowledge base");
- }
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- ProcessInstance processInstance = ksession.startProcess("AdHocSubProcess");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- WorkItem workItem = workItemHandler.getWorkItem();
- assertNull(workItem);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- ksession.fireAllRules();
- workItem = workItemHandler.getWorkItem();
- assertNotNull(workItem);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
- ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testIntermediateCatchEventSignal() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventSignal.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
- ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- // now signal process instance
- ksession.signalEvent("MyMessage", "SomeValue", processInstance.getId());
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testIntermediateCatchEventMessage() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventMessage.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
- ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- // now signal process instance
- ksession.signalEvent("Message-HelloMessage", "SomeValue", processInstance.getId());
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testIntermediateCatchEventTimer() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventTimer.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
- ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- // now wait for 1 second for timer to trigger
- Thread.sleep(1000);
- ksession = restoreSession(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
- ksession.fireAllRules();
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testIntermediateCatchEventCondition() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventCondition.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
- assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
- ksession = restoreSession(ksession);
- // now activate condition
- Person person = new Person();
- person.setName("Jack");
- ksession.insert(person);
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testErrorEndEventProcess() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-ErrorEndEvent.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("ErrorEndEvent");
- assertProcessInstanceAborted(processInstance.getId(), ksession);
- }
-
- public void testEscalationEndEventProcess() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-EscalationEndEvent.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("EscalationEndEvent");
- assertProcessInstanceAborted(processInstance.getId(), ksession);
- }
-
- public void testEscalationIntermediateThrowEventProcess() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventEscalation.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("EscalationIntermediateThrowEvent");
- assertProcessInstanceAborted(processInstance.getId(), ksession);
- }
-
- public void testCompensateIntermediateThrowEventProcess() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventCompensate.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("CompensateIntermediateThrowEvent");
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testCompensateEndEventProcess() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-CompensateEndEvent.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("CompensateEndEvent");
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
-// public void testGraphicalInformation() throws Exception {
-// KnowledgeBase kbase = createKnowledgeBase("BPMN2-OryxExportedExample.xml");
+//
+// public void testInclusiveSplitDefault() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-InclusiveSplitDefault.xml");
// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
-// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler());
-// ProcessInstance processInstance = ksession.startProcess("testProzess");
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", -5);
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
// }
-
- public void testServiceTask() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-ServiceProcess.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Service Task", new ServiceTaskHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("s", "john");
- WorkflowProcessInstance processInstance = (WorkflowProcessInstance)
- ksession.startProcess("ServiceProcess", params);
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- assertEquals("Hello john!", processInstance.getVariable("s"));
- }
-
- public void testSendTask() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-SendTask.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("s", "john");
- WorkflowProcessInstance processInstance = (WorkflowProcessInstance)
- ksession.startProcess("SendTask", params);
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testReceiveTask() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-ReceiveTask.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ReceiveTaskHandler receiveTaskHandler = new ReceiveTaskHandler(ksession);
- ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", receiveTaskHandler);
- WorkflowProcessInstance processInstance = (WorkflowProcessInstance)
- ksession.startProcess("ReceiveTask");
- assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
- ksession = restoreSession(ksession);
- receiveTaskHandler.messageReceived("HelloMessage", "Hello john!");
- assertProcessInstanceCompleted(processInstance.getId(), ksession);
- }
-
- public void testConditionalStart() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-ConditionalStart.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Person person = new Person();
- person.setName("jack");
- ksession.insert(person);
- ksession.fireAllRules();
- person = new Person();
- person.setName("john");
- ksession.insert(person);
- ksession.fireAllRules();
- }
+//
+//// public void testExclusiveSplitXPath() throws Exception {
+//// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplitXPath.xml");
+//// StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+//// ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler());
+//// Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
+//// .parse(new ByteArrayInputStream(
+//// "<myDocument><chapter1>BlaBla</chapter1><chapter2>MoreBlaBla</chapter2></myDocument>".getBytes()));
+//// Map<String, Object> params = new HashMap<String, Object>();
+//// params.put("x", document);
+//// params.put("y", "SomeString");
+//// ProcessInstance processInstance = ksession.startProcess("com.sample.test", params);
+//// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+//// }
+//
+// public void testEventBasedSplit() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// // Yes
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == 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);
+// // No
+// processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// ksession.signalEvent("No", "NoValue", processInstance.getId());
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testEventBasedSplitBefore() throws Exception {
+// // signaling before the split is reached should have no effect
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
+// // Yes
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
+// ksession.signalEvent("Yes", "YesValue", processInstance.getId());
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// // No
+// processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
+// ksession.signalEvent("No", "NoValue", processInstance.getId());
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// }
+//
+// public void testEventBasedSplitAfter() throws Exception {
+// // signaling the other alternative after one has been selected should have no effect
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
+// // Yes
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
+// ksession.signalEvent("Yes", "YesValue", processInstance.getId());
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
+// // No
+// ksession.signalEvent("No", "NoValue", processInstance.getId());
+// }
+//
+// public void testEventBasedSplit2() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit2.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// // Yes
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == 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);
+// Thread.sleep(800);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// ksession.fireAllRules();
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// // Timer
+// processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// Thread.sleep(800);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// ksession.fireAllRules();
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testEventBasedSplit3() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit3.xml");
+// StatefulKnowledgeSession 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");
+// assertTrue(processInstance.getState() == 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");
+// assertTrue(processInstance.getState() == 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);
+// }
+//
+// public void testEventBasedSplit4() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit4.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// // Yes
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// ksession.signalEvent("Message-YesMessage", "YesValue", processInstance.getId());
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// // No
+// processInstance = ksession.startProcess("com.sample.test");
+// ksession.signalEvent("Message-NoMessage", "NoValue", processInstance.getId());
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testEventBasedSplit5() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit5.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// ReceiveTaskHandler receiveTaskHandler = new ReceiveTaskHandler(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", receiveTaskHandler);
+// // Yes
+// ProcessInstance processInstance = ksession.startProcess("com.sample.test");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// receiveTaskHandler.setKnowledgeRuntime(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", receiveTaskHandler);
+// receiveTaskHandler.messageReceived("YesMessage", "YesValue");
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// receiveTaskHandler.messageReceived("NoMessage", "NoValue");
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
+// ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
+// receiveTaskHandler.setKnowledgeRuntime(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", receiveTaskHandler);
+// // No
+// processInstance = ksession.startProcess("com.sample.test");
+// receiveTaskHandler.messageReceived("NoMessage", "NoValue");
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// receiveTaskHandler.messageReceived("YesMessage", "YesValue");
+// }
+//
+// public void testCallActivity() throws Exception {
+// KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+// kbuilder.add(ResourceFactory.newClassPathResource("BPMN2-CallActivity.xml"), ResourceType.BPMN2);
+// kbuilder.add(ResourceFactory.newClassPathResource("BPMN2-CallActivitySubProcess.xml"), ResourceType.BPMN2);
+// if (!kbuilder.getErrors().isEmpty()) {
+// for (KnowledgeBuilderError error: kbuilder.getErrors()) {
+// System.err.println(error);
+// }
+// throw new IllegalArgumentException("Errors while parsing knowledge base");
+// }
+// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+// kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", "oldValue");
+// ProcessInstance processInstance = ksession.startProcess("ParentProcess", params);
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// assertEquals("new value", ((WorkflowProcessInstance) processInstance).getVariable("y"));
+// }
+//
+// public void testSubProcess() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-SubProcess.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("SubProcess");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testMultiInstanceLoopCharacteristicsProcess() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-MultiInstanceLoopCharacteristicsProcess.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// Map<String, Object> params = new HashMap<String, Object>();
+// List<String> myList = new ArrayList<String>();
+// myList.add("First Item");
+// myList.add("Second Item");
+// params.put("list", myList);
+// ProcessInstance processInstance = ksession.startProcess("MultiInstanceLoopCharacteristicsProcess", params);
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testEscalationBoundaryEvent() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EscalationBoundaryEvent.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("EscalationBoundaryEvent");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// }
+//
+// public void testEscalationBoundaryEventInterrupting() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EscalationBoundaryEventInterrupting.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
+// ProcessInstance processInstance = ksession.startProcess("EscalationBoundaryEvent");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+// // TODO: check for cancellation of task
+// }
+//
+// public void testErrorBoundaryEvent() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ErrorBoundaryEventInterrupting.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
+// ProcessInstance processInstance = ksession.startProcess("ErrorBoundaryEvent");
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testTimerBoundaryEvent() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEvent.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
+// ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// Thread.sleep(1000);
+// ksession = restoreSession(ksession);
+// System.out.println("Firing timer");
+// ksession.fireAllRules();
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testTimerBoundaryEventInterrupting() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventInterrupting.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler());
+// ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// Thread.sleep(1000);
+// ksession = restoreSession(ksession);
+// System.out.println("Firing timer");
+// ksession.fireAllRules();
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testAdHocSubProcess() throws Exception {
+// KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
+// ((PackageBuilderConfiguration) conf).initSemanticModules();
+// ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNSemanticModule());
+// ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNDISemanticModule());
+// ((PackageBuilderConfiguration) conf).addDialect("XPath", new XPathDialectConfiguration());
+// XmlProcessReader processReader = new XmlProcessReader(
+// ((PackageBuilderConfiguration) conf).getSemanticModules());
+// RuleFlowProcess p = (RuleFlowProcess)
+// processReader.read(SimpleBPMNProcessTest.class.getResourceAsStream("/BPMN2-AdHocSubProcess.xml"));
+// KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(conf);
+//// System.out.println(XmlBPMNProcessDumper.INSTANCE.dump(p));
+// kbuilder.add(ResourceFactory.newReaderResource(
+// new StringReader(XmlBPMNProcessDumper.INSTANCE.dump(p))), ResourceType.BPMN2);
+// kbuilder.add(ResourceFactory.newClassPathResource("BPMN2-AdHocSubProcess.drl"), ResourceType.DRL);
+// if (!kbuilder.getErrors().isEmpty()) {
+// for (KnowledgeBuilderError error: kbuilder.getErrors()) {
+// System.err.println(error);
+// }
+// throw new IllegalArgumentException("Errors while parsing knowledge base");
+// }
+// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+// kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// ProcessInstance processInstance = ksession.startProcess("AdHocSubProcess");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// WorkItem workItem = workItemHandler.getWorkItem();
+// assertNull(workItem);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// ksession.fireAllRules();
+// System.out.println("Signaling Hello2");
+// ksession.signalEvent("Hello2", null, processInstance.getId());
+// workItem = workItemHandler.getWorkItem();
+// assertNotNull(workItem);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+// }
+//
+// public void testAdHocSubProcessAutoComplete() throws Exception {
+// KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
+// ((PackageBuilderConfiguration) conf).initSemanticModules();
+// ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNSemanticModule());
+// ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNDISemanticModule());
+// ((PackageBuilderConfiguration) conf).addDialect("XPath", new XPathDialectConfiguration());
+// XmlProcessReader processReader = new XmlProcessReader(
+// ((PackageBuilderConfiguration) conf).getSemanticModules());
+// RuleFlowProcess p = (RuleFlowProcess)
+// processReader.read(SimpleBPMNProcessTest.class.getResourceAsStream("/BPMN2-AdHocSubProcessAutoComplete.xml"));
+// KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(conf);
+//// System.out.println(XmlBPMNProcessDumper.INSTANCE.dump(p));
+// kbuilder.add(ResourceFactory.newReaderResource(
+// new StringReader(XmlBPMNProcessDumper.INSTANCE.dump(p))), ResourceType.BPMN2);
+// kbuilder.add(ResourceFactory.newClassPathResource("BPMN2-AdHocSubProcess.drl"), ResourceType.DRL);
+// if (!kbuilder.getErrors().isEmpty()) {
+// for (KnowledgeBuilderError error: kbuilder.getErrors()) {
+// System.err.println(error);
+// }
+// throw new IllegalArgumentException("Errors while parsing knowledge base");
+// }
+// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+// kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// ProcessInstance processInstance = ksession.startProcess("AdHocSubProcess");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// WorkItem workItem = workItemHandler.getWorkItem();
+// assertNull(workItem);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// ksession.fireAllRules();
+// workItem = workItemHandler.getWorkItem();
+// assertNotNull(workItem);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+// ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testIntermediateCatchEventSignal() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventSignal.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
+// ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// // now signal process instance
+// ksession.signalEvent("MyMessage", "SomeValue", processInstance.getId());
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testIntermediateCatchEventMessage() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventMessage.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
+// ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// // now signal process instance
+// ksession.signalEvent("Message-HelloMessage", "SomeValue", processInstance.getId());
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testIntermediateCatchEventTimer() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventTimer.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
+// ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// // now wait for 1 second for timer to trigger
+// Thread.sleep(1000);
+// ksession = restoreSession(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
+// ksession.fireAllRules();
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testIntermediateCatchEventCondition() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventCondition.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent");
+// assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+// ksession = restoreSession(ksession);
+// // now activate condition
+// Person person = new Person();
+// person.setName("Jack");
+// ksession.insert(person);
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testErrorEndEventProcess() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ErrorEndEvent.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("ErrorEndEvent");
+// assertProcessInstanceAborted(processInstance.getId(), ksession);
+// }
+//
+// public void testEscalationEndEventProcess() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-EscalationEndEvent.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("EscalationEndEvent");
+// assertProcessInstanceAborted(processInstance.getId(), ksession);
+// }
+//
+// public void testEscalationIntermediateThrowEventProcess() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventEscalation.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("EscalationIntermediateThrowEvent");
+// assertProcessInstanceAborted(processInstance.getId(), ksession);
+// }
+//
+// public void testCompensateIntermediateThrowEventProcess() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventCompensate.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("CompensateIntermediateThrowEvent");
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testCompensateEndEventProcess() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-CompensateEndEvent.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("CompensateEndEvent");
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+//// public void testGraphicalInformation() throws Exception {
+//// KnowledgeBase kbase = createKnowledgeBase("BPMN2-OryxExportedExample.xml");
+//// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+//// ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler());
+//// ProcessInstance processInstance = ksession.startProcess("testProzess");
+//// assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+//// }
+//
+// public void testServiceTask() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ServiceProcess.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Service Task", new ServiceTaskHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("s", "john");
+// WorkflowProcessInstance processInstance = (WorkflowProcessInstance)
+// ksession.startProcess("ServiceProcess", params);
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// assertEquals("Hello john!", processInstance.getVariable("s"));
+// }
+//
+// public void testSendTask() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-SendTask.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("s", "john");
+// WorkflowProcessInstance processInstance = (WorkflowProcessInstance)
+// ksession.startProcess("SendTask", params);
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testReceiveTask() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ReceiveTask.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ReceiveTaskHandler receiveTaskHandler = new ReceiveTaskHandler(ksession);
+// ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", receiveTaskHandler);
+// WorkflowProcessInstance processInstance = (WorkflowProcessInstance)
+// ksession.startProcess("ReceiveTask");
+// assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
+// ksession = restoreSession(ksession);
+// receiveTaskHandler.messageReceived("HelloMessage", "Hello john!");
+// assertProcessInstanceCompleted(processInstance.getId(), ksession);
+// }
+//
+// public void testConditionalStart() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-ConditionalStart.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// Person person = new Person();
+// person.setName("jack");
+// ksession.insert(person);
+// ksession.fireAllRules();
+// person = new Person();
+// person.setName("john");
+// ksession.insert(person);
+// ksession.fireAllRules();
+// }
+//
+// public void testTimerStart() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-TimerStart.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// final List<Long> list = new ArrayList<Long>();
+// ksession.addEventListener(new ProcessEventListener() {
+// public void beforeProcessStarted(ProcessStartedEvent event) {
+// }
+// public void beforeProcessCompleted(ProcessCompletedEvent event) {
+// }
+// public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
+// }
+// public void beforeNodeLeft(ProcessNodeLeftEvent event) {
+// }
+// public void afterProcessStarted(ProcessStartedEvent event) {
+// list.add(event.getProcessInstance().getId());
+// }
+// public void afterProcessCompleted(ProcessCompletedEvent event) {
+// }
+// public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
+// }
+// public void afterNodeLeft(ProcessNodeLeftEvent event) {
+// }
+// });
+// Thread.sleep(250);
+// assertEquals(0, list.size());
+// for (int i = 0; i < 5; i++) {
+// ksession.fireAllRules();
+// Thread.sleep(500);
+// }
+// assertEquals(5, list.size());
+// }
+//
+// public void testSignalStart() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-SignalStart.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// final List<Long> list = new ArrayList<Long>();
+// ksession.addEventListener(new ProcessEventListener() {
+// public void beforeProcessStarted(ProcessStartedEvent event) {
+// }
+// public void beforeProcessCompleted(ProcessCompletedEvent event) {
+// }
+// public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
+// }
+// public void beforeNodeLeft(ProcessNodeLeftEvent event) {
+// }
+// public void afterProcessStarted(ProcessStartedEvent event) {
+// list.add(event.getProcessInstance().getId());
+// }
+// public void afterProcessCompleted(ProcessCompletedEvent event) {
+// }
+// public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
+// }
+// public void afterNodeLeft(ProcessNodeLeftEvent event) {
+// }
+// });
+// ksession.signalEvent("MyStartSignal", "NewValue");
+// assertEquals(1, list.size());
+// }
+//
+// public void testSignalEnd() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-SignalEndEvent.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", "MyValue");
+// ksession.startProcess("SignalEndEvent", params);
+// }
+//
+// public void testMessageStart() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-MessageStart.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.signalEvent("Message-HelloMessage", "NewValue");
+// }
+//
+// public void testMessageEnd() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-MessageEndEvent.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", "MyValue");
+// ProcessInstance processInstance = ksession.startProcess("MessageEndEvent", params);
+// assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
+// }
+//
+// public void testMessageIntermediateThrow() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventMessage.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler());
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", "MyValue");
+// ProcessInstance processInstance = ksession.startProcess("MessageIntermediateEvent", params);
+// assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
+// }
+//
+// public void testSignalIntermediateThrow() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventSignal.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// Map<String, Object> params = new HashMap<String, Object>();
+// params.put("x", "MyValue");
+// ProcessInstance processInstance = ksession.startProcess("SignalIntermediateEvent", params);
+// assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
+// }
+//
+// public void testNoneIntermediateThrow() throws Exception {
+// KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventNone.xml");
+// StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+// ProcessInstance processInstance = ksession.startProcess("NoneIntermediateEvent", null);
+// assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
+// }
- public void testTimerStart() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-TimerStart.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- final List<Long> list = new ArrayList<Long>();
- ksession.addEventListener(new ProcessEventListener() {
- public void beforeProcessStarted(ProcessStartedEvent event) {
- }
- public void beforeProcessCompleted(ProcessCompletedEvent event) {
- }
- public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
- }
- public void beforeNodeLeft(ProcessNodeLeftEvent event) {
- }
- public void afterProcessStarted(ProcessStartedEvent event) {
- list.add(event.getProcessInstance().getId());
- }
- public void afterProcessCompleted(ProcessCompletedEvent event) {
- }
- public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
- }
- public void afterNodeLeft(ProcessNodeLeftEvent event) {
- }
- });
- Thread.sleep(250);
- assertEquals(0, list.size());
- for (int i = 0; i < 5; i++) {
- ksession.fireAllRules();
- Thread.sleep(500);
- }
- assertEquals(5, list.size());
- }
-
- public void testSignalStart() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-SignalStart.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- final List<Long> list = new ArrayList<Long>();
- ksession.addEventListener(new ProcessEventListener() {
- public void beforeProcessStarted(ProcessStartedEvent event) {
- }
- public void beforeProcessCompleted(ProcessCompletedEvent event) {
- }
- public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
- }
- public void beforeNodeLeft(ProcessNodeLeftEvent event) {
- }
- public void afterProcessStarted(ProcessStartedEvent event) {
- list.add(event.getProcessInstance().getId());
- }
- public void afterProcessCompleted(ProcessCompletedEvent event) {
- }
- public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
- }
- public void afterNodeLeft(ProcessNodeLeftEvent event) {
- }
- });
- ksession.signalEvent("MyStartSignal", "NewValue");
- assertEquals(1, list.size());
- }
-
- public void testSignalEnd() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-SignalEndEvent.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", "MyValue");
- ksession.startProcess("SignalEndEvent", params);
- }
-
- public void testMessageStart() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-MessageStart.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.signalEvent("Message-HelloMessage", "NewValue");
- }
-
- public void testMessageEnd() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-MessageEndEvent.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", "MyValue");
- ProcessInstance processInstance = ksession.startProcess("MessageEndEvent", params);
- assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
- }
-
- public void testMessageIntermediateThrow() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventMessage.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler());
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", "MyValue");
- ProcessInstance processInstance = ksession.startProcess("MessageIntermediateEvent", params);
- assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
- }
-
- public void testSignalIntermediateThrow() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventSignal.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Map<String, Object> params = new HashMap<String, Object>();
- params.put("x", "MyValue");
- ProcessInstance processInstance = ksession.startProcess("SignalIntermediateEvent", params);
- assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
- }
-
- public void testNoneIntermediateThrow() throws Exception {
- KnowledgeBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventNone.xml");
- StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- ProcessInstance processInstance = ksession.startProcess("NoneIntermediateEvent", null);
- assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
- }
-
// public void testPersistence() throws Exception {
// setupDataSource();
// EntityManagerFactory emf = Persistence.createEntityManagerFactory(
More information about the jboss-svn-commits
mailing list