public static String getTaskId(ProcessInstance processInstance) { return processInstance.getProcessDefinitionName()+"/"+processInstance.getTaskId(); }
@Transactional public List<ProcessInstance> getAllProcesses() { log.debug("getAllProcesses"); Query query = m_entityManager.createQuery("SELECT c FROM nz.co.senanque.workflow.instances.ProcessInstance c"); @SuppressWarnings("unchecked") List<ProcessInstance> result = query.getResultList(); if (log.isDebugEnabled()) { log.debug("----------all processInstances ---------------"); for (ProcessInstance processInstance:result) { log.debug("processInstanceId={} processName={} taskId={} status={}",processInstance.getId(),processInstance.getProcessDefinitionName(),processInstance.getTaskId(), processInstance.getStatus()); } log.debug("found {} processes",result.size()); log.debug("----------------------------------------------"); } return result; }
@Override public TaskBase getCurrentTask(ProcessInstance processInstance) { if (processInstance == null) { throw new NullPointerException("processInstance was null"); } return getTask(processInstance.getProcessDefinitionName(),processInstance.getTaskId()); }
@Transactional public List<ProcessInstance> getActiveProcesses() { if (log.isDebugEnabled()) { getAllProcesses(); } Query query = m_entityManager.createNamedQuery("ActiveProcesses"); @SuppressWarnings("unchecked") List<ProcessInstance> result = query.getResultList(); if (log.isDebugEnabled()) { for (ProcessInstance processInstance:result) { log.debug("processInstanceId={} processName={} taskId={} status={}",processInstance.getId(),processInstance.getProcessDefinitionName(),processInstance.getTaskId(), processInstance.getStatus()); } log.debug("found {} active processes",result.size()); } return result; }
ret.append(processInstance.getId()); ret.append(" processName: "); ret.append(processInstance.getProcessDefinitionName()); ret.append(" status: "); ret.append(processInstance.getStatus());
protected void launchOneCyclicSubprocess(ProcessInstance processInstance) { ProcessInstance subProcess = new ProcessInstance(); subProcess.setBundleName(processInstance.getBundleName()); getSubProcess().startProcess(subProcess); processInstance.getChildProcesses().add(subProcess); subProcess.setObjectInstance(processInstance.getObjectInstance()); subProcess.setParentProcess(processInstance); log.debug("subprocess launched: {}",subProcess.getProcessDefinitionName()); ProcessInstanceUtils.clearQueue(processInstance); processInstance.setWaitCount(1); log.debug("subprocess launched for: {} {}",processInstance.getProcessDefinitionName(),processInstance.getId()); }
public boolean execute(ProcessInstance processInstance) { log.debug("{}",this); for (ProcessDefinition subProcess:m_subProcess) { ProcessInstance subprocessInstance = new ProcessInstance(); subprocessInstance.setBundleName(processInstance.getBundleName()); subProcess.startProcess(subprocessInstance); processInstance.getChildProcesses().add(subprocessInstance); subprocessInstance.setObjectInstance(processInstance.getObjectInstance()); subprocessInstance.setParentProcess(processInstance); log.debug("subprocess launched: {}",subprocessInstance.getProcessDefinitionName()); } ProcessInstanceUtils.clearQueue(processInstance); processInstance.setWaitCount(m_subProcess.size()); log.debug("{} subprocesses launched for: {} {}",processInstance.getWaitCount(),processInstance.getProcessDefinitionName(),processInstance.getId()); return false; }
private Audit tidyAuditTrail(ProcessInstance processInstance, long taskId) { boolean found = false; Audit ret = null; for (Audit audit: processInstance.getAudits()) { if (audit.getProcessDefinitionName() != null && processInstance.getProcessDefinitionName().equals(audit.getProcessDefinitionName()) && processInstance.getTaskId() == taskId ) { found = true; ret = audit; } else if (found) { audit.setHandler(false); } } return ret; } private void dumpAuditTrail(ProcessInstance processInstance) {
public boolean execute(ProcessInstance processInstance) { log.debug("{}",this); WorkflowManager workflowManager = getOwnerProcess().getWorkflowManager(); List<?> list = (List<?>)workflowManager.getField(processInstance, getFd()); if (!list.isEmpty()) { for (Object o:list) { ProcessInstance subProcess = new ProcessInstance(); subProcess.setBundleName(processInstance.getBundleName()); getSubProcess().startProcess(subProcess); processInstance.getChildProcesses().add(subProcess); subProcess.setObjectInstance(workflowManager.createContextDescriptor(o)); subProcess.setParentProcess(processInstance); log.debug("subprocess launched: {}",subProcess.getProcessDefinitionName()); } ProcessInstanceUtils.clearQueue(processInstance); processInstance.setWaitCount(list.size()); log.debug("{} subprocesses launched for: {} {}",processInstance.getWaitCount(),processInstance.getProcessDefinitionName(),processInstance.getId()); } return false; } }
public WorkflowForm getCurrentForm(ProcessInstance processInstance) { ProcessDefinition processDefinition = getProcessDefinition(processInstance.getProcessDefinitionName()); String formName = processDefinition.getLaunchForm(); boolean readOnly = true; TaskBase task = getCurrentTask(processInstance); if ((task instanceof TaskForm)) { formName = ((TaskForm)task).getFormName(); readOnly = false; } WorkflowForm workflowForm = m_formFactory.getForm(formName); Object context = getContext(processInstance.getObjectInstance()); workflowForm.setProcessDefinition(processDefinition); workflowForm.setProcessInstance(processInstance); workflowForm.setContext(context); workflowForm.setReadOnly(readOnly); workflowForm.bind(); return workflowForm; } public ContextDAO getContextDAO() {
theProcessDefinitionName = this.getProcessDefinitionName(); strategy.appendField(locator, this, "processDefinitionName", buffer, theProcessDefinitionName);
lhsProcessDefinitionName = this.getProcessDefinitionName(); String rhsProcessDefinitionName; rhsProcessDefinitionName = that.getProcessDefinitionName(); if (!strategy.equals(LocatorUtils.property(thisLocator, "processDefinitionName", lhsProcessDefinitionName), LocatorUtils.property(thatLocator, "processDefinitionName", rhsProcessDefinitionName), lhsProcessDefinitionName, rhsProcessDefinitionName)) { return false;
theProcessDefinitionName = this.getProcessDefinitionName(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "processDefinitionName", theProcessDefinitionName), currentHashCode, theProcessDefinitionName);