Introduce test descriptors
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 4 May 2008 17:18:09 +0000 (17:18 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 4 May 2008 17:18:09 +0000 (17:18 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1106 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/TestRunViewController.java [new file with mode: 0644]
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/ResultPartRequestEp.java

diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/TestRunViewController.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/TestRunViewController.java
new file mode 100644 (file)
index 0000000..8665ffe
--- /dev/null
@@ -0,0 +1,33 @@
+package org.argeo.slc.web.mvc.result;\r
+\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import org.springframework.web.servlet.ModelAndView;\r
+import org.springframework.web.servlet.mvc.ParameterizableViewController;\r
+\r
+import org.argeo.slc.core.test.TestRunDescriptor;\r
+import org.argeo.slc.dao.test.TestRunDescriptorDao;\r
+\r
+public class TestRunViewController extends ParameterizableViewController {\r
+       private final TestRunDescriptorDao testRunDescriptorDao;\r
+\r
+       public TestRunViewController(TestRunDescriptorDao testRunDescriptorDao) {\r
+               this.testRunDescriptorDao = testRunDescriptorDao;\r
+       }\r
+\r
+       @Override\r
+       protected ModelAndView handleRequestInternal(HttpServletRequest request,\r
+                       HttpServletResponse response) throws Exception {\r
+\r
+               String uuid = request.getParameter("uuid");\r
+               TestRunDescriptor testRunDescriptor = testRunDescriptorDao\r
+                               .getTestRunDescriptor(uuid);\r
+\r
+               ModelAndView modelAndView = new ModelAndView();\r
+               modelAndView.addObject("testRunDescriptor", testRunDescriptor);\r
+               modelAndView.setViewName(getViewName());\r
+               return modelAndView;\r
+       }\r
+\r
+}\r
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) {