private boolean isProcessTerminated(Process proc) { ProcessStatus status = proc.getProcessStatus(); return status == ProcessStatus.Cancelled || status == ProcessStatus.Completed || status == ProcessStatus.Aborted; }
@Override public ProcessStatus waitForEnd(Process proc) { return proc.getProcessStatus(); }
public String toString() { return "RuntimeProcess[" + proc.getName() + ",status=" + proc.getProcessStatus() + "]"; } }
/** * Find the set of Processes for a given name * * @param name The process name * @param status The optional process status * @return An empty set if the process cannot be found */ public Set<Process> getProcesses(String name, Process.ProcessStatus status) { Set<Process> procSet = new HashSet<Process>(); for (Process aux : procs.values()) { if (aux.getName().equals(name)) { if (status == null || aux.getProcessStatus() == status) procSet.add(aux); } } return procSet; }
public void catchSignal(Signal signal) { log.debug("catchSignal: " + signal); ProcessStatus procStatus = proc.getProcessStatus(); if (procStatus == ProcessStatus.Ready || procStatus == ProcessStatus.Active) { log.debug("Start process from signal: " + signal); ExecutionManager exManager = ExecutionManager.locateExecutionManager(); exManager.startProcess(start, null); } else { log.debug("Ignore start signal for process: " + proc); } }
public void start(Token token) { synchronized (runnableTokens) { ProcessStatus procStatus = getProcess(token).getProcessStatus(); if (procStatus != ProcessStatus.Ready && procStatus != ProcessStatus.Active) throw new IllegalStateException("Cannot start token to process in state: " + procStatus); log.debug("Sart Token: " + token); MutableToken mutableToken = (MutableToken)token; mutableToken.setTokenStatus(TokenStatus.Started); RunnableToken rtToken = runnableTokens.get(token.getTokenID()); executor.submit(rtToken); } }
@Override public void startProcess(Process proc, Attachments att) { // Prepare the process for start startProcessPrepare(proc); // Get the None Start Event if there is one and start the initial flow StartEvent start = getNoneStartEvent(proc); if (start != null) { if (proc.getProcessStatus() == ProcessStatus.Active) throw new IllegalStateException("Cannot start an already active process"); startProcessInternal(start, att); } }
private void startProcessPrepare(Process proc) { // Reset the process if already terminated ProcessImpl procImpl = (ProcessImpl)proc; if (isProcessTerminated(proc)) procImpl.resetProcess(); ProcessStatus procStatus = proc.getProcessStatus(); if (procStatus != ProcessStatus.Ready && procStatus != ProcessStatus.Active) throw new IllegalStateException("Cannot start process in state: " + procStatus); // Register the process if needed ProcessManager pm = ProcessManager.locateProcessManager(); if (pm.getProcessByID(proc.getID()) == null) pm.registerProcess(proc); }
ProcessStatus status = proc.getProcessStatus(); if (status == ProcessStatus.None) throw new IllegalStateException("Cannot wait for process in state: " + status); status = proc.getProcessStatus(); return status;
log.debug("End execution thread [proc=" + procName + ",status=" + proc.getProcessStatus() + "]"); if (proc.getProcessStatus() == ProcessStatus.Active) procImpl.setProcessStatus(ProcessStatus.Completed);
ProcessStatus procStatus = proc.getProcessStatus(); while (procStatus == ProcessStatus.Active && tokStatus == TokenStatus.Started) procStatus = proc.getProcessStatus();
synchronized (proc) while (proc.getProcessStatus() != ProcessStatus.Active)