[jbpm-commits] JBoss JBPM SVN: r5913 - in jbpm4/trunk/modules/examples/src/test: java/org/jbpm/examples/bpmn/usertask/taskform and 3 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Dec 3 18:11:49 EST 2009
Author: jbarrez
Date: 2009-12-03 18:11:48 -0500 (Thu, 03 Dec 2009)
New Revision: 5913
Added:
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/usertask/taskform/
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/usertask/taskform/TaskFormTest.java
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/request_vacation.ftl
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/vacationrequest.bpmn.xml
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/verify_request.ftl
Removed:
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/request_vacation.ftl
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/vacationrequest.bpmn.xml
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/verify_request.ftl
Modified:
jbpm4/trunk/modules/examples/src/test/resources/jbpm.cfg.xml
Log:
Working on bpmn2 example 'JBPM-2660'
Added: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/usertask/taskform/TaskFormTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/usertask/taskform/TaskFormTest.java (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/usertask/taskform/TaskFormTest.java 2009-12-03 23:11:48 UTC (rev 5913)
@@ -0,0 +1,90 @@
+package org.jbpm.examples.bpmn.usertask.taskform;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.api.NewDeployment;
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.TaskQuery;
+import org.jbpm.api.history.HistoryActivityInstance;
+import org.jbpm.api.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+public class TaskFormTest extends JbpmTestCase {
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ NewDeployment deployment = repositoryService.createDeployment();
+ deployment.addResourceFromClasspath("org/jbpm/examples/bpmn/usertask/taskform/vacationrequest.bpmn.xml");
+ deployment.addResourceFromClasspath("org/jbpm/examples/bpmn/usertask/taskform/request_vacation.ftl");
+ deployment.addResourceFromClasspath("org/jbpm/examples/bpmn/usertask/taskform/verify_request.ftl");
+ String deployId = deployment.deploy();
+ registerDeployment(deployId);
+
+ // test users
+ identityService.createUser("peter", "Peter", "Pan");
+ identityService.createGroup("user");
+ identityService.createMembership("peter", "user");
+ identityService.createUser("alex", "Alex", "Ander");
+ identityService.createGroup("manager");
+ identityService.createMembership("alex", "manager");
+
+ }
+
+ protected void tearDown() throws Exception {
+ identityService.deleteUser("peter");
+ identityService.deleteGroup("user");
+ identityService.deleteUser("alex");
+ identityService.deleteGroup("manager");
+ super.tearDown();
+ }
+
+ public void testRequestAccepted() {
+
+ ProcessInstance pi = executionService.startProcessInstanceByKey("vacationRequestProcess");
+
+ // After process start, peter should be a candidate for the task
+ Task requestTasktask = taskService.createTaskQuery().candidate("peter").uniqueResult();
+ assertNotNull(requestTasktask);
+ assertEquals("org/jbpm/bpmn/usertask/request_vacation.ftl", requestTasktask.getFormResourceName());
+
+ // After this task is completed, a manager should be able to see the 'verify' task
+ TaskQuery verifyTaskQuery = taskService.createTaskQuery().candidate("alex");
+ assertNull(verifyTaskQuery.uniqueResult());
+ taskService.completeTask(requestTasktask.getId());
+
+ Task verifyTask = verifyTaskQuery.uniqueResult();
+ assertEquals("org/jbpm/bpmn/usertask/verify_request.ftl", verifyTask.getFormResourceName());
+ assertNotNull(verifyTask);
+
+ // When completing the verification task, we also need to store the result of the decision
+ // (will be done through the taskform normally)
+ Map<String, Object> vars = new HashMap<String, Object>();
+ vars.put("verificationResult", "OK");
+ taskService.completeTask(verifyTask.getId(), vars);
+ assertProcessInstanceEnded(pi);
+ }
+
+ public void testRequestRefused() {
+ ProcessInstance pi = executionService.startProcessInstanceByKey("vacationRequestProcess");
+
+ Task requestTasktask = taskService.createTaskQuery().candidate("peter").uniqueResult();
+ taskService.completeTask(requestTasktask.getId());
+
+ Task verifyTask = taskService.createTaskQuery().candidate("alex").uniqueResult();
+
+ // We now complete the task, but we give a negative result as process var
+ Map<String, Object> vars = new HashMap<String, Object>();
+ vars.put("verificationResult", "Not OK");
+ taskService.completeTask(verifyTask.getId(), vars);
+
+ // Process should now be ended, but the last activity should be the 'sendRejectionMessage' task
+ assertProcessInstanceEnded(pi);
+ HistoryActivityInstance hai = historyService.createHistoryActivityInstanceQuery()
+ .activityName("sendRejectionMessage").uniqueResult();
+ assertNotNull(hai);
+ }
+
+}
Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.cfg.xml 2009-12-03 22:44:10 UTC (rev 5912)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.cfg.xml 2009-12-03 23:11:48 UTC (rev 5913)
@@ -6,6 +6,7 @@
<import resource="jbpm.businesscalendar.cfg.xml" />
<import resource="jbpm.tx.hibernate.cfg.xml" />
<import resource="jbpm.jpdl.cfg.xml" />
+ <import resource="jbpm.bpmn.cfg.xml" />
<import resource="jbpm.identity.cfg.xml" />
<!-- Job executor is excluded for running the example test cases. -->
Deleted: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/request_vacation.ftl
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/request_vacation.ftl 2009-12-03 22:44:10 UTC (rev 5912)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/request_vacation.ftl 2009-12-03 23:11:48 UTC (rev 5913)
@@ -1,30 +0,0 @@
-<html>
-<head>
- <style type="text/css">
- ${CSS!".body {font-family:sans-serif;}"}
- </style>
-</head>
- <body>
-
- <form action="${form.action}" method="POST" enctype="multipart/form-data">
-
- <h3>How many days would you like to go on vacation?</h3>
- <select name="number_of_days">
- <option value="3">3 days</option>
- <option value="5">5 days</option>
- <option value="10">10 days</option>
- </select><br>
-
- <br/>
- <br/>
-
- Your name: <input type="text" name="employee_name" /><br/>
-
- <br/>
- <br/>
-
- <input type="submit" name="Done"/>
-
- </form>
- </body>
-</html>
\ No newline at end of file
Copied: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/request_vacation.ftl (from rev 5910, jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/request_vacation.ftl)
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/request_vacation.ftl (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/request_vacation.ftl 2009-12-03 23:11:48 UTC (rev 5913)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <style type="text/css">
+ ${CSS!".body {font-family:sans-serif;}"}
+ </style>
+</head>
+ <body>
+
+ <form action="${form.action}" method="POST" enctype="multipart/form-data">
+
+ <h3>How many days would you like to go on vacation?</h3>
+ <select name="number_of_days">
+ <option value="3">3 days</option>
+ <option value="5">5 days</option>
+ <option value="10">10 days</option>
+ </select><br>
+
+ <br/>
+ <br/>
+
+ Your name: <input type="text" name="employee_name" /><br/>
+
+ <br/>
+ <br/>
+
+ <input type="submit" name="Done"/>
+
+ </form>
+ </body>
+</html>
\ No newline at end of file
Copied: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/vacationrequest.bpmn.xml (from rev 5910, jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/vacationrequest.bpmn.xml)
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/vacationrequest.bpmn.xml (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/vacationrequest.bpmn.xml 2009-12-03 23:11:48 UTC (rev 5913)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions id="vacationRequest"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 ../../../../../../../../../../bpmn/src/main/resources/BPMN20.xsd"
+ xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0" typeLanguage="http://www.w3.org/2001/XMLSchema"
+ expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://jbpm.org/example/bpmn2/vacation_request"
+ xmlns:jbpm="http://jbpm.org/bpmn2">
+
+ <bpmn:process id="vacationRequestProcess" name="BPMN2 Example process using task forms">
+
+ <bpmn:startEvent id="start" />
+
+ <bpmn:sequenceFlow id="flow1" name="fromStartToRequestVacation"
+ sourceRef="start" targetRef="requestVacation" />
+
+ <bpmn:userTask id="requestVacation" name="Request Vacation"
+ implementation="other">
+ <bpmn:potentialOwner resourceRef="user" />
+ <bpmn:rendering id="requestForm">
+ <jbpm:form>org/jbpm/bpmn/usertask/request_vacation.ftl</jbpm:form>
+ </bpmn:rendering>
+ </bpmn:userTask>
+
+ <bpmn:sequenceFlow id="flow2"
+ name="fromRequestVacationToVerifyRequest" sourceRef="requestVacation"
+ targetRef="verifyRequest" />
+
+ <bpmn:userTask id="verifyRequest" name="Verify Request"
+ implementation="other">
+ <bpmn:potentialOwner resourceRef="manager" />
+ <bpmn:rendering id="verifyForm">
+ <jbpm:form>org/jbpm/bpmn/usertask/verify_request.ftl</jbpm:form>
+ </bpmn:rendering>
+ </bpmn:userTask>
+
+ <bpmn:sequenceFlow id="flow3" name="fromVerifyRequestToEnd"
+ sourceRef="verifyRequest" targetRef="theEnd">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${verificationResult == 'OK'}</bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+
+ <bpmn:sequenceFlow id="flow4"
+ name="fromVerifyRequestToSendRejectionMessage" sourceRef="verifyRequest"
+ targetRef="sendRejectionMessage">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${verificationResult == 'Not OK'}</bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+
+ <bpmn:scriptTask id="sendRejectionMessage" name="Send rejection Message"
+ scriptLanguage="bsh">
+ <bpmn:script>
+ <![CDATA[System.out.println("Vacation request refused!");]]>
+ </bpmn:script>
+ </bpmn:scriptTask>
+
+ <bpmn:sequenceFlow id="flow5"
+ name="fromSendRejectionMessageToEnd" sourceRef="sendRejectionMessage"
+ targetRef="theEnd" />
+
+ <bpmn:endEvent id="theEnd" name="End" />
+
+
+ </bpmn:process>
+</bpmn:definitions>
Copied: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/verify_request.ftl (from rev 5910, jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/verify_request.ftl)
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/verify_request.ftl (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/taskform/verify_request.ftl 2009-12-03 23:11:48 UTC (rev 5913)
@@ -0,0 +1,24 @@
+<html>
+<head>
+ <style type="text/css">
+ ${CSS!".body {font-family:sans-serif;}"}
+ </style>
+</head>
+ <body>
+
+ <form action="${form.action}" method="POST" enctype="multipart/form-data">
+
+ <h3>Your employee, ${employee_name} would like to go on vacation</h3>
+ Number of days: ${number_of_days}<br/>
+
+ <hr>
+
+ In case you reject, please provide a reason:<br/>
+ <input type="textarea" name="reason"/><br/>
+
+ <input type="submit" name="verificationResult" value="OK">
+ <input type="submit" name="verificationResult" value="Not OK">
+
+ </form>
+ </body>
+</html>
\ No newline at end of file
Deleted: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/vacationrequest.bpmn.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/vacationrequest.bpmn.xml 2009-12-03 22:44:10 UTC (rev 5912)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/vacationrequest.bpmn.xml 2009-12-03 23:11:48 UTC (rev 5913)
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions id="vacationRequest"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 ../../../../../../../../../bpmn/src/main/resources/BPMN20.xsd"
- xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0" typeLanguage="http://www.w3.org/2001/XMLSchema"
- expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://jbpm.org/example/bpmn2/vacation_request"
- xmlns:jbpm="http://jbpm.org/bpmn2">
-
- <bpmn:process id="vacationRequestProcess" name="BPMN2 Example process using task forms">
-
- <bpmn:startEvent id="start" />
-
- <bpmn:sequenceFlow id="flow1" name="fromStartToRequestVacation"
- sourceRef="start" targetRef="requestVacation" />
-
- <bpmn:userTask id="requestVacation" name="Request Vacation"
- implementation="other">
- <bpmn:potentialOwner resourceRef="peter" />
- <bpmn:rendering id="requestForm">
- <jbpm:form>org/jbpm/bpmn/usertask/request_vacation.ftl</jbpm:form>
- </bpmn:rendering>
- </bpmn:userTask>
-
- <bpmn:sequenceFlow id="flow2"
- name="fromRequestVacationToVerifyRequest" sourceRef="requestVacation"
- targetRef="verifyRequest" />
-
- <bpmn:userTask id="verifyRequest" name="Verify Request"
- implementation="other">
- <bpmn:potentialOwner resourceRef="alex" />
- <bpmn:rendering id="verifyForm">
- <jbpm:form>org/jbpm/bpmn/usertask/verify_request.ftl</jbpm:form>
- </bpmn:rendering>
- </bpmn:userTask>
-
- <bpmn:sequenceFlow id="flow3" name="fromVerifyRequestToEnd"
- sourceRef="verifyRequest" targetRef="theEnd">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${jbpm_outcome == 'OK'}</bpmn:conditionExpression>
- </bpmn:sequenceFlow>
-
- <bpmn:sequenceFlow id="flow4"
- name="fromVerifyRequestToSendRejectionMessage" sourceRef="verifyRequest"
- targetRef="sendRejectionMessage">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${jbpm_outcome == 'Not OK'}</bpmn:conditionExpression>
- </bpmn:sequenceFlow>
-
- <bpmn:scriptTask id="sendRejectionMessage" name="Send rejection Message"
- scriptLanguage="bsh">
- <bpmn:script>
- <![CDATA[System.out.println("Vacation request refused!");]]>
- </bpmn:script>
- </bpmn:scriptTask>
-
- <bpmn:sequenceFlow id="flow5"
- name="fromSendRejectionMessageToEnd" sourceRef="sendRejectionMessage"
- targetRef="theEnd" />
-
- <bpmn:endEvent id="theEnd" name="End" />
-
-
- </bpmn:process>
-</bpmn:definitions>
Deleted: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/verify_request.ftl
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/verify_request.ftl 2009-12-03 22:44:10 UTC (rev 5912)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/usertask/verify_request.ftl 2009-12-03 23:11:48 UTC (rev 5913)
@@ -1,24 +0,0 @@
-<html>
-<head>
- <style type="text/css">
- ${CSS!".body {font-family:sans-serif;}"}
- </style>
-</head>
- <body>
-
- <form action="${form.action}" method="POST" enctype="multipart/form-data">
-
- <h3>Your employee, ${employee_name} would like to go on vacation</h3>
- Number of days: ${number_of_days}<br/>
-
- <hr>
-
- In case you reject, please provide a reason:<br/>
- <input type="textarea" name="reason"/><br/>
-
- <input type="submit" name="outcome" value="OK">
- <input type="submit" name="outcome" value="Not OK">
-
- </form>
- </body>
-</html>
\ No newline at end of file
More information about the jbpm-commits
mailing list