1 package compbio.controllers;
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;
11 import compbio.cassandra.TotalByCounterBean;
12 import compbio.cassandra.UserBean;
13 import compbio.statistic.CassandraRequester;
16 * @author Alexander Sherstnev
17 * @author Natasha Sherstneva
20 public class IPDataController extends BasicController {
22 @RequestMapping(value = "/admin/ip/counts/query", method = RequestMethod.GET)
23 public String initStatisticsForm(Map<String, Object> model) {
24 model.put("username", getPrincipalName());
25 model.put("value", 5);
26 return "query/IPStatistics";
29 @RequestMapping(value = "/admin/ip/query", method = RequestMethod.GET)
30 public String initOneIPForm(Map<String, Object> model) {
31 model.put("username", getPrincipalName());
32 model.put("value", "127.0.0.1");
36 @RequestMapping(value = "/admin/ip/counts/results", method = RequestMethod.GET)
37 public String findIPwithCounter(@RequestParam("JobCounter") String counter, Map<String, Object> model) {
38 model.put("username", getPrincipalName());
39 if (counter.equals("")) {
40 model.put("error", "The value must not be empty");
41 model.put("value", counter);
42 return "query/IPStatistics";
47 realcounter = Integer.parseInt(counter.trim());
48 } catch (NumberFormatException e) {
49 model.put("error", "The value must be an integer number");
50 model.put("value", counter);
51 return "query/IPStatistics";
54 if (realcounter < 1) {
55 model.put("error", "The value must be greater than 0");
56 model.put("value", counter);
57 return "query/IPStatistics";
60 final long startTime = System.currentTimeMillis();
61 CassandraRequester cr = new CassandraRequester();
62 List<TotalByCounterBean> r = cr.readIpByCounter(realcounter);
63 model.put("results", r);
64 model.put("njobs", 0);
66 model.put("njobs", r.size());
68 final long endTime = System.currentTimeMillis();
69 model.put("timeExecution", (endTime - startTime));
70 model.put("counter", realcounter);
71 return "reportIPstatistics";
74 @RequestMapping(value = "/admin/ip/results", method = RequestMethod.GET)
75 public String findIP(@RequestParam("ip") String ip, Map<String, Object> model) {
76 model.put("username", getPrincipalName());
77 final long startTime = System.currentTimeMillis();
78 CassandraRequester cr = new CassandraRequester();
79 UserBean r = cr.readIp(ip);
80 model.put("results", r);
81 model.put("njobs", 0);
83 model.put("njobs", r.getMainInfo().size());
85 final long endTime = System.currentTimeMillis();
86 model.put("timeExecution", (endTime - startTime));