]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultListController.java
Introduce close tree test result request
[gpl/argeo-slc.git] / org.argeo.slc.server / src / main / java / org / argeo / slc / web / mvc / result / ResultListController.java
1 package org.argeo.slc.web.mvc.result;
2
3 import java.util.Comparator;
4 import java.util.SortedSet;
5 import java.util.TreeSet;
6
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 import org.springframework.web.servlet.ModelAndView;
11 import org.springframework.web.servlet.mvc.ParameterizableViewController;
12
13 import org.argeo.slc.core.test.tree.TreeTestResult;
14 import org.argeo.slc.dao.test.tree.TreeTestResultDao;
15
16 public class ResultListController extends ParameterizableViewController {
17 private final TreeTestResultDao testResultDao;
18
19 public ResultListController(TreeTestResultDao testResultDao) {
20 this.testResultDao = testResultDao;
21 }
22
23 @Override
24 protected ModelAndView handleRequestInternal(HttpServletRequest request,
25 HttpServletResponse response) throws Exception {
26
27 ModelAndView modelAndView = new ModelAndView();
28
29 Comparator<TreeTestResult> comparator = new Comparator<TreeTestResult>() {
30
31 public int compare(TreeTestResult arg0, TreeTestResult arg1) {
32 if (arg0.getCloseDate() != null && arg1.getCloseDate() != null) {
33 return -arg0.getCloseDate().compareTo(arg1.getCloseDate());
34 } else if (arg0.getCloseDate() != null
35 && arg1.getCloseDate() == null) {
36 return 1;
37 } else if (arg0.getCloseDate() == null
38 && arg1.getCloseDate() != null) {
39 return -1;
40 } else {
41 return arg0.getUuid().compareTo(arg1.getUuid());
42 }
43 }
44 };
45 SortedSet<TreeTestResult> results = new TreeSet<TreeTestResult>(
46 comparator);
47 results.addAll(testResultDao.listTestResults());
48 modelAndView.addObject("results", results);
49 modelAndView.setViewName(getViewName());
50 return modelAndView;
51 }
52 }