public static void clearQueue(ProcessInstance processInstance, TaskStatus status) { processInstance.setStatus(status); processInstance.setQueueName(""); processInstance.setPermission(""); processInstance.setReadPermission(""); }
@Transactional public void processMessage(ProcessInstance processInstance, Message<?> message, MessageMapper messageMapper) { Object context = getContextDAO().getContext(processInstance.getObjectInstance()); processInstance.setStatus(TaskStatus.GO); try { messageMapper.unpackMessage(message, context); } catch (Exception e) { processInstance.setStatus(TaskStatus.ABORTING); processInstance.setComment(e.getMessage()); } log.debug("set status to processInstance {} to {} {}",processInstance.getId(),processInstance.getStatus(),context); getContextDAO().mergeContext(context); getWorkflowDAO().mergeProcessInstance(processInstance); getWorkflowDAO().flush(); if (log.isDebugEnabled()) { getWorkflowDAO().getActiveProcesses(); } }
public void finishLaunch(long processId) { ProcessInstance processInstance = getWorkflowDAO().findProcessInstance(processId); processInstance.setStatus(TaskStatus.GO); getWorkflowDAO().mergeProcessInstance(processInstance); getWorkflowDAO().flush(); }
public static void setQueue(ProcessInstance processInstance, QueueDefinition queue) { if (queue == null) { clearQueue(processInstance,TaskStatus.WAIT); return; } processInstance.setStatus(TaskStatus.WAIT); processInstance.setQueueName(queue.getName()); processInstance.setPermission(queue.getPermission()); processInstance.setReadPermission(queue.getReadPermission()); }
public void doAction() { String taskId = ProcessInstanceUtils.getTaskId(processInstance); ProcessInstance pi = getWorkflowDAO().refreshProcessInstance(processInstance); // if (log.isDebugEnabled()) { // log.debug("taskId {} ProcessInstanceUtils.getTaskId(pi) {} {}",taskId,ProcessInstanceUtils.getTaskId(pi),(!taskId.equals(ProcessInstanceUtils.getTaskId(pi)))); // log.debug("pi.getStatus() {} techSupport {} {}",pi.getStatus(),techSupport,((pi.getStatus() != TaskStatus.WAIT) && !techSupport)); // log.debug("pi.getStatus() {} userName {} pi.getLockedBy() {} {}",pi.getStatus(),userName,pi.getLockedBy(),(pi.getStatus() == TaskStatus.BUSY) && !userName.equals(pi.getLockedBy()) && !techSupport); // } if (!techSupport) { if (!(taskId.equals(ProcessInstanceUtils.getTaskId(pi)) && ((pi.getStatus() == TaskStatus.WAIT) || ((pi.getStatus() == TaskStatus.BUSY) && userName.equals(pi.getLockedBy()))))) { // // In this case we did not actually fail to get the lock but // // the process is not in the state // // it was in when we saw it in the table because another // // user (probably) has updated it. // // Therefore it is dangerous to proceed (unless we are tech support) throw new RuntimeException("ProcessInstance is already busy"); } } pi.setStatus(TaskStatus.BUSY); pi.setLockedBy(userName); TaskBase task = getCurrentTask(pi); Audit audit = createAudit(pi, task); getWorkflowDAO().mergeProcessInstance(pi); } });
m_processInstance.setStatus((m_launcher?TaskStatus.WAIT:TaskStatus.GO)); m_processInstance.setQueueName(null); m_processInstance.setLockedBy(null); if (processId != 0 && !isReadOnly()) { m_processInstance = getWorkflowManager().refresh(m_processInstance); m_processInstance.setStatus(TaskStatus.WAIT); m_processInstance.setLockedBy(null); save();
sibling.setStatus(TaskStatus.ABORTING); deferredEvent.setProcessInstance(sibling); deferredEvent.setComment("aborting sibling");
processInstance.setStatus(TaskStatus.GO); } else { processInstance.setStatus(TaskStatus.GO); for (ProcessInstance sibling: processInstance.getChildProcesses()) { if (sibling.getStatus() == TaskStatus.ABORTED) { processInstance.setStatus(TaskStatus.ABORTING); processInstance.setComment("Child aborted");
processInstance.setStatus(TaskStatus.DONE);