@Override public ProcessInstance startProcessInstanceWithForm(String processDefinitionId, String outcome, Map<String, Object> variables, String processInstanceName) { ProcessInstanceBuilder processInstanceBuilder = createProcessInstanceBuilder() .processDefinitionId(processDefinitionId) .outcome(outcome) .startFormVariables(variables) .name(processInstanceName); return processInstanceBuilder.start(); }
@Override public String startProcessInstanceByKey(String processDefinitionKey, String predefinedProcessInstanceId, String planItemInstanceId, String tenantId, Boolean fallbackToDefaultTenant, Map<String, Object> inParametersMap) { ProcessInstanceBuilder processInstanceBuilder = processEngineConfiguration.getRuntimeService().createProcessInstanceBuilder(); processInstanceBuilder.processDefinitionKey(processDefinitionKey); if (tenantId != null) { processInstanceBuilder.tenantId(tenantId); processInstanceBuilder.overrideProcessDefinitionTenantId(tenantId); } processInstanceBuilder.predefineProcessInstanceId(predefinedProcessInstanceId); if (planItemInstanceId != null) { processInstanceBuilder.callbackId(planItemInstanceId); processInstanceBuilder.callbackType(CallbackTypes.PLAN_ITEM_CHILD_PROCESS); } for (String target : inParametersMap.keySet()) { processInstanceBuilder.variable(target, inParametersMap.get(target)); } if (fallbackToDefaultTenant != null && fallbackToDefaultTenant) { processInstanceBuilder.fallbackToDefaultTenant(); } ProcessInstance processInstance = processInstanceBuilder.start(); return processInstance.getId(); }