@Override public Long getParentObjectId() { return getProcessInstance().getId(); }
@Override public void onQueueAssigne(MutableBpmTask bpmTask) { Long processId = bpmTask.getProcessInstance().getId(); String taskIdString = bpmTask.getInternalTaskId(); /* There is at least one owner - creator by default */ for(String ownerLogin: bpmTask.getProcessInstance().getOwners()) updateUserProcessQueue(taskIdString, processId, ownerLogin, QueueType.OWN_IN_QUEUE); }
@Override public void onProcessFinished(ProcessInstance processInstance, BpmTask bpmTask) { /* Get all queue elements for given process id and delete them */ Long processId = processInstance.getId(); String creatorLogin = bpmTask.getCreator(); /* Create new queue element that is stored as finished process */ UserProcessQueue finishedProcess = new UserProcessQueue(); finishedProcess.setLogin(creatorLogin); finishedProcess.setProcessId(processId); finishedProcess.setQueueType(QueueType.OWN_FINISHED); finishedProcess.setTaskId(Long.parseLong(bpmTask.getInternalTaskId())); queueDao.saveOrUpdate(finishedProcess); }
protected ProcessInstance startProcessInstance(ProcessDefinitionConfig config, String externalKey, ProcessToolContext ctx, ProcessInstance pi) { ProcessEngine processEngine = getProcessEngine(); final RuntimeService execService = processEngine.getRuntimeService(); Map vars = new HashMap(); vars.put("processInstanceId", String.valueOf(pi.getId())); vars.put("initiator", user.getLogin()); for (ProcessInstanceAttribute pia : pi.getProcessAttributes()) { if (pia instanceof BpmVariable) { BpmVariable bpmVar = (BpmVariable) pia; if (hasText(bpmVar.getBpmVariableName())) { vars.put(bpmVar.getBpmVariableName(), bpmVar.getBpmVariableValue()); } } } org.activiti.engine.runtime.ProcessInstance instance = execService .startProcessInstanceByKey(config.getBpmDefinitionKey(), externalKey, vars); pi.setInternalId(instance.getId()); fillProcessAssignmentData(pi, ctx); return pi; }
private void processTaskAssigne(BpmTask bpmTask) Long processId = bpmTask.getProcessInstance().getId(); String taskIdString = bpmTask.getInternalTaskId();