in core/src/main/java/com/alibaba/smart/framework/engine/service/command/impl/CommonServiceHelper.java [135:167]
private static void persisteInstance(ExecutionInstanceStorage executionInstanceStorage,
TaskInstanceStorage taskInstanceStorage, TaskAssigneeStorage taskAssigneeStorage, ActivityInstance activityInstance,
ExecutionInstance executionInstance, ProcessEngineConfiguration processEngineConfiguration) {
if (null != executionInstance) {
executionInstance.setProcessInstanceId(activityInstance.getProcessInstanceId());
executionInstance.setActivityInstanceId(activityInstance.getInstanceId());
executionInstanceStorage.insert(executionInstance,processEngineConfiguration );
TaskInstance taskInstance = executionInstance.getTaskInstance();
if(null!= taskInstance) {
taskInstance.setActivityInstanceId(executionInstance.getActivityInstanceId());
taskInstance.setProcessInstanceId(executionInstance.getProcessInstanceId());
taskInstance.setExecutionInstanceId(executionInstance.getInstanceId());
//reAssign
taskInstance = taskInstanceStorage.insert(taskInstance,processEngineConfiguration );
List<TaskAssigneeInstance> taskAssigneeInstances = taskInstance.getTaskAssigneeInstanceList();
if(null != taskAssigneeInstances){
for (TaskAssigneeInstance taskAssigneeInstance : taskAssigneeInstances) {
taskAssigneeInstance.setTaskInstanceId(taskInstance.getInstanceId());
taskAssigneeInstance.setProcessInstanceId(taskInstance.getProcessInstanceId());
taskAssigneeStorage.insert(taskAssigneeInstance,processEngineConfiguration );
}
}
executionInstance.setTaskInstance(taskInstance);
}
}
}