package org.argeo.slc.core.runtime;
-import java.util.Properties;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.argeo.slc.execution.ExecutionModulesManager;
import org.argeo.slc.process.SlcExecution;
-import org.argeo.slc.runtime.SlcApplication;
-import org.argeo.slc.runtime.SlcExecutionContext;
public abstract class AbstractAgent {
- private final static Log log = LogFactory.getLog(AbstractAgent.class);
+// private final static Log log = LogFactory.getLog(AbstractAgent.class);
+
+ private ExecutionModulesManager modulesManager;
+ public final static String PROPERTY_SLC_AGENT_ID = "slc_agentId";
- private SlcApplication<SlcExecutionContext> slcApplication;
+ public void runSlcExecution(final SlcExecution slcExecution) {
+ modulesManager.process(slcExecution);
+ }
- protected void runSlcExecution(final SlcExecution slcExecution) {
- // TODO: in a separate process
- Thread thread = new Thread("SlcExecution " + slcExecution.getUuid()) {
- public void run() {
- slcApplication.execute(slcExecution, new Properties(), null,
- null);
- log.debug("Thread for SLC execution #" + slcExecution.getUuid()
- + " finished.");
- }
- };
- thread.start();
+ public void setModulesManager(ExecutionModulesManager modulesManager) {
+ this.modulesManager = modulesManager;
}
- public void setSlcApplication(
- SlcApplication<SlcExecutionContext> application) {
- this.slcApplication = application;
+ public ExecutionModulesManager getModulesManager() {
+ return modulesManager;
}
+
}