package org.argeo.slc.web.mvc.result;\r
\r
-import java.util.List;\r
+import java.util.Comparator;\r
+import java.util.SortedSet;\r
+import java.util.TreeSet;\r
\r
import javax.servlet.http.HttpServletRequest;\r
import javax.servlet.http.HttpServletResponse;\r
\r
ModelAndView modelAndView = new ModelAndView();\r
\r
- List<TreeTestResult> results = testResultDao.listTestResults();\r
+ Comparator<TreeTestResult> comparator = new Comparator<TreeTestResult>() {\r
+\r
+ public int compare(TreeTestResult arg0, TreeTestResult arg1) {\r
+ if (arg0.getCloseDate() != null && arg1.getCloseDate() != null) {\r
+ return -arg0.getCloseDate().compareTo(arg1.getCloseDate());\r
+ } else if (arg0.getCloseDate() != null\r
+ && arg1.getCloseDate() == null) {\r
+ return 1;\r
+ } else if (arg0.getCloseDate() == null\r
+ && arg1.getCloseDate() != null) {\r
+ return -1;\r
+ } else {\r
+ return arg0.getUuid().compareTo(arg1.getUuid());\r
+ }\r
+ }\r
+ };\r
+ SortedSet<TreeTestResult> results = new TreeSet<TreeTestResult>(\r
+ comparator);\r
+ results.addAll(testResultDao.listTestResults());\r
modelAndView.addObject("results", results);\r
modelAndView.setViewName(getViewName());\r
return modelAndView;\r
--- /dev/null
+package org.argeo.slc.ws.test.tree;
+
+import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.argeo.slc.dao.test.tree.TreeTestResultDao;
+import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;
+
+public class CloseTreeTestResultRequestEp extends
+ AbstractMarshallingPayloadEndpoint {
+
+ private Log log = LogFactory.getLog(getClass());
+
+ private final TreeTestResultDao treeTestResultDao;
+
+ public CloseTreeTestResultRequestEp(TreeTestResultDao treeTestResultDao) {
+ this.treeTestResultDao = treeTestResultDao;
+ }
+
+ @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()
+ + " at date " + msg.getCloseDate());
+ return null;
+ }
+
+}