]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionThread.java
Improve executions and system calls
[gpl/argeo-slc.git] / runtime / org.argeo.slc.core / src / main / java / org / argeo / slc / core / execution / ExecutionThread.java
index 3c85055f816dfa8efcda98a93677085e170ef27e..f1ebde364142d7db5cfa91085b7750d9ac208cd8 100644 (file)
@@ -14,6 +14,8 @@ import org.argeo.slc.process.SlcExecutionStep;
 
 /** Thread of a single execution */
 public class ExecutionThread extends Thread {
+       public final static String SYSPROP_EXECUTION_AUTO_UPGRADE = "slc.execution.autoupgrade";
+
        private final static Log log = LogFactory.getLog(ExecutionThread.class);
 
        private final RealizedFlow realizedFlow;
@@ -43,6 +45,11 @@ public class ExecutionThread extends Thread {
                                SlcExecutionStep.TYPE_PHASE_START, "Flow " + flowName));
 
                try {
+                       String autoUpgrade = System
+                                       .getProperty(SYSPROP_EXECUTION_AUTO_UPGRADE);
+                       if (autoUpgrade != null && autoUpgrade.equals("true"))
+                               processThread.getExecutionModulesManager().upgrade(
+                                               realizedFlow.getModuleNameVersion());
                        processThread.getExecutionModulesManager().execute(realizedFlow);
                } catch (Exception e) {
                        // TODO: re-throw exception ?