public InternalWorkflowEvent(String type) { this.type = type; this.processBag = new ProcessBag(); }
private Set<Long> retrieveRelevantProcessInstanceIds(Event event, StatefulKnowledgeSession session) { Set<Long> processIds = new HashSet<Long>(); Long processIdFromEvent = event.getProcessId(); if (processIdFromEvent != null) { processIds.add(processIdFromEvent); processIds.addAll(getSubFlows(session.getProcessInstance(processIdFromEvent))); } if (event instanceof InternalWorkflowEvent) { ProcessBag bag = ((InternalWorkflowEvent) event).getProcessBag(); Long processIdFromBag = Long.parseLong(bag.getProcessId()); processIds.add(processIdFromBag); processIds.addAll(getSubFlows(session.getProcessInstance(processIdFromBag))); } return processIds; }
private void updateInRunningWorkflow(Task oldTask, Task task) { if (oldTask.getProcessId() == null) { return; } long id = Long.parseLong(oldTask.getProcessId()); ProcessBag bag = null; try { bag = workflowService.getProcessBagForInstance(id); } catch (IllegalArgumentException e) { return; } if (Objects.equal(oldTask, bag)) { bag.setProperties(task.getProperties()); } } }
@Override public Long call() { ProcessBag processBag = getProcessBag(); ProcessInstance processInstance = session.startProcess(processId, params); session.insert(processInstance); processBag.setProcessId(String.valueOf(processInstance.getId())); processInstance.signalEvent("FlowStartedEvent", null); return processInstance.getId(); }
public InternalWorkflowEvent() { this.processBag = new ProcessBag(); }
private ProcessBag getProcessBag() { ProcessBag processBag; if (!params.containsKey("processBag")) { processBag = new ProcessBag(); params.put("processBag", processBag); } else { processBag = (ProcessBag) params.get("processBag"); } return processBag; } }