]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/execution/JcrAgent.java
Working command line SLC
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / execution / JcrAgent.java
index 5febc792c44e9ce7b19a0a84428973b180c5863d..a7f5b7747543b8e6c6a4fd7687ab39693833f393 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2012 Mathieu Baudier
+ * Copyright (C) 2007-2012 Argeo GmbH
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
  */
 package org.argeo.slc.jcr.execution;
 
-import java.util.List;
 import java.util.UUID;
 
 import javax.jcr.Node;
@@ -25,22 +24,19 @@ import javax.jcr.Session;
 
 import org.argeo.jcr.JcrUtils;
 import org.argeo.slc.SlcException;
+import org.argeo.slc.core.execution.DefaultAgent;
 import org.argeo.slc.core.execution.ProcessThread;
-import org.argeo.slc.core.runtime.DefaultAgent;
 import org.argeo.slc.execution.ExecutionModulesManager;
 import org.argeo.slc.execution.ExecutionProcess;
 import org.argeo.slc.jcr.SlcJcrConstants;
 import org.argeo.slc.jcr.SlcNames;
 import org.argeo.slc.jcr.SlcTypes;
-import org.argeo.slc.runtime.SlcAgent;
-import org.argeo.slc.runtime.SlcAgentFactory;
 
 /** SLC VM agent synchronizing with a JCR repository. */
-public class JcrAgent extends DefaultAgent implements SlcAgentFactory, SlcNames {
+public class JcrAgent extends DefaultAgent implements SlcNames {
        private Repository repository;
 
-       /** only one agent per VM is currently supported */
-       private final String agentNodeName = "default";
+       private String agentNodeName = "default";
 
        /*
         * LIFECYCLE
@@ -81,22 +77,12 @@ public class JcrAgent extends DefaultAgent implements SlcAgentFactory, SlcNames
        protected ProcessThread createProcessThread(
                        ThreadGroup processesThreadGroup,
                        ExecutionModulesManager modulesManager, ExecutionProcess process) {
-               return new JcrProcessThread(processesThreadGroup, modulesManager,
-                               (JcrExecutionProcess) process);
-       }
-
-       /*
-        * SLC AGENT FACTORY
-        */
-       public SlcAgent getAgent(String uuid) {
-               if (!uuid.equals(getAgentUuid()))
-                       throw new SlcException("Internal UUID " + getAgentUuid()
-                                       + " is different from argument UUID " + uuid);
-               return this;
-       }
-
-       public void pingAll(List<String> activeAgentIds) {
-               ping();
+               if (process instanceof JcrProcessThread)
+                       return new JcrProcessThread(processesThreadGroup, modulesManager,
+                                       (JcrExecutionProcess) process);
+               else
+                       return super.createProcessThread(processesThreadGroup,
+                                       modulesManager, process);
        }
 
        /*
@@ -117,4 +103,8 @@ public class JcrAgent extends DefaultAgent implements SlcAgentFactory, SlcNames
                this.repository = repository;
        }
 
+       public void setAgentNodeName(String agentNodeName) {
+               this.agentNodeName = agentNodeName;
+       }
+
 }