[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