X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2FProcessThread.java;h=ec600cb5776deeaa6a9020cba225f2c284d59ea0;hb=82da8aeebe37e93f26158678590f94341f8ea325;hp=678e6f679ae809322e81125b79fece1074489a50;hpb=a91feabac0f3f603a73936b4447599402fba71d0;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ProcessThread.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ProcessThread.java index 678e6f679..ec600cb57 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ProcessThread.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ProcessThread.java @@ -19,6 +19,8 @@ public class ProcessThread extends Thread { private final ThreadGroup processThreadGroup; private final List flowsToProcess = new ArrayList(); + private Boolean hadAnError = false; + public ProcessThread( AbstractExecutionModulesManager executionModulesManager, SlcExecution slcExecution) { @@ -53,9 +55,12 @@ public class ProcessThread extends Thread { } } - slcProcess.setStatus(SlcExecution.STATUS_FINISHED); + if (hadAnError) + slcProcess.setStatus(SlcExecution.STATUS_ERROR); + else + slcProcess.setStatus(SlcExecution.STATUS_FINISHED); dispatchUpdateStatus(slcProcess, SlcExecution.STATUS_RUNNING, - SlcExecution.STATUS_FINISHED); + slcProcess.getStatus()); } protected void dispatchUpdateStatus(SlcExecution slcExecution, @@ -66,6 +71,10 @@ public class ProcessThread extends Thread { } } + public void notifyError() { + hadAnError = true; + } + public synchronized void flowCompleted() { notifyAll(); }