Activity ownerとassignessの違い


   
   
   
   
package org . activiti . designer . test ;
import static org . junit . Assert . assertEquals ;
import static org . junit . Assert . assertNotNull ;
import static org . junit . Assert . assertNull ;
import java.util.HashMap ;
import java.util.Map ;
import org.activiti.engine.RuntimeService ;
import org.activiti.engine.TaskService ;
import org.activiti.engine.runtime.ProcessInstance ;
import org.activiti.engine.task.DelegationState ;
import org.activiti.engine.task.Task ;
import org.activiti.engine.test.ActivitiRule ;
import org.activiti.engine.test.Deployment ;
import org.junit.Rule ;
import org.junit.Test ;
/**
*
*
* @author henryyan
*/
public class ProcessTestDelegateTask {
@Rule
public ActivitiRule activitiRule = new ActivitiRule ();
@Test
@Deployment ( resources = { "diagrams/AutoAssignee.bpmn" })
public void startProcess () throws Exception {
RuntimeService runtimeService = activitiRule . getRuntimeService ();
Map < String , Object > variableMap = new HashMap < String , Object >();
variableMap . put ( "name" , "Activiti" );
ProcessInstance processInstance = runtimeService . startProcessInstanceByKey ( "AutoAssignee" , variableMap );
assertNotNull ( processInstance . getId ());
System . out . println ( "id " + processInstance . getId () + " " + processInstance . getProcessDefinitionId ());
TaskService taskService = activitiRule . getTaskService ();
Task task = taskService . createTaskQuery (). singleResult ();
assertNull ( task . getAssignee ());
//
taskService . claim ( task . getId (), "user1" );
task = taskService . createTaskQuery (). singleResult ();
assertNull ( task . getOwner ());
assertNotNull ( task . getAssignee ());
//
taskService . delegateTask ( task . getId (), "henryyan" );
task = taskService . createTaskQuery (). singleResult ();
assertEquals ( "user1" , task . getOwner ());
//
task = taskService . createTaskQuery (). taskAssignee ( "henryyan" ). taskDelegationState ( DelegationState . PENDING ). singleResult ();
assertNotNull ( task );
//
taskService . resolveTask ( task . getId ());
//
task = taskService . createTaskQuery (). taskDelegationState ( DelegationState . RESOLVED ). singleResult ();
assertNotNull ( task );
assertEquals ( "user1" , task . getAssignee ());
assertEquals ( "user1" , task . getOwner ());
//taskService.complete(task.getId(), Collections.singletonMap("taskTwoAssignee", "user2"));
}
}