Improve UI of the website
[proteocache.git] / server / compbio / controllers / JobExecutionTimeController.java
1 package compbio.controllers;
2
3 import java.util.Calendar;
4 import java.util.Map;
5
6 import org.springframework.stereotype.Controller;
7 import org.springframework.web.bind.annotation.RequestMapping;
8 import org.springframework.web.bind.annotation.RequestMethod;
9 import org.springframework.web.bind.annotation.RequestParam;
10
11 import compbio.statistic.CassandraRequester;
12 import compbio.statistic.StatisticsProt;
13
14 /**
15  * @author Alexander Sherstnev
16  * @author Natasha Sherstneva
17  */
18 @Controller
19 public class JobExecutionTimeController {
20
21         @RequestMapping(value = "/exectime", method = RequestMethod.GET)
22         public String initFindForm(Map<String, Object> model) {
23                 Calendar cal = Calendar.getInstance();
24                 String date2 = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE);
25                 cal.add(Calendar.DATE, -3);
26                 String date1 = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE);
27
28                 model.put("date1", date1);
29                 model.put("date2", date2);
30                 return "queryTimeExecution";
31         }
32
33         @RequestMapping(value = "/exectime/query", method = RequestMethod.GET)
34         public String findSequence(@RequestParam("date1") String date1, @RequestParam("date2") String date2,
35                         @RequestParam(value="option", required=false) String option, Map<String, Object> model) {
36                 final long startTime = System.currentTimeMillis();
37
38                 CassandraRequester sp = new CassandraRequester();
39                 if (option.equals("AllDates,off")) {
40                         Calendar cal = Calendar.getInstance();
41                         date1 = StatisticsProt.DateFormatYYMMDD(sp.earliestDate());
42                         date2 = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DAY_OF_MONTH);
43                 }
44                 model.put("date1", date1);
45                 model.put("date2", date2);
46                 model.put("option", option);
47                 model.put("result", sp.extractExecutionTime(date1, date2));
48                 final long endTime = System.currentTimeMillis();
49                 model.put("timeExecution", (endTime - startTime));
50                 return "/reportTimeExecution";
51         }
52 }