public ProcessInstance create()

in core/src/main/java/com/alibaba/smart/framework/engine/instance/factory/impl/DefaultProcessInstanceFactory.java [26:56]


    public ProcessInstance create( ProcessEngineConfiguration processEngineConfiguration,String processDefinitionId, String processDefinitionVersion, Map<String, Object> request) {
        DefaultProcessInstance defaultProcessInstance = new DefaultProcessInstance();
        IdGenerator idGenerator = processEngineConfiguration.getIdGenerator();

        idGenerator.generate(defaultProcessInstance);
        defaultProcessInstance.setStatus(InstanceStatus.running);
        defaultProcessInstance.setStartTime(DateUtil.getCurrentDate());

        defaultProcessInstance.setProcessDefinitionIdAndVersion(IdAndVersionUtil.buildProcessDefinitionKey(processDefinitionId,processDefinitionVersion));
        defaultProcessInstance.setProcessDefinitionId(processDefinitionId);
        defaultProcessInstance.setProcessDefinitionVersion(processDefinitionVersion);

        if (null != request) {
            String startUserId = ObjectUtil.obj2Str(request.get(RequestMapSpecialKeyConstant.PROCESS_INSTANCE_START_USER_ID));
            defaultProcessInstance.setStartUserId(startUserId);

            String processDefinitionType = ObjectUtil.obj2Str(request.get(RequestMapSpecialKeyConstant.PROCESS_DEFINITION_TYPE));
            defaultProcessInstance.setProcessDefinitionType(processDefinitionType);

            String bizUniqueId = ObjectUtil.obj2Str(request.get(RequestMapSpecialKeyConstant.PROCESS_BIZ_UNIQUE_ID));
            defaultProcessInstance.setBizUniqueId(bizUniqueId);

            String title = ObjectUtil.obj2Str(request.get(RequestMapSpecialKeyConstant.PROCESS_TITLE));
            defaultProcessInstance.setTitle(title);

            String comment = ObjectUtil.obj2Str(request.get(RequestMapSpecialKeyConstant.PROCESS_INSTANCE_COMMENT));
            defaultProcessInstance.setComment(comment);
        }

        return defaultProcessInstance;
    }