Improve SlcExecution notifications
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 5 May 2008 08:49:07 +0000 (08:49 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 5 May 2008 08:49:07 +0000 (08:49 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1121 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionRequestEp.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionStepsRequestEp.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CreateTreeTestResultRequestEp.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/ResultPartRequestEp.java

index 5978fc457c4b6752d55a8150d4d87e86e77db582..f92dbc68e6782e0c758f7d8ca5f32bd98faf1348 100644 (file)
@@ -2,9 +2,13 @@ package org.argeo.slc.ws.process;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+
+import org.argeo.slc.core.SlcException;
 import org.argeo.slc.core.process.SlcExecution;
 import org.argeo.slc.dao.process.SlcExecutionDao;
 import org.argeo.slc.msg.process.SlcExecutionRequest;
+import org.argeo.slc.msg.process.SlcExecutionStatusRequest;
+
 import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;
 
 public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint {
@@ -19,23 +23,37 @@ public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint {
 
        @Override
        protected Object invokeInternal(Object requestObject) throws Exception {
-               SlcExecutionRequest msg = (SlcExecutionRequest) requestObject;
-               SlcExecution slcExecution = msg.getSlcExecution();
-
-               if (slcExecutionDao.getSlcExecution(slcExecution.getUuid()) == null) {
-                       slcExecutionDao.create(slcExecution);
-
-                       if (log.isDebugEnabled())
-                               log.debug("Created SlcExecution with uuid "
-                                               + slcExecution.getUuid());
-               } else {
+               if (requestObject instanceof SlcExecutionRequest) {
+
+                       SlcExecutionRequest msg = (SlcExecutionRequest) requestObject;
+                       SlcExecution slcExecution = msg.getSlcExecution();
+
+                       if (slcExecutionDao.getSlcExecution(slcExecution.getUuid()) == null) {
+                               if (log.isDebugEnabled())
+                                       log.debug("Creating SlcExecution with uuid "
+                                                       + slcExecution.getUuid());
+
+                               slcExecutionDao.create(slcExecution);
+                       } else {
+                               if (log.isDebugEnabled())
+                                       log.debug("Updating SlcExecution with uuid "
+                                                       + slcExecution.getUuid());
+
+                               slcExecutionDao.update(slcExecution);
+                       }
+                       return null;
+
+               } else if (requestObject instanceof SlcExecutionStatusRequest) {
+                       SlcExecutionStatusRequest msg = (SlcExecutionStatusRequest) requestObject;
+                       SlcExecution slcExecution = slcExecutionDao.getSlcExecution(msg
+                                       .getSlcExecutionUuid());
+                       slcExecution.setStatus(msg.getNewStatus());
                        slcExecutionDao.update(slcExecution);
-
-                       if (log.isDebugEnabled())
-                               log.debug("Updated SlcExecution with uuid "
-                                               + slcExecution.getUuid());
+                       return null;
+               } else {
+                       throw new SlcException("Unrecognized request format: "
+                                       + requestObject.getClass());
                }
-               return null;
        }
 
 }
index bb28343f581a11c5555a9ed53b020166652bc7b8..36cf45a68f4dc3668d6dac3b35076e928a4b68d9 100644 (file)
@@ -44,10 +44,11 @@ public class SlcExecutionStepsRequestEp extends
                        }
                        slcExecution.getSteps().addAll(additionalSteps);
 
-                       slcExecutionDao.update(slcExecution);
-                       log.debug("Added " + msg.getSteps().size()
+                       log.debug("Adding " + msg.getSteps().size()
                                        + " steps to SlcExecution with uuid "
                                        + slcExecution.getUuid());
+
+                       slcExecutionDao.update(slcExecution);
                        return null;
                } catch (Exception e) {
                        log.error("Could not update SlcExecution " + uuid
index bf9bb4e318079f65a78b7205f71dcc79cf09d36c..8b8bd860a6107f9ec68b42123c6cf1bccb0b42a5 100644 (file)
@@ -22,11 +22,13 @@ public class CloseTreeTestResultRequestEp extends
        @Override
        protected Object invokeInternal(Object requestObject) throws Exception {
                CloseTreeTestResultRequest msg = (CloseTreeTestResultRequest) requestObject;
-               treeTestResultDao.close(msg.getResultUuid(), msg.getCloseDate());
-
+               
                if (log.isDebugEnabled())
-                       log.debug("Close result with id " + msg.getResultUuid()
+                       log.debug("Closing result with id " + msg.getResultUuid()
                                        + " at date " + msg.getCloseDate());
+
+               treeTestResultDao.close(msg.getResultUuid(), msg.getCloseDate());
+
                return null;
        }
 
index 0258021068438be7f2a110c154efd232f06e1dea..483250e6ad36968f7a9e5b80c42e329a3e415b6e 100644 (file)
@@ -25,10 +25,11 @@ public class CreateTreeTestResultRequestEp extends
                CreateTreeTestResultRequest msg = (CreateTreeTestResultRequest) requestObject;
                TreeTestResult treeTestResult = msg.getTreeTestResult();
 
+               if (log.isDebugEnabled())
+                       log.debug("Creating result with id " + treeTestResult.getUuid());
+
                treeTestResultDao.create(treeTestResult);
 
-               if (log.isDebugEnabled())
-                       log.debug("Created result with id " + treeTestResult.getUuid());
                return null;
        }
 
index 83425ae7b97e20df12fe8facf6f5da3356f8b156..7e73ff8315016aa79eb02e3d263ea09b18a6c2fc 100644 (file)
@@ -32,10 +32,11 @@ public class ResultPartRequestEp extends AbstractMarshallingPayloadEndpoint {
 
                TestRunDescriptor testRunDescriptor = msg.getTestRunDescriptor();
                if (testRunDescriptor != null) {
-                       testRunDescriptorDao.saveOrUpdate(testRunDescriptor);
                        if (log.isDebugEnabled())
-                               log.debug("Updated test run descriptor with id "
+                               log.debug("Updating test run descriptor with id "
                                                + testRunDescriptor.getTestRunUuid());
+
+                       testRunDescriptorDao.saveOrUpdate(testRunDescriptor);
                }
 
                TreeTestResult treeTestResult = treeTestResultDao.getTestResult(msg
@@ -52,10 +53,11 @@ public class ResultPartRequestEp extends AbstractMarshallingPayloadEndpoint {
                lst.getParts().add(msg.getResultPart());
                treeTestResult.getElements().putAll(msg.getRelatedElements());
 
+               if (log.isDebugEnabled())
+                       log.debug("Updating result with id " + treeTestResult.getUuid());
+
                treeTestResultDao.update(treeTestResult);
 
-               if (log.isDebugEnabled())
-                       log.debug("Update result with id " + treeTestResult.getUuid());
                return null;
        }