[jbpm-commits] JBoss JBPM SVN: r3708 - in jbpm3/trunk/modules: core/src/test/java/org/jbpm/db and 8 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Jan 23 03:05:52 EST 2009
Author: alex.guizar at jboss.com
Date: 2009-01-23 03:05:52 -0500 (Fri, 23 Jan 2009)
New Revision: 3708
Added:
jbpm3/trunk/modules/examples/src/test/resources/taskinstance/CustomTaskInstance.hbm.xml
Modified:
jbpm3/trunk/modules/core/src/main/resources/hibernate.common.xml
jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.hsqldb.xml
jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/GraphSessionDbTest.java
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/raise/RaiseRequestTest.java
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/rulesaction/RulesActionTest.java
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/websale/WebsaleTest.java
jbpm3/trunk/modules/examples/src/test/resources/hibernate.extra.hbm.xml
jbpm3/trunk/modules/examples/src/test/resources/taskinstance/jbpm.cfg.xml
Log:
JBPM-1812 leverage AbstractDbTestCase to clean up examples
prevent create-drop cycle at each test run
Modified: jbpm3/trunk/modules/core/src/main/resources/hibernate.common.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/hibernate.common.xml 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/core/src/main/resources/hibernate.common.xml 2009-01-23 08:05:52 UTC (rev 3708)
@@ -17,6 +17,10 @@
<!-- # common settings # -->
<!-- ################################### -->
+ <!-- Automatic schema creation (begin) -->
+ <property name="hibernate.hbm2ddl.auto">create</property>
+ <!-- Automatic schema creation (end) -->
+
<!-- Simple memory-only cache -->
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
Modified: jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.hsqldb.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.hsqldb.xml 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.hsqldb.xml 2009-01-23 08:05:52 UTC (rev 3708)
@@ -8,7 +8,3 @@
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
<!-- JDBC connection properties (end) -->
-
- <!-- Automatic schema creation (begin) -->
- <property name="hibernate.hbm2ddl.auto">create</property>
- <!-- Automatic schema creation (end) -->
Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/GraphSessionDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/GraphSessionDbTest.java 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/GraphSessionDbTest.java 2009-01-23 08:05:52 UTC (rev 3708)
@@ -21,7 +21,6 @@
*/
package org.jbpm.db;
-import java.util.Iterator;
import java.util.List;
import org.jbpm.context.exe.ContextInstance;
@@ -154,18 +153,18 @@
newTransaction();
try {
- List allProcessDefinitions = graphSession.findAllProcessDefinitions();
+ List<ProcessDefinition> allProcessDefinitions = graphSession.findAllProcessDefinitions();
assertEquals(5, allProcessDefinitions.size());
- assertEquals(3, ((ProcessDefinition) allProcessDefinitions.get(0)).getVersion());
- assertEquals("auction", ((ProcessDefinition) allProcessDefinitions.get(0)).getName());
- assertEquals(2, ((ProcessDefinition) allProcessDefinitions.get(1)).getVersion());
- assertEquals("auction", ((ProcessDefinition) allProcessDefinitions.get(1)).getName());
- assertEquals(1, ((ProcessDefinition) allProcessDefinitions.get(2)).getVersion());
- assertEquals("auction", ((ProcessDefinition) allProcessDefinitions.get(2)).getName());
- assertEquals(2, ((ProcessDefinition) allProcessDefinitions.get(3)).getVersion());
- assertEquals("bake cake", ((ProcessDefinition) allProcessDefinitions.get(3)).getName());
- assertEquals(1, ((ProcessDefinition) allProcessDefinitions.get(4)).getVersion());
- assertEquals("bake cake", ((ProcessDefinition) allProcessDefinitions.get(4)).getName());
+ assertEquals(3, allProcessDefinitions.get(0).getVersion());
+ assertEquals("auction", allProcessDefinitions.get(0).getName());
+ assertEquals(2, allProcessDefinitions.get(1).getVersion());
+ assertEquals("auction", allProcessDefinitions.get(1).getName());
+ assertEquals(1, allProcessDefinitions.get(2).getVersion());
+ assertEquals("auction", allProcessDefinitions.get(2).getName());
+ assertEquals(2, allProcessDefinitions.get(3).getVersion());
+ assertEquals("bake cake", allProcessDefinitions.get(3).getName());
+ assertEquals(1, allProcessDefinitions.get(4).getVersion());
+ assertEquals("bake cake", allProcessDefinitions.get(4).getName());
newTransaction();
}
@@ -213,21 +212,21 @@
newTransaction();
try {
- List allProcessDefinitionVersions = graphSession.findAllProcessDefinitionVersions("auction");
+ List<ProcessDefinition> allProcessDefinitionVersions = graphSession.findAllProcessDefinitionVersions("auction");
assertEquals(3, allProcessDefinitionVersions.size());
- assertEquals(3, ((ProcessDefinition) allProcessDefinitionVersions.get(0)).getVersion());
- assertEquals("auction", ((ProcessDefinition) allProcessDefinitionVersions.get(0)).getName());
- assertEquals(2, ((ProcessDefinition) allProcessDefinitionVersions.get(1)).getVersion());
- assertEquals("auction", ((ProcessDefinition) allProcessDefinitionVersions.get(1)).getName());
- assertEquals(1, ((ProcessDefinition) allProcessDefinitionVersions.get(2)).getVersion());
- assertEquals("auction", ((ProcessDefinition) allProcessDefinitionVersions.get(2)).getName());
+ assertEquals(3, allProcessDefinitionVersions.get(0).getVersion());
+ assertEquals("auction", allProcessDefinitionVersions.get(0).getName());
+ assertEquals(2, allProcessDefinitionVersions.get(1).getVersion());
+ assertEquals("auction", allProcessDefinitionVersions.get(1).getName());
+ assertEquals(1, allProcessDefinitionVersions.get(2).getVersion());
+ assertEquals("auction", allProcessDefinitionVersions.get(2).getName());
allProcessDefinitionVersions = graphSession.findAllProcessDefinitionVersions("bake cake");
assertEquals(2, allProcessDefinitionVersions.size());
- assertEquals(2, ((ProcessDefinition) allProcessDefinitionVersions.get(0)).getVersion());
- assertEquals("bake cake", ((ProcessDefinition) allProcessDefinitionVersions.get(0)).getName());
- assertEquals(1, ((ProcessDefinition) allProcessDefinitionVersions.get(1)).getVersion());
- assertEquals("bake cake", ((ProcessDefinition) allProcessDefinitionVersions.get(1)).getName());
+ assertEquals(2, allProcessDefinitionVersions.get(0).getVersion());
+ assertEquals("bake cake", allProcessDefinitionVersions.get(0).getName());
+ assertEquals(1, allProcessDefinitionVersions.get(1).getVersion());
+ assertEquals("bake cake", allProcessDefinitionVersions.get(1).getName());
newTransaction();
}
@@ -303,14 +302,12 @@
newTransaction();
- List processInstances = graphSession.findProcessInstances(processDefinition.getId());
+ List<ProcessInstance> processInstances = graphSession.findProcessInstances(processDefinition.getId());
assertEquals(3, processInstances.size());
// process instances should be ordered from recent to old
long previousStart = System.currentTimeMillis();
- Iterator iter = processInstances.iterator();
- while (iter.hasNext()) {
- ProcessInstance processInstance = (ProcessInstance) iter.next();
+ for (ProcessInstance processInstance : processInstances) {
long processStart = processInstance.getStart().getTime();
assertTrue(previousStart >= processStart);
previousStart = processStart;
@@ -381,7 +378,7 @@
newTransaction();
- List processInstances = graphSession.findProcessInstances(processDefinition.getId());
+ List<ProcessInstance> processInstances = graphSession.findProcessInstances(processDefinition.getId());
assertEquals(0, processInstances.size());
newTransaction();
@@ -430,7 +427,7 @@
newTransaction();
- List latestProcessDefinitions = graphSession.findLatestProcessDefinitions();
+ List<ProcessDefinition> latestProcessDefinitions = graphSession.findLatestProcessDefinitions();
assertEquals(2, latestProcessDefinitions.size());
assertEquals(3, getVersionOfProcess("websale", latestProcessDefinitions));
assertEquals(2, getVersionOfProcess("change nappy", latestProcessDefinitions));
@@ -443,25 +440,22 @@
}
private void ensureCleanProcessDefinitionTable() {
- List processDefinitions = session.createCriteria(ProcessDefinition.class).list();
+ List<ProcessDefinition> processDefinitions = graphSession.findAllProcessDefinitions();
if (!processDefinitions.isEmpty()) {
System.err.println("FIXME: "+ getClass().getName() + "." + getName() +
" found " + processDefinitions.size() + " process definitions left over");
- for (Iterator i = processDefinitions.iterator(); i.hasNext();) {
- ProcessDefinition processDefinition = (ProcessDefinition) i.next();
+ for (ProcessDefinition processDefinition : processDefinitions) {
graphSession.deleteProcessDefinition(processDefinition);
}
}
}
- private int getVersionOfProcess(String name, List latestProcessDefinitions) {
- Iterator iter = latestProcessDefinitions.iterator();
- while (iter.hasNext()) {
- ProcessDefinition processDefinition = (ProcessDefinition) iter.next();
+ private int getVersionOfProcess(String name, List<ProcessDefinition> latestProcessDefinitions) {
+ for (ProcessDefinition processDefinition : latestProcessDefinitions) {
if (name.equals(processDefinition.getName())) {
return processDefinition.getVersion();
}
}
- return -2;
+ return -1;
}
}
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java 2009-01-23 08:05:52 UTC (rev 3708)
@@ -21,167 +21,114 @@
*/
package org.jbpm.examples.assignment;
-import java.util.Date;
-import java.util.Iterator;
import java.util.List;
-import junit.framework.TestCase;
-
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
+import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
-import org.jbpm.graph.exe.Token;
import org.jbpm.identity.Entity;
+import org.jbpm.identity.Membership;
import org.jbpm.identity.hibernate.IdentitySession;
import org.jbpm.identity.xml.IdentityXmlParser;
-import org.jbpm.persistence.db.DbPersistenceServiceFactory;
-import org.jbpm.svc.Services;
import org.jbpm.taskmgmt.exe.TaskInstance;
/**
* This example shows how to invoke JBoss Rules from an AssignmentHandler.
*/
-public class RulesAssignmentTest extends TestCase
-{
- JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
+public class RulesAssignmentTest extends AbstractDbTestCase {
- DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory)jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+ private long processDefinitionId;
+ private Entity[] entities;
- JbpmContext jbpmContext;
- long processInstanceId;
-
- public void setUp()
- {
- dbPersistenceServiceFactory.createSchema();
-
+ protected void setUp() throws Exception {
+ super.setUp();
loadIdentities();
deployProcess();
- jbpmContext = jbpmConfiguration.createJbpmContext();
}
- protected void tearDown()
- {
- jbpmContext.close();
- dbPersistenceServiceFactory.dropSchema();
- jbpmContext = null;
+ protected void tearDown() throws Exception {
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ deleteIdentities();
+ super.tearDown();
}
- public void deployProcess()
- {
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try
- {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("assignment/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- }
- finally
- {
- jbpmContext.close();
- }
+ @Override
+ protected String getJbpmTestConfig() {
+ return null; // use default configuration
}
- public void loadIdentities()
- {
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try
- {
- Entity[] entities = IdentityXmlParser.parseEntitiesResource("assignment/identity.db.xml");
- IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());
- for (int i = 0; i < entities.length; i++)
- {
- identitySession.saveEntity(entities[i]);
- }
+ void deployProcess() {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("assignment/processdefinition.xml");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ processDefinitionId = processDefinition.getId();
+ }
+
+ void loadIdentities() {
+ IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());
+ entities = IdentityXmlParser.parseEntitiesResource("assignment/identity.db.xml");
+ for (Entity entity : entities) {
+ if (entity instanceof Membership) continue;
+ identitySession.saveEntity(entity);
}
- finally
- {
- jbpmContext.close();
- }
}
- public void newTransaction()
- {
- jbpmContext.close();
- jbpmContext = jbpmConfiguration.createJbpmContext();
+ void deleteIdentities() {
+ for (Entity entity : entities) {
+ if (entity instanceof Membership) continue;
+ session.load(entity, entity.getId());
+ session.delete(entity);
+ }
}
- public void testRulesAssignment()
- {
+ public void testRulesAssignment() {
// start process
newTransaction();
- processInstanceId = createNewProcessInstance();
- assertNotNull(processInstanceId);
+ long processInstanceId = createNewProcessInstance();
+ assertFalse("ProcessInstanceId is 0", processInstanceId == 0);
// perform task
newTransaction();
long taskInstanceId = acquireTask("tom");
- assertNotNull(taskInstanceId);
+ assertFalse("TaskInstanceId is 0", taskInstanceId == 0);
newTransaction();
completeTask(taskInstanceId);
newTransaction();
TaskInstance taskInstance = jbpmContext.loadTaskInstance(taskInstanceId);
- Date end = taskInstance.getEnd();
- assertNotNull(end);
+ assertTrue("TaskInstance has not ended", taskInstance.hasEnded());
// complete process
newTransaction();
- ProcessInstance processInstance = getProcessInstance(processInstanceId);
- Date processEnd = processInstance.getEnd();
- assertNotNull(processEnd);
-
+ ProcessInstance processInstance = jbpmContext.loadProcessInstance(processInstanceId);
+ assertTrue("ProcessInstance has not ended", processInstance.hasEnded());
}
- public long createNewProcessInstance()
- {
+ long createNewProcessInstance() {
String processDefinitionName = "RulesAssignment";
ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate(processDefinitionName);
- long id = processInstance.getId();
+
ContextInstance contextInstance = processInstance.getContextInstance();
contextInstance.setVariable("processDefinitionName", processDefinitionName);
- Order order = new Order(300);
- contextInstance.setVariable("order", order);
- Token token = processInstance.getRootToken();
- token.signal();
- return id;
+ contextInstance.setVariable("order", new Order(300));
+
+ processInstance.signal();
+ return processInstance.getId();
}
- public long acquireTask(String actorId)
- {
- List<TaskInstance> tasklist = getTaskList(actorId);
- Iterator taskIterator = tasklist.iterator();
+ long acquireTask(String actorId) {
+ List<TaskInstance> taskList = jbpmContext.getTaskList(actorId);
+ assertEquals(1, taskList.size());
- TaskInstance taskInstance = null;
- long taskInstanceId = 0;
- while (taskIterator.hasNext())
- {
- taskInstance = (TaskInstance)taskIterator.next();
-
- taskInstanceId = taskInstance.getId();
- taskInstance.start();
- }
- return taskInstanceId;
+ TaskInstance taskInstance = taskList.get(0);
+ taskInstance.start();
+ return taskInstance.getId();
}
- public void completeTask(long taskInstanceId)
- {
+ void completeTask(long taskInstanceId) {
TaskInstance taskInstance = jbpmContext.getTaskInstance(taskInstanceId);
taskInstance.end();
}
- public List<TaskInstance> getTaskList(String actorId)
- {
- newTransaction();
- List<TaskInstance> taskList = jbpmContext.getTaskList(actorId);
- return taskList;
- }
-
- public ProcessInstance getProcessInstance(long processInstanceId)
- {
- ProcessInstance processInstance = jbpmContext.loadProcessInstanceForUpdate(processInstanceId);
- return processInstance;
- }
-
}
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java 2009-01-23 08:05:52 UTC (rev 3708)
@@ -4,131 +4,101 @@
import java.util.List;
import java.util.Map;
-import junit.framework.TestCase;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
+import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
-import org.jbpm.persistence.db.DbPersistenceServiceFactory;
-import org.jbpm.svc.Services;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
-public class BusinessTripRequestTest extends TestCase
-{
- Log log = LogFactory.getLog(this.getClass());
+public class BusinessTripRequestTest extends AbstractDbTestCase {
- JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
- DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory)jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+ private long processDefinitionId;
- JbpmContext jbpmContext;
-
- ProcessInstance processInstance;
- ContextInstance contextInstance;
- TaskMgmtInstance taskMgmtInstance;
- long processInstanceId = -1;
-
- public void setUp()
- {
- dbPersistenceServiceFactory.createSchema();
+ protected void setUp() throws Exception {
+ super.setUp();
deployProcess();
- jbpmContext = jbpmConfiguration.createJbpmContext();
}
- public void tearDown()
- {
- jbpmContext.close();
- dbPersistenceServiceFactory.dropSchema();
- jbpmContext = null;
+ protected void tearDown() throws Exception {
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ super.tearDown();
}
- private void newTransaction()
- {
- jbpmContext.close();
- jbpmContext = jbpmConfiguration.createJbpmContext();
+ @Override
+ protected String getJbpmTestConfig() {
+ return null; // use default configuration
}
- private void deployProcess()
- {
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try
- {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("businesstrip/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- }
- finally
- {
- jbpmContext.close();
- }
+ void deployProcess() {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("businesstrip/processdefinition.xml");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ processDefinitionId = processDefinition.getId();
}
- private TaskInstance createNewProcessInstance()
- {
- processInstance = jbpmContext.newProcessInstanceForUpdate("business trip request");
- processInstanceId = processInstance.getId();
- contextInstance = processInstance.getContextInstance();
- taskMgmtInstance = processInstance.getTaskMgmtInstance();
+ TaskInstance createNewProcessInstance() {
+ ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("business trip request");
return processInstance.getTaskMgmtInstance().createStartTaskInstance();
}
- public void testTaskParameters()
- {
+ public void testTaskParameters() {
TaskInstance taskInstance = createNewProcessInstance();
assertEquals("submit business trip request", taskInstance.getName());
assertEquals(0, taskInstance.getVariables().size());
+
+ newTransaction();
}
- public void testSubmitRaiseRequestTask()
- {
+ public void testSubmitRaiseRequestTask() {
jbpmContext.setActorId("employee");
TaskInstance taskInstance = createNewProcessInstance();
Map<String, Object> taskVariables = new HashMap<String, Object>();
taskVariables.put("purpose", "Conference in MIT");
- taskVariables.put("description", "This conference is mainly to highlight to impact of ESB technologies on the current industries");
+ taskVariables.put("description",
+ "Highlight to impact of ESB technologies on the current industries");
taskVariables.put("allocated budget", 3000);
taskVariables.put("start date", "8/12/2009");
taskVariables.put("end date", "8/21/2009");
taskInstance.addVariables(taskVariables);
taskInstance.end();
+ newTransaction();
+ ProcessInstance processInstance = jbpmContext.loadProcessInstance(taskInstance.getProcessInstance()
+ .getId());
+ ContextInstance contextInstance = processInstance.getContextInstance();
assertEquals("Conference in MIT", contextInstance.getVariable("purpose"));
- assertEquals("This conference is mainly to highlight to impact of ESB technologies on the current industries", contextInstance.getVariable("description"));
+ assertEquals("Highlight to impact of ESB technologies on the current industries",
+ contextInstance.getVariable("description"));
assertEquals(3000, contextInstance.getVariable("allocated budget"));
assertEquals("8/12/2009", contextInstance.getVariable("start date"));
assertEquals("8/21/2009", contextInstance.getVariable("end date"));
+
+ TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
assertEquals("employee", taskMgmtInstance.getSwimlaneInstance("employee").getActorId());
}
- @SuppressWarnings("unchecked")
- public void testRejectBusinessTripRequest()
- {
+ public void testRejectBusinessTripRequest() {
// Employee submits a business trip request
jbpmContext.setActorId("employee");
TaskInstance taskInstance = createNewProcessInstance();
Map<String, Object> taskVariables = new HashMap<String, Object>();
taskVariables.put("purpose", "Conference in MIT");
- taskVariables.put("description", "This conference is mainly to highlight to impact of ESB technologies on the current industries");
+ taskVariables.put("description",
+ "This conference is mainly to highlight to impact of ESB technologies on the current industries");
taskVariables.put("allocated budget", 3000);
taskVariables.put("start date", "8/12/2009");
taskVariables.put("end date", "8/21/2009");
taskInstance.addVariables(taskVariables);
taskInstance.end();
- jbpmContext.save(processInstance);
- processInstanceId = processInstance.getId();
// Manager rejects the raise request
newTransaction();
- log.info(jbpmContext.getTaskMgmtSession().findTaskInstancesByProcessInstance(processInstance).size());
-
- List<TaskInstance> managerTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
+ List<TaskInstance> managerTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "manager");
assertEquals(1, managerTasksList.size());
TaskInstance managerTask = managerTasksList.get(0);
@@ -137,16 +107,15 @@
assertEquals("manager", managerTask.getActorId());
}
- @SuppressWarnings("unchecked")
- public void testAcceptBusinessTripRequest()
- {
+ public void testAcceptBusinessTripRequest() {
// Employee submits a raise request
jbpmContext.setActorId("employee");
TaskInstance taskInstance = createNewProcessInstance();
Map<String, Object> taskVariables = new HashMap<String, Object>();
taskVariables.put("purpose", "Conference in MIT");
- taskVariables.put("description", "This conference is mainly to highlight to impact of ESB technologies on the current industries");
+ taskVariables.put("description",
+ "This conference is mainly to highlight to impact of ESB technologies on the current industries");
taskVariables.put("allocated budget", 3000);
taskVariables.put("start date", "8/12/2009");
taskVariables.put("end date", "8/21/2009");
@@ -154,12 +123,11 @@
taskVariables.put("city", "Kansas");
taskInstance.addVariables(taskVariables);
taskInstance.end();
- jbpmContext.save(processInstance);
- processInstanceId = processInstance.getId();
// Manager rejects the raise request
newTransaction();
- List<TaskInstance> managerTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
+ List<TaskInstance> managerTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "manager");
assertEquals(1, managerTasksList.size());
TaskInstance managerTask = managerTasksList.get(0);
@@ -169,7 +137,8 @@
jbpmContext.save(managerTask);
newTransaction();
- List<TaskInstance> accountantTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances("accountant");
+ List<TaskInstance> accountantTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "accountant");
assertEquals(1, accountantTasksList.size());
TaskInstance accountantTask = accountantTasksList.get(0);
accountantTask.end();
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/raise/RaiseRequestTest.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/raise/RaiseRequestTest.java 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/raise/RaiseRequestTest.java 2009-01-23 08:05:52 UTC (rev 3708)
@@ -4,86 +4,54 @@
import java.util.List;
import java.util.Map;
-import junit.framework.TestCase;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
+import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
-import org.jbpm.persistence.db.DbPersistenceServiceFactory;
-import org.jbpm.svc.Services;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
-public class RaiseRequestTest extends TestCase
-{
- Log log = LogFactory.getLog(this.getClass());
+public class RaiseRequestTest extends AbstractDbTestCase {
- JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
- DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory)jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+ private long processDefinitionId;
- JbpmContext jbpmContext;
-
- ProcessInstance processInstance = null;
- ContextInstance contextInstance = null;
- TaskMgmtInstance taskMgmtInstance = null;
- long processInstanceId = -1;
-
- public void setUp()
- {
- dbPersistenceServiceFactory.createSchema();
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
deployProcess();
- jbpmContext = jbpmConfiguration.createJbpmContext();
}
- public void tearDown()
- {
- jbpmContext.close();
- dbPersistenceServiceFactory.dropSchema();
- jbpmContext = null;
+ @Override
+ protected void tearDown() throws Exception {
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ super.tearDown();
}
- private void newTransaction()
- {
- jbpmContext.close();
- jbpmContext = jbpmConfiguration.createJbpmContext();
+ @Override
+ protected String getJbpmTestConfig() {
+ return null; // use default configuration
}
- private void deployProcess()
- {
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try
- {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("raise/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- }
- finally
- {
- jbpmContext.close();
- }
+ void deployProcess() {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("raise/processdefinition.xml");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ processDefinitionId = processDefinition.getId();
}
- private TaskInstance createNewProcessInstance()
- {
- processInstance = jbpmContext.newProcessInstanceForUpdate("raise request");
- processInstanceId = processInstance.getId();
- contextInstance = processInstance.getContextInstance();
- taskMgmtInstance = processInstance.getTaskMgmtInstance();
+ TaskInstance createNewProcessInstance() {
+ ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("raise request");
return processInstance.getTaskMgmtInstance().createStartTaskInstance();
}
- public void testTaskParameters()
- {
+ public void testTaskParameters() {
TaskInstance taskInstance = createNewProcessInstance();
assertEquals("submit raise request", taskInstance.getName());
assertEquals(0, taskInstance.getVariables().size());
+
+ newTransaction();
}
- public void testSubmitRaiseRequestTask()
- {
+ public void testSubmitRaiseRequestTask() {
jbpmContext.setActorId("employee");
TaskInstance taskInstance = createNewProcessInstance();
@@ -94,23 +62,26 @@
taskInstance.addVariables(taskVariables);
taskInstance.end();
+ newTransaction();
+ ProcessInstance processInstance = jbpmContext.loadProcessInstance(taskInstance.getProcessInstance()
+ .getId());
+ ContextInstance contextInstance = processInstance.getContextInstance();
assertEquals("I need to buy a jet", contextInstance.getVariable("reason"));
assertEquals(600, contextInstance.getVariable("amount"));
+
+ TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
assertEquals("employee", taskMgmtInstance.getSwimlaneInstance("employee").getActorId());
}
- @SuppressWarnings("unchecked")
- public void testManagerEvaluationReject()
- {
+ public void testManagerEvaluationReject() {
TaskInstance taskInstance = createNewProcessInstance();
Map<String, Object> taskVariables = new HashMap<String, Object>();
taskVariables.put("reason", "I need to buy a jet");
taskVariables.put("amount", 600);
taskInstance.addVariables(taskVariables);
taskInstance.end();
- jbpmContext.save(processInstance);
- newTransaction();
+ newTransaction();
List<TaskInstance> managerTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
assertEquals(1, managerTasks.size());
@@ -121,18 +92,15 @@
assertEquals(0, foTasks.size());
}
- @SuppressWarnings("unchecked")
- public void testManagerEvaluationAcceptFOReject()
- {
+ public void testManagerEvaluationAcceptFOReject() {
TaskInstance taskInstance = createNewProcessInstance();
Map<String, Object> taskVariables = new HashMap<String, Object>();
taskVariables.put("reason", "I need to buy a jet");
taskVariables.put("amount", 600);
taskInstance.addVariables(taskVariables);
taskInstance.end();
- jbpmContext.save(processInstance);
- newTransaction();
+ newTransaction();
List<TaskInstance> managerTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
assertEquals(1, managerTasks.size());
TaskInstance managerTask = managerTasks.get(0);
@@ -152,18 +120,15 @@
assertEquals(0, managerTasks.size());
}
- @SuppressWarnings("unchecked")
- public void testManagerEvaluationAcceptFOAccpet()
- {
+ public void testManagerEvaluationAcceptFOAccpet() {
TaskInstance taskInstance = createNewProcessInstance();
Map<String, Object> taskVariables = new HashMap<String, Object>();
taskVariables.put("reason", "I need to buy a jet");
taskVariables.put("amount", 600);
taskInstance.addVariables(taskVariables);
taskInstance.end();
- jbpmContext.save(processInstance);
- newTransaction();
+ newTransaction();
List<TaskInstance> managerTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
assertEquals(1, managerTasks.size());
TaskInstance managerTask = managerTasks.get(0);
@@ -180,7 +145,8 @@
foTask.end("accept");
newTransaction();
- List<TaskInstance> accountantTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("accountant");
+ List<TaskInstance> accountantTasks = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "accountant");
assertEquals(1, accountantTasks.size());
TaskInstance accountantTask = accountantTasks.get(0);
@@ -189,18 +155,15 @@
accountantTask.end("terminate");
}
- @SuppressWarnings("unchecked")
- public void testManagerEvaluationAcceptFOMultipleIterationsAccpet()
- {
+ public void testManagerEvaluationAcceptFOMultipleIterationsAccpet() {
TaskInstance taskInstance = createNewProcessInstance();
Map<String, Object> taskVariables = new HashMap<String, Object>();
taskVariables.put("reason", "I need to buy a jet");
taskVariables.put("amount", 600);
taskInstance.addVariables(taskVariables);
taskInstance.end();
- jbpmContext.save(processInstance);
- newTransaction();
+ newTransaction();
List<TaskInstance> managerTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
assertEquals(1, managerTasks.size());
TaskInstance managerTask = managerTasks.get(0);
@@ -235,7 +198,8 @@
foTask.end("accept");
newTransaction();
- List<TaskInstance> accountantTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("accountant");
+ List<TaskInstance> accountantTasks = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "accountant");
assertEquals(1, accountantTasks.size());
TaskInstance accountantTask = accountantTasks.get(0);
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/rulesaction/RulesActionTest.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/rulesaction/RulesActionTest.java 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/rulesaction/RulesActionTest.java 2009-01-23 08:05:52 UTC (rev 3708)
@@ -21,104 +21,68 @@
*/
package org.jbpm.examples.rulesaction;
-import java.util.Date;
-
-import junit.framework.TestCase;
-
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
+import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
-import org.jbpm.persistence.db.DbPersistenceServiceFactory;
-import org.jbpm.svc.Services;
-import org.jbpm.graph.exe.Token;
/**
* This example shows how to invoke JBoss Drools from an ActionHandler.
*/
-public class RulesActionTest extends TestCase
-{
+public class RulesActionTest extends AbstractDbTestCase {
- JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
+ private long processDefinitionId;
- DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory)jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
-
- JbpmContext jbpmContext;
- long processInstanceId;
-
- public void setUp()
- {
- dbPersistenceServiceFactory.createSchema();
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
deployProcess();
- jbpmContext = jbpmConfiguration.createJbpmContext();
}
- public void tearDown()
- {
- jbpmContext.close();
- dbPersistenceServiceFactory.dropSchema();
- jbpmContext = null;
+ @Override
+ protected void tearDown() throws Exception {
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ super.tearDown();
}
- public void newTransaction()
- {
- jbpmContext.close();
- jbpmContext = jbpmConfiguration.createJbpmContext();
+ @Override
+ protected String getJbpmTestConfig() {
+ return null; // use default configuration
}
- public void deployProcess()
- {
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try
- {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("rulesaction/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- }
- finally
- {
- jbpmContext.close();
- }
+ void deployProcess() {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("rulesaction/processdefinition.xml");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ processDefinitionId = processDefinition.getId();
}
- public void testRulesAssignment()
- {
+ public void testRulesAssignment() {
// start process
newTransaction();
- processInstanceId = createNewProcessInstance();
- assertNotNull(processInstanceId);
+ long processInstanceId = createNewProcessInstance();
+ assertFalse("ProcessInstanceId is 0", processInstanceId == 0);
newTransaction();
- ProcessInstance processInstance = getProcessInstance(processInstanceId);
+ ProcessInstance processInstance = jbpmContext.loadProcessInstance(processInstanceId);
+ assertTrue("ProcessInstance has not ended", processInstance.hasEnded());
- assertNotNull(processInstance);
-
- Date processEnd = processInstance.getEnd();
- assertNotNull(processEnd);
- String shipper = (String)processInstance.getContextInstance().getVariable("shipper");
- assertEquals("shipper is FEDX", shipper, "FEDX");
-
+ String shipper = (String) processInstance.getContextInstance().getVariable("shipper");
+ assertEquals("FEDX", shipper);
}
- public long createNewProcessInstance()
- {
+ long createNewProcessInstance() {
String processDefinitionName = "RulesAction";
ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate(processDefinitionName);
- long id = processInstance.getId();
+
ContextInstance contextInstance = processInstance.getContextInstance();
contextInstance.setVariable("processDefinitionName", processDefinitionName);
+
Order order = new Order(300);
Customer customer = new Customer("Fred", new Integer(5), new Integer(25), new Long(100000));
contextInstance.setVariable("order", order);
contextInstance.setVariable("customer", customer);
- Token token = processInstance.getRootToken();
- token.signal();
- return id;
- }
- public ProcessInstance getProcessInstance(long processInstanceId)
- {
- ProcessInstance processInstance = jbpmContext.loadProcessInstanceForUpdate(processInstanceId);
- return processInstance;
+ processInstance.signal();
+ return processInstance.getId();
}
}
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java 2009-01-23 08:05:52 UTC (rev 3708)
@@ -21,112 +21,73 @@
*/
package org.jbpm.examples.taskinstance;
-import java.util.Date;
import java.util.List;
-import junit.framework.TestCase;
-
import org.hibernate.Criteria;
import org.hibernate.Session;
+import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Restrictions;
import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
+import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
-import org.jbpm.graph.exe.Token;
-import org.jbpm.identity.Entity;
-import org.jbpm.identity.hibernate.IdentitySession;
-import org.jbpm.identity.xml.IdentityXmlParser;
import org.jbpm.persistence.db.DbPersistenceServiceFactory;
import org.jbpm.svc.Services;
import org.jbpm.taskmgmt.exe.TaskInstance;
+import org.jbpm.util.CollectionUtil;
/**
* This example shows how to extend the TaskInstance by adding a custom property.
*/
-public class CustomTaskInstanceTest extends TestCase {
+public class CustomTaskInstanceTest extends AbstractDbTestCase {
- JbpmConfiguration jbpmConfiguration = null;
- // JbpmConfiguration.getInstance();
+ private long processDefinitionId;
- DbPersistenceServiceFactory dbPersistenceServiceFactory;
-
- JbpmContext jbpmContext;
-
- ProcessInstance processInstance = null;
-
- ContextInstance contextInstance = null;
-
- protected void setUp() {
- // the jbpm.cfg.xml file is modified to add the CustomTaskInstanceFactory
- // so we will read in the file from the config directory of this example
- jbpmConfiguration = JbpmConfiguration.parseResource("taskinstance/jbpm.cfg.xml");
-
- dbPersistenceServiceFactory = (DbPersistenceServiceFactory) jbpmConfiguration
- .getServiceFactory(Services.SERVICENAME_PERSISTENCE);
-
- // the CustomTaskInstance mapping file reference
- // <mapping resource="org/jbpm/taskinstance/CustomTaskInstance.hbm.xml"/>
- // has been added to to the bottom of the hibernate.cfg.xml file in the config directory
-
- // now create the schema
- // this is also a step that typically would be performed as an independent step
- // using the jbpm schema created from the jbpm mapping files
-
- dbPersistenceServiceFactory.createSchema();
+ protected void setUp() throws Exception {
+ super.setUp();
deployProcess();
- jbpmContext = jbpmConfiguration.createJbpmContext();
}
- protected void tearDown() {
- jbpmContext.close();
- dbPersistenceServiceFactory.dropSchema();
- jbpmContext = null;
+ protected void tearDown() throws Exception {
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ super.tearDown();
+ jbpmConfiguration.close();
}
- void newTransaction() {
- jbpmContext.close();
- jbpmContext = jbpmConfiguration.createJbpmContext();
- }
+ @Override
+ protected JbpmConfiguration getJbpmConfiguration() {
+ if (jbpmConfiguration == null) {
+ // the jbpm.cfg.xml file is modified to add the CustomTaskInstanceFactory
+ // so we will read in the file from the config directory of this example
+ jbpmConfiguration = JbpmConfiguration.parseResource("taskinstance/jbpm.cfg.xml");
+ DbPersistenceServiceFactory factory = (DbPersistenceServiceFactory) jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
- void deployProcess() {
- jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- ProcessDefinition processDefinition = ProcessDefinition
- .parseXmlResource("taskinstance/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
+ Configuration configuration = factory.getConfiguration();
+ configuration.addResource("taskinstance/CustomTaskInstance.hbm.xml");
+
+ // TODO https://jira.jboss.org/jira/browse/JBPM-1812
+ // JbpmSchema jbpmSchema = new JbpmSchema(configuration);
+ // jbpmSchema.updateTable("JBPM_TASKINSTANCE");
}
- finally {
- jbpmContext.close();
- }
+ return jbpmConfiguration;
}
- void loadIdentities() {
- jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- Entity[] entities = IdentityXmlParser.parseEntitiesResource("identity.db.xml");
- IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());
- for (int i = 0; i < entities.length; i++) {
- identitySession.saveEntity(entities[i]);
- }
- }
- finally {
- jbpmContext.close();
- }
+ void deployProcess() {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("taskinstance/processdefinition.xml");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ processDefinitionId = processDefinition.getId();
}
public void testCustomTaskInstance() {
// create processInstance
newTransaction();
long processInstanceId = createNewProcessInstance();
- assertNotNull(processInstanceId);
assertFalse("ProcessInstanceId is 0", processInstanceId == 0);
// perform the task
newTransaction();
long taskInstanceId = acquireTask();
- assertNotNull(taskInstanceId);
assertFalse("TaskInstanceId is 0", taskInstanceId == 0);
newTransaction();
@@ -134,27 +95,24 @@
newTransaction();
TaskInstance taskInstance = jbpmContext.loadTaskInstance(taskInstanceId);
- Date end = taskInstance.getEnd();
- assertNotNull(end);
+ assertTrue("TaskInstance has not ended", taskInstance.hasEnded());
// check process is completed
newTransaction();
- Date processEnd = null;
- processInstance = jbpmContext.getProcessInstance(processInstanceId);
- processEnd = processInstance.getEnd();
- assertNotNull(processEnd);
+ ProcessInstance processInstance = jbpmContext.getProcessInstance(processInstanceId);
+ assertTrue("ProcessInstance has not ended", processInstance.hasEnded());
}
long createNewProcessInstance() {
String processDefinitionName = "CustomTaskInstance";
- processInstance = jbpmContext.newProcessInstanceForUpdate(processDefinitionName);
- long processInstanceId = processInstance.getId();
- contextInstance = processInstance.getContextInstance();
+ ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate(processDefinitionName);
+
+ ContextInstance contextInstance = processInstance.getContextInstance();
contextInstance.setVariable("processDefinitionName", processDefinitionName);
contextInstance.setVariable("customId", "abc");
- Token token = processInstance.getRootToken();
- token.signal();
- return processInstanceId;
+
+ processInstance.signal();
+ return processInstance.getId();
}
long acquireTask() {
@@ -171,22 +129,21 @@
}
void completeTask(long taskInstanceId) {
- CustomTaskInstance taskInstance = (CustomTaskInstance) jbpmContext.getSession()
- .load(CustomTaskInstance.class, new Long(taskInstanceId));
+ CustomTaskInstance taskInstance = (CustomTaskInstance) jbpmContext.getSession().load(
+ CustomTaskInstance.class, new Long(taskInstanceId));
taskInstance.end();
}
List<CustomTaskInstance> findPooledTaskListByCustomId(String actorId, String customId) {
Session session = jbpmContext.getSession();
- return session.createCriteria(CustomTaskInstance.class)
- // .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
+ Criteria criteria = session.createCriteria(CustomTaskInstance.class)
.add(Restrictions.isNull("actorId"))
.add(Restrictions.isNull("end"))
.add(Restrictions.eq("isCancelled", false))
.add(Restrictions.eq("customId", customId))
.createCriteria("pooledActors")
- .add(Restrictions.eq("actorId", actorId))
- .list();
+ .add(Restrictions.eq("actorId", actorId));
+ return CollectionUtil.checkList(criteria.list(), CustomTaskInstance.class);
}
}
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/websale/WebsaleTest.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/websale/WebsaleTest.java 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/websale/WebsaleTest.java 2009-01-23 08:05:52 UTC (rev 3708)
@@ -25,115 +25,57 @@
import java.util.List;
import java.util.Map;
-import junit.framework.TestCase;
-
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
+import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
-import org.jbpm.identity.Entity;
-import org.jbpm.identity.hibernate.IdentitySession;
-import org.jbpm.identity.xml.IdentityXmlParser;
-import org.jbpm.persistence.db.DbPersistenceServiceFactory;
-import org.jbpm.svc.Services;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
-public class WebsaleTest extends TestCase
-{
- JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
- DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory)jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+public class WebsaleTest extends AbstractDbTestCase {
- JbpmContext jbpmContext;
+ private long processDefinitionId;
- ProcessInstance processInstance;
- ContextInstance contextInstance;
- TaskMgmtInstance taskMgmtInstance;
- long processInstanceId = -1;
-
- public void setUp()
- {
- dbPersistenceServiceFactory.createSchema();
+ protected void setUp() throws Exception {
+ super.setUp();
deployProcess();
- jbpmContext = jbpmConfiguration.createJbpmContext();
}
- public void tearDown()
- {
- jbpmContext.close();
- dbPersistenceServiceFactory.dropSchema();
- jbpmContext = null;
+ protected void tearDown() throws Exception {
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ super.tearDown();
}
- public void newTransaction()
- {
- jbpmContext.close();
- jbpmContext = jbpmConfiguration.createJbpmContext();
+ @Override
+ protected String getJbpmTestConfig() {
+ return null; // use default configuration
}
- public void deployProcess()
- {
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try
- {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("websale/jpdl/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- }
- finally
- {
- jbpmContext.close();
- }
+ void deployProcess() {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("websale/jpdl/processdefinition.xml");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ processDefinitionId = processDefinition.getId();
}
- public void loadIdentities()
- {
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try
- {
- Entity[] entities = IdentityXmlParser.parseEntitiesResource("assignment/identity.db.xml");
- IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());
- for (int i = 0; i < entities.length; i++)
- {
- identitySession.saveEntity(entities[i]);
- }
- }
- finally
- {
- jbpmContext.close();
- }
- }
-
- public TaskInstance createNewProcessInstance()
- {
- processInstance = jbpmContext.newProcessInstanceForUpdate("websale");
- processInstanceId = processInstance.getId();
- contextInstance = processInstance.getContextInstance();
- taskMgmtInstance = processInstance.getTaskMgmtInstance();
+ TaskInstance createNewProcessInstance() {
+ ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("websale");
return processInstance.getTaskMgmtInstance().createStartTaskInstance();
}
- public void reloadProcessInstance()
- {
- processInstance = jbpmContext.loadProcessInstanceForUpdate(processInstanceId);
- contextInstance = processInstance.getContextInstance();
- taskMgmtInstance = processInstance.getTaskMgmtInstance();
- }
-
- public void testWebSaleOrderTaskParameters()
- {
+ public void testWebSaleOrderTaskParameters() {
TaskInstance taskInstance = createNewProcessInstance();
assertEquals("Create new web sale order", taskInstance.getName());
assertEquals(0, taskInstance.getVariables().size());
+
+ newTransaction();
}
- public void testPerformWebSaleOrderTask()
- {
+ public void testPerformWebSaleOrderTask() {
jbpmContext.setActorId("user");
// create a task to start the websale process
TaskInstance taskInstance = createNewProcessInstance();
- Map taskVariables = new HashMap();
+ Map<String, Object> taskVariables = new HashMap<String, Object>();
taskVariables.put("item", "cookies");
taskVariables.put("quantity", "lots of them");
taskVariables.put("address", "46 Main St.");
@@ -141,28 +83,32 @@
taskInstance.addVariables(taskVariables);
taskInstance.end();
+ newTransaction();
+ ProcessInstance processInstance = jbpmContext.loadProcessInstance(taskInstance.getProcessInstance()
+ .getId());
+ ContextInstance contextInstance = processInstance.getContextInstance();
assertEquals("cookies", contextInstance.getVariable("item"));
assertEquals("lots of them", contextInstance.getVariable("quantity"));
assertEquals("46 Main St.", contextInstance.getVariable("address"));
+
+ TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
assertEquals("user", taskMgmtInstance.getSwimlaneInstance("buyer").getActorId());
}
- public void testEvaluateAssignment()
- {
+ public void testEvaluateAssignment() {
jbpmContext.setActorId("user");
+
// create a task to start the websale process
TaskInstance taskInstance = createNewProcessInstance();
taskInstance.setVariable("item", "cookies");
taskInstance.end();
- jbpmContext.save(processInstance);
- processInstanceId = processInstance.getId();
newTransaction();
-
- List sampleManagersTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
+ List<TaskInstance> sampleManagersTasks = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "manager");
assertEquals(1, sampleManagersTasks.size());
- TaskInstance evaluateTaskInstance = (TaskInstance)sampleManagersTasks.get(0);
+ TaskInstance evaluateTaskInstance = sampleManagersTasks.get(0);
assertEquals("manager", evaluateTaskInstance.getActorId());
assertEquals("Evaluate web order", evaluateTaskInstance.getName());
assertNotNull(evaluateTaskInstance.getToken());
@@ -171,24 +117,21 @@
assertNull(evaluateTaskInstance.getEnd());
}
- public void testEvaluateOk()
- {
+ public void testEvaluateOk() {
TaskInstance taskInstance = createNewProcessInstance();
taskInstance.end();
- jbpmContext.save(processInstance);
newTransaction();
-
- TaskInstance evaluateTaskInstance = (TaskInstance)jbpmContext.getTaskMgmtSession().findTaskInstances("manager").get(0);
+ TaskInstance evaluateTaskInstance = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "manager").get(0);
evaluateTaskInstance.end("OK");
- jbpmContext.save(evaluateTaskInstance);
newTransaction();
-
- List sampleShippersTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("shipper");
+ List<TaskInstance> sampleShippersTasks = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "shipper");
assertEquals(1, sampleShippersTasks.size());
- TaskInstance waitForMoneyTaskInstance = (TaskInstance)sampleShippersTasks.get(0);
+ TaskInstance waitForMoneyTaskInstance = sampleShippersTasks.get(0);
assertEquals("shipper", waitForMoneyTaskInstance.getActorId());
assertEquals("Wait for money", waitForMoneyTaskInstance.getName());
assertNotNull(waitForMoneyTaskInstance.getToken());
@@ -197,63 +140,60 @@
assertNull(waitForMoneyTaskInstance.getEnd());
}
- public void testUnwritableVariableException()
- {
+ public void testUnwritableVariableException() {
testEvaluateAssignment();
+
newTransaction();
- List sampleManagersTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
- TaskInstance evaluateTaskInstance = (TaskInstance)sampleManagersTasks.get(0);
+ List<TaskInstance> sampleManagersTasks = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "manager");
+ TaskInstance evaluateTaskInstance = sampleManagersTasks.get(0);
evaluateTaskInstance.end();
newTransaction();
-
- processInstance = jbpmContext.getGraphSession().loadProcessInstance(processInstanceId);
- contextInstance = processInstance.getContextInstance();
+ ProcessInstance processInstance = jbpmContext.getGraphSession().loadProcessInstance(
+ evaluateTaskInstance.getProcessInstance().getId());
+ ContextInstance contextInstance = processInstance.getContextInstance();
// so the cookies should still be in the item process variable.
assertEquals("cookies", contextInstance.getVariable("item"));
}
- public void testEvaluateNok()
- {
+ public void testEvaluateNok() {
testEvaluateAssignment();
- newTransaction();
- List sampleManagersTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
- TaskInstance evaluateTaskInstance = (TaskInstance)sampleManagersTasks.get(0);
+ newTransaction();
+ List<TaskInstance> sampleManagersTasks = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "manager");
+ TaskInstance evaluateTaskInstance = sampleManagersTasks.get(0);
evaluateTaskInstance.setVariable("comment", "wtf");
evaluateTaskInstance.end("More info needed");
jbpmContext.save(evaluateTaskInstance);
newTransaction();
-
- List sampleUserTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("user");
+ List<TaskInstance> sampleUserTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("user");
assertEquals(1, sampleUserTasks.size());
- TaskInstance fixWebOrderDataTaskInstance = (TaskInstance)sampleUserTasks.get(0);
+ TaskInstance fixWebOrderDataTaskInstance = sampleUserTasks.get(0);
assertEquals("user", fixWebOrderDataTaskInstance.getActorId());
assertEquals("wtf", fixWebOrderDataTaskInstance.getVariable("comment"));
}
- public void testMoreInfoNeeded()
- {
+ public void testMoreInfoNeeded() {
jbpmContext.setActorId("user");
// create a task to start the websale process
TaskInstance taskInstance = createNewProcessInstance();
taskInstance.end();
- jbpmContext.save(processInstance);
newTransaction();
-
- TaskInstance evaluateTaskInstance = (TaskInstance)jbpmContext.getTaskMgmtSession().findTaskInstances("manager").get(0);
+ TaskInstance evaluateTaskInstance = jbpmContext.getTaskMgmtSession().findTaskInstances(
+ "manager").get(0);
evaluateTaskInstance.end("More info needed");
jbpmContext.save(evaluateTaskInstance);
newTransaction();
-
- List sampleUserTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("user");
+ List<TaskInstance> sampleUserTasks = jbpmContext.getTaskMgmtSession().findTaskInstances("user");
assertEquals(1, sampleUserTasks.size());
- TaskInstance fixWebOrderDataTaskInstance = (TaskInstance)sampleUserTasks.get(0);
+ TaskInstance fixWebOrderDataTaskInstance = sampleUserTasks.get(0);
assertEquals("user", fixWebOrderDataTaskInstance.getActorId());
assertEquals("Fix web order data", fixWebOrderDataTaskInstance.getName());
assertNotNull(fixWebOrderDataTaskInstance.getToken());
Modified: jbpm3/trunk/modules/examples/src/test/resources/hibernate.extra.hbm.xml
===================================================================
--- jbpm3/trunk/modules/examples/src/test/resources/hibernate.extra.hbm.xml 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/examples/src/test/resources/hibernate.extra.hbm.xml 2009-01-23 08:05:52 UTC (rev 3708)
@@ -1,5 +1,4 @@
<?xml version="1.0"?>
-
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
@@ -9,11 +8,5 @@
<!-- ################################################## -->
<!-- # Additional mappings defined per module go here # -->
<!-- ################################################## -->
-
- <subclass name="org.jbpm.examples.taskinstance.CustomTaskInstance"
- extends="org.jbpm.taskmgmt.exe.TaskInstance"
- discriminator-value="C">
- <property name="customId" column="CUSTOMID_" />
- </subclass>
-
+
</hibernate-mapping>
Added: jbpm3/trunk/modules/examples/src/test/resources/taskinstance/CustomTaskInstance.hbm.xml
===================================================================
--- jbpm3/trunk/modules/examples/src/test/resources/taskinstance/CustomTaskInstance.hbm.xml (rev 0)
+++ jbpm3/trunk/modules/examples/src/test/resources/taskinstance/CustomTaskInstance.hbm.xml 2009-01-23 08:05:52 UTC (rev 3708)
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+ <subclass name="org.jbpm.examples.taskinstance.CustomTaskInstance"
+ extends="org.jbpm.taskmgmt.exe.TaskInstance" discriminator-value="C">
+ <property name="customId" column="CUSTOMID_" />
+ </subclass>
+
+</hibernate-mapping>
Modified: jbpm3/trunk/modules/examples/src/test/resources/taskinstance/jbpm.cfg.xml
===================================================================
--- jbpm3/trunk/modules/examples/src/test/resources/taskinstance/jbpm.cfg.xml 2009-01-23 07:14:34 UTC (rev 3707)
+++ jbpm3/trunk/modules/examples/src/test/resources/taskinstance/jbpm.cfg.xml 2009-01-23 08:05:52 UTC (rev 3708)
@@ -1,49 +1,3 @@
<jbpm-configuration>
-
- <!--
- This configuration is used when there is no jbpm.cfg.xml file found in the
- root of the classpath. It is a very basic configuration without persistence
- and message services. Only the authorization service installed.
- You can parse and create processes, but when you try to use one of the
- unavailable services, you'll get an exception.
- -->
-
- <jbpm-context>
- <service name="persistence" factory="org.jbpm.persistence.db.DbPersistenceServiceFactory" />
- <service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
- <service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory" />
- <service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" />
- <service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory" />
- <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
- </jbpm-context>
-
- <!-- configuration property used by persistence service impl org.jbpm.persistence.db.DbPersistenceServiceFactory -->
- <string name="resource.hibernate.cfg.xml" value="hibernate.cfg.xml" />
-
- <!-- configuration resource files pointing to default configuration files in jbpm-{version}.jar -->
- <string name="resource.business.calendar" value="org/jbpm/calendar/jbpm.business.calendar.properties" />
- <string name="resource.default.modules" value="org/jbpm/graph/def/jbpm.default.modules.properties" />
- <string name="resource.converter" value="org/jbpm/db/hibernate/jbpm.converter.properties" />
- <string name="resource.action.types" value="org/jbpm/graph/action/action.types.xml" />
- <string name="resource.node.types" value="org/jbpm/graph/node/node.types.xml" />
- <string name="resource.parsers" value="org/jbpm/jpdl/par/jbpm.parsers.xml" />
- <string name="resource.varmapping" value="org/jbpm/context/exe/jbpm.varmapping.xml" />
- <string name="resource.mail.templates" value="jbpm.mail.templates.xml" />
-
- <int name="jbpm.byte.block.size" value="1024" singleton="true" />
- <string name="jbpm.mail.smtp.host" value="localhost" />
- <!-- bean name="jbpm.task.instance.factory" class="org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl" singleton="true" /-->
<bean name="jbpm.task.instance.factory" class="org.jbpm.examples.taskinstance.CustomTaskInstanceFactoryImpl" singleton="true" />
- <bean name="jbpm.variable.resolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver" singleton="true" />
- <bean name="jbpm.mail.address.resolver" class="org.jbpm.identity.mail.IdentityAddressResolver" singleton="true" />
-
- <bean name="jbpm.job.executor" class="org.jbpm.job.executor.JobExecutor">
- <field name="jbpmConfiguration"><ref bean="jbpmConfiguration" /></field>
- <field name="name"><string value="JbpmJobExector" /></field>
- <field name="nbrOfThreads"><int value="1" /></field>
- <field name="idleInterval"><int value="2500" /></field>
- <field name="maxIdleInterval"><int value="3600000" /></field>
- <field name="historyMaxSize"><int value="20" /></field>
- </bean>
-
</jbpm-configuration>
More information about the jbpm-commits
mailing list