Notify directly the new execution
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 6 May 2009 20:58:18 +0000 (20:58 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 6 May 2009 20:58:18 +0000 (20:58 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2411 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/process/NewSlcExecutionController.java
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/WEB-INF/osgi.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/WEB-INF/slc-service-servlet.xml

index 0540bae29dbace245dd4ba863c82072c9e227c0f..2e19764e6bb1f38f9c5410c697f19f95fd89e8c2 100644 (file)
@@ -11,6 +11,7 @@ import org.argeo.slc.msg.MsgConstants;
 import org.argeo.slc.process.SlcExecution;\r
 import org.argeo.slc.runtime.SlcAgent;\r
 import org.argeo.slc.runtime.SlcAgentFactory;\r
+import org.argeo.slc.services.process.SlcExecutionService;\r
 import org.argeo.slc.web.mvc.AbstractServiceController;\r
 import org.springframework.oxm.Unmarshaller;\r
 import org.springframework.web.servlet.ModelAndView;\r
@@ -23,15 +24,16 @@ public class NewSlcExecutionController extends AbstractServiceController {
 \r
        private SlcAgentFactory agentFactory;\r
        private Unmarshaller unmarshaller;\r
+       private SlcExecutionService slcExecutionService;\r
 \r
        @Override\r
        protected void handleServiceRequest(HttpServletRequest request,\r
                        HttpServletResponse response, ModelAndView modelAndView)\r
                        throws Exception {\r
-               \r
-               if(log.isDebugEnabled()){\r
-                       log.debug("Content-Type: "+request.getContentType());\r
-                       log.debug("Content-Length: "+request.getContentLength());\r
+\r
+               if (log.isTraceEnabled()) {\r
+                       log.debug("Content-Type: " + request.getContentType());\r
+                       log.debug("Content-Length: " + request.getContentLength());\r
                }\r
 \r
                String agentId = request\r
@@ -43,19 +45,22 @@ public class NewSlcExecutionController extends AbstractServiceController {
                        BufferedReader reader = request.getReader();\r
                        StringBuffer buffer = new StringBuffer();\r
                        String line = null;\r
-                       while (((line = reader.readLine())!=null)) {\r
+                       while (((line = reader.readLine()) != null)) {\r
                                buffer.append(line);\r
                        }\r
                        answer = buffer.toString();\r
                }\r
 \r
-               if (log.isDebugEnabled())\r
+               if (log.isTraceEnabled())\r
                        log.debug("Received message:\n" + answer);\r
 \r
                StringSource source = new StringSource(answer);\r
                SlcExecution slcExecution = (SlcExecution) unmarshaller\r
                                .unmarshal(source);\r
 \r
+               slcExecution.setStatus(SlcExecution.STATUS_SCHEDULED);\r
+               slcExecutionService.newExecution(slcExecution);\r
+\r
                SlcAgent agent = agentFactory.getAgent(agentId);\r
                agent.runSlcExecution(slcExecution);\r
        }\r
@@ -68,4 +73,8 @@ public class NewSlcExecutionController extends AbstractServiceController {
                this.agentFactory = agentFactory;\r
        }\r
 \r
+       public void setSlcExecutionService(SlcExecutionService slcExecutionService) {\r
+               this.slcExecutionService = slcExecutionService;\r
+       }\r
+\r
 }\r
index 461f8896387ef93a840cec18ed87af0ce97f9a46..b2b4a0ca25c854ac2325bae105230535ef57c42d 100644 (file)
@@ -26,6 +26,7 @@
        <reference id="testManagerService"\r
                interface="org.argeo.slc.services.test.TestManagerService" />\r
        <reference id="agentService" interface="org.argeo.slc.services.runtime.AgentService" />\r
+       <reference id="slcExecutionService" interface="org.argeo.slc.services.process.SlcExecutionService" />\r
 \r
        <reference id="hibernateTransactionManager"\r
                interface="org.springframework.transaction.PlatformTransactionManager"\r
index eb90e301511cea61394f4c5a48027567a2ae2e51..2de1cd8d58d644220f850d7ed25495aeae439547 100644 (file)
@@ -59,6 +59,7 @@
                class="org.argeo.slc.web.mvc.process.NewSlcExecutionController">
                <property name="agentFactory" ref="agentFactory" />
                <property name="unmarshaller" ref="slcDefault.castor.marshaller" />
+               <property name="slcExecutionService" ref="slcExecutionService" />
        </bean>
 
        <bean name="/getExecutionDescriptor.service" class="org.argeo.slc.web.mvc.execution.GetModuleDescriptor">