a1642eed0d105bf1680c0de550f23eab69bc9de2
[proteocache.git] / server / compbio / controllers / SequenceSearchController.java
1
2 package compbio.controllers;
3
4
5 import java.util.List;
6 import java.util.Map;
7
8 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Controller;
10 import org.springframework.validation.BindingResult;
11 import org.springframework.web.bind.WebDataBinder;
12 import org.springframework.web.bind.annotation.InitBinder;
13 import org.springframework.web.bind.annotation.ModelAttribute;
14 import org.springframework.web.bind.annotation.PathVariable;
15 import org.springframework.web.bind.annotation.RequestMapping;
16 import org.springframework.web.bind.annotation.RequestMethod;
17 import org.springframework.web.bind.annotation.RequestParam;
18
19 import compbio.cassandra.DataBase;
20
21 import compbio.statistic.CassandraRequester;
22
23 /**
24  * @author Alexander Sherstnev
25  * @author Natasha Sherstneva
26  */
27 @Controller
28 public class SequenceSearchController {
29
30         @RequestMapping(value = "/sequence", method = RequestMethod.GET)
31         public String initFindForm(Map<String, Object> model) {
32                 return "QuerySequenceProtein";
33         }
34
35         @RequestMapping(value = "/sequence/query", method = RequestMethod.GET)
36         public String findSequence(@RequestParam("prot") String prot, @RequestParam("protein") String flag,
37                         @RequestParam("Search") String search, @RequestParam("counterJob") int counter, Map<String, Object> model) {
38                 final long startTime = System.currentTimeMillis();
39                 CassandraRequester cr = new CassandraRequester();
40                 if (search.equals("SearchCounter")) {
41                         List<DataBase> r = cr.readProteinByCounter(counter);
42                         model.put("results", r);
43                         model.put("njobs", r.size());
44                         System.out.println("Search counter = " + counter + ": " + r.size() + " proteins found");
45                 } else {
46                         List<DataBase> r = cr.readProteins(prot, flag);
47                         model.put("results", r);
48                         model.put("njobs", r.size());
49                         //System.out.println("Search sequence: " + r.size() + " proteins found");
50                 }
51                 final long endTime = System.currentTimeMillis();
52                 model.put("timeExecution", (endTime - startTime));
53                 model.put("prot", prot);
54                 model.put("flag", flag);
55                 model.put("search", search);
56                 model.put("counter", counter);
57                 return "ReportSequenceProtein";
58         }
59
60 }