]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/ResultPartRequestEp.java
Introduce test descriptors
[gpl/argeo-slc.git] / org.argeo.slc.server / src / main / java / org / argeo / slc / ws / test / tree / ResultPartRequestEp.java
index 9fe4ccd6764e0142d2802004548cc3fdbc4a02c4..83425ae7b97e20df12fe8facf6f5da3356f8b156 100644 (file)
@@ -6,8 +6,10 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import org.argeo.slc.core.SlcException;
+import org.argeo.slc.core.test.TestRunDescriptor;
 import org.argeo.slc.core.test.tree.PartSubList;
 import org.argeo.slc.core.test.tree.TreeTestResult;
+import org.argeo.slc.dao.test.TestRunDescriptorDao;
 import org.argeo.slc.dao.test.tree.TreeTestResultDao;
 import org.argeo.slc.msg.test.tree.ResultPartRequest;
 
@@ -16,14 +18,26 @@ public class ResultPartRequestEp extends AbstractMarshallingPayloadEndpoint {
        private Log log = LogFactory.getLog(getClass());
 
        private final TreeTestResultDao treeTestResultDao;
+       private final TestRunDescriptorDao testRunDescriptorDao;
 
-       public ResultPartRequestEp(TreeTestResultDao treeTestResultDao) {
+       public ResultPartRequestEp(TreeTestResultDao treeTestResultDao,
+                       TestRunDescriptorDao testRunDescriptorDao) {
                this.treeTestResultDao = treeTestResultDao;
+               this.testRunDescriptorDao = testRunDescriptorDao;
        }
 
        @Override
        protected Object invokeInternal(Object requestObject) throws Exception {
                ResultPartRequest msg = (ResultPartRequest) requestObject;
+
+               TestRunDescriptor testRunDescriptor = msg.getTestRunDescriptor();
+               if (testRunDescriptor != null) {
+                       testRunDescriptorDao.saveOrUpdate(testRunDescriptor);
+                       if (log.isDebugEnabled())
+                               log.debug("Updated test run descriptor with id "
+                                               + testRunDescriptor.getTestRunUuid());
+               }
+
                TreeTestResult treeTestResult = treeTestResultDao.getTestResult(msg
                                .getResultUuid());
                if (treeTestResult == null) {