private ProcessInstance buildProcessInstanceFromEntity()

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;
    }