partly working security: registration form, authorization, simple authentification
[proteocache.git] / server / compbio / controllers / JobExecutionTimeController.java
index feee0dd..71843a9 100644 (file)
@@ -1,22 +1,18 @@
 package compbio.controllers;
 
+import java.security.Principal;
 import java.util.Calendar;
+import java.util.List;
 import java.util.Map;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.InitBinder;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
 
-import compbio.cassandra.DataBase;
 import compbio.statistic.CassandraRequester;
+import compbio.cassandra.DataBase;
 import compbio.statistic.StatisticsProt;
 
 /**
@@ -26,28 +22,39 @@ import compbio.statistic.StatisticsProt;
 @Controller
 public class JobExecutionTimeController {
 
-       @RequestMapping(value = "/exectime", method = RequestMethod.GET)
-       public String initFindForm(Map<String, Object> model) {
-               return "QueryTimeExecution";
+       @RequestMapping(value = "/stat/exectime/query", method = RequestMethod.GET)
+       public String initFindForm(Map<String, Object> model, Principal principal) {
+               model.put("username", principal.getName());
+               Calendar cal = Calendar.getInstance();
+               String date2 = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE);
+               cal.add(Calendar.DATE, -3);
+               String date1 = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE);
+
+               model.put("date1", date1);
+               model.put("date2", date2);
+               return "queryTimeExecution";
        }
 
-       @RequestMapping(value = "/exectime/query", method = RequestMethod.GET)
-       public String findSequence(@RequestParam("data1") String date1, @RequestParam("data2") String date2,
-                       @RequestParam(value="option", required=false) String option, Map<String, Object> model) {
+       @RequestMapping(value = "/stat/exectime/results", method = RequestMethod.GET)
+       public String findSequence(@RequestParam("date1") String date1, @RequestParam("date2") String date2,
+                       @RequestParam(value="option", required=false) String option, Map<String, Object> model, Principal principal) {
+               model.put("username", principal.getName());
                final long startTime = System.currentTimeMillis();
 
                CassandraRequester sp = new CassandraRequester();
-               if (option.equals("AllDates")) {
+               if (option.equals("AllDates,off")) {
                        Calendar cal = Calendar.getInstance();
                        date1 = StatisticsProt.DateFormatYYMMDD(sp.earliestDate());
                        date2 = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DAY_OF_MONTH);
                }
-               model.put("data1", date1);
-               model.put("data2", date2);
-               model.put("result", sp.extractExecutionTime(date1, date2));
-               model.put("flag", option);
+               model.put("date1", date1);
+               model.put("date2", date2);
+               model.put("option", option);
+               List<DataBase> res = sp.extractExecutionTime(date1, date2);
+               model.put("result", res);
+               model.put("ndays", res.size() - 1);
                final long endTime = System.currentTimeMillis();
                model.put("timeExecution", (endTime - startTime));
-               return "/ReportTimeExecution";
+               return "/reportTimeExecution";
        }
 }