package org.jbpm.graph.exe; import org.jbpm.db.AbstractDbTestCase; import org.jbpm.graph.def.ProcessDefinition; public class BusinessKeyDbTest extends AbstractDbTestCase { public void testSimpleBusinessKey() { ProcessDefinition processDefinition = new ProcessDefinition("businesskeytest"); deployProcessDefinition(processDefinition); ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("businesskeytest"); processInstance.setKey("businesskey1"); newTransaction(); processInstance = jbpmContext.newProcessInstanceForUpdate("businesskeytest"); processInstance.setKey("businesskey2"); newTransaction(); processDefinition = jbpmContext.getGraphSession() .findLatestProcessDefinition("businesskeytest"); processInstance = jbpmContext.getProcessInstance(processDefinition, "businesskey1"); assertEquals("businesskey1", processInstance.getKey()); } public void testDuplicateBusinessKeyInDifferentProcesses() { ProcessDefinition processDefinitionOne = new ProcessDefinition("businesskeytest1"); deployProcessDefinition(processDefinitionOne); ProcessDefinition processDefinitionTwo = new ProcessDefinition("businesskeytest2"); deployProcessDefinition(processDefinitionTwo); jbpmContext.newProcessInstanceForUpdate("businesskeytest1").setKey("duplicatekey"); jbpmContext.newProcessInstanceForUpdate("businesskeytest2").setKey("duplicatekey"); } }