Improve visibility of the website
[proteocache.git] / server / compbio / controllers / IPDataController.java
1 package compbio.controllers;
2
3 import java.util.List;
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.cassandra.DataBase;
12 import compbio.statistic.CassandraRequester;
13
14 /**
15  * @author Alexander Sherstnev
16  * @author Natasha Sherstneva
17  */
18 @Controller
19 public class IPDataController {
20
21         @RequestMapping(value = "/ip/stat", method = RequestMethod.GET)
22         public String initStatisticsForm(Map<String, Object> model) {
23                 model.put("value", 5);
24                 return "queryIPStatistics";
25         }
26
27         @RequestMapping(value = "/ip", method = RequestMethod.GET)
28         public String initOneIPForm(Map<String, Object> model) {
29                 model.put("value", "127.0.0.1");
30                 return "queryIP";
31         }
32         
33         @RequestMapping(value = "/ip/stat/querycounter", method = RequestMethod.GET)
34         public String findIPwithCounter(@RequestParam("JobCounter") int counter, Map<String, Object> model) {
35                 
36                 if (counter < 1) {
37                         model.put("error", "The value must be greater than 0");
38                         model.put("value", counter);
39                         return "queryIPStatistics";
40                 }
41
42                 final long startTime = System.currentTimeMillis();
43                 CassandraRequester cr = new CassandraRequester();
44                 List<DataBase> r = cr.readIpByCounter(counter);
45                 model.put("results", r);
46                 model.put("njobs", 0);
47                 if (null != r) {
48                         model.put("njobs", r.size());
49                 }
50                 final long endTime = System.currentTimeMillis();
51                 model.put("timeExecution", (endTime - startTime));
52                 model.put("counter", counter);
53                 return "reportIPstatistics";
54         }
55
56         @RequestMapping(value = "/ip/query", method = RequestMethod.GET)
57         public String findIP(@RequestParam("ip") String ip, Map<String, Object> model) {
58                 final long startTime = System.currentTimeMillis();
59                 CassandraRequester cr = new CassandraRequester();
60                 List<DataBase> r = cr.readIp(ip);
61                 model.put("results", r);
62                 model.put("njobs", 0);
63                 if (null != r) {
64                         model.put("njobs", r.size());
65                 }
66                 final long endTime = System.currentTimeMillis();
67                 model.put("timeExecution", (endTime - startTime));
68                 model.put("ip", ip);
69                 return "reportIP";
70         }
71 }