in extension/storage/storage-mysql/src/main/java/com/alibaba/smart/framework/engine/persister/database/service/RelationshipDatabaseProcessInstanceStorage.java [124:152]
private ProcessInstance buildProcessInstanceFromEntity(ProcessInstanceEntity processInstanceEntity) {
if (processInstanceEntity == null) {
return null;
}
ProcessInstance processInstance = new DefaultProcessInstance();
buildCommon(processInstance, processInstanceEntity);
InstanceStatus processStatus = InstanceStatus.valueOf(processInstanceEntity.getStatus());
processInstance.setStatus(processStatus);
processInstance.setStartTime(processInstanceEntity.getGmtCreate());
String processDefinitionIdAndVersion = processInstanceEntity.getProcessDefinitionIdAndVersion();
processInstance.setProcessDefinitionIdAndVersion(processDefinitionIdAndVersion);
processInstance.setProcessDefinitionId(StringUtil.substringBefore(processDefinitionIdAndVersion,":"));
processInstance.setProcessDefinitionVersion(StringUtil.substringAfter(processDefinitionIdAndVersion,":"));
processInstance.setSuspend(InstanceStatus.suspended.equals(processStatus) );
processInstance.setStartUserId(processInstanceEntity.getStartUserId());
processInstance.setProcessDefinitionType(processInstanceEntity.getProcessDefinitionType());
processInstance.setReason(processInstanceEntity.getReason());
processInstance.setBizUniqueId(processInstanceEntity.getBizUniqueId());
//TUNE 还是叫做更新时间比较好一点,是否完成等 还是根据status 去判断.
processInstance.setCompleteTime(processInstanceEntity.getGmtModified());
processInstance.setInstanceId(processInstanceEntity.getId().toString());
processInstance.setTag(processInstanceEntity.getTag());
processInstance.setTitle(processInstanceEntity.getTitle());
processInstance.setComment(processInstanceEntity.getComment());
return processInstance;
}