Convert servlets into Spring controllers
[proteocache.git] / server / compbio / controllers / SequenceSearchController.java
index a1642ee..53bfcfc 100644 (file)
@@ -1,17 +1,9 @@
-
 package compbio.controllers;
 
-
 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;
@@ -27,34 +19,54 @@ import compbio.statistic.CassandraRequester;
 @Controller
 public class SequenceSearchController {
 
-       @RequestMapping(value = "/sequence", method = RequestMethod.GET)
-       public String initFindForm(Map<String, Object> model) {
-               return "QuerySequenceProtein";
+       @RequestMapping(value = "/sequence/query1", method = RequestMethod.GET)
+       public String formSequenceQuery(Map<String, Object> model) {
+               return "queryProteinSequence";
        }
 
-       @RequestMapping(value = "/sequence/query", method = RequestMethod.GET)
-       public String findSequence(@RequestParam("prot") String prot, @RequestParam("protein") String flag,
-                       @RequestParam("Search") String search, @RequestParam("counterJob") int counter, Map<String, Object> model) {
+       @RequestMapping(value = "/sequence/query2", method = RequestMethod.GET)
+       public String formCounterQuery(Map<String, Object> model) {
+               return "queryProteinSequenceCounter";
+       }
+       
+       @RequestMapping(value = "/sequence/querysequence", method = RequestMethod.GET)
+       public String findSequence(@RequestParam("sequence") String sequence, @RequestParam("protein") String flag, Map<String, Object> model) {
                final long startTime = System.currentTimeMillis();
-               CassandraRequester cr = new CassandraRequester();
-               if (search.equals("SearchCounter")) {
-                       List<DataBase> r = cr.readProteinByCounter(counter);
-                       model.put("results", r);
-                       model.put("njobs", r.size());
-                       System.out.println("Search counter = " + counter + ": " + r.size() + " proteins found");
-               } else {
-                       List<DataBase> r = cr.readProteins(prot, flag);
+
+               String trimmedsequence = sequence.replaceAll("\\s", "");
+               model.put("njobs", 0);
+               model.put("prot", trimmedsequence);
+               model.put("flag", flag);
+
+               if (0 < trimmedsequence.length()) {
+                       CassandraRequester cr = new CassandraRequester();
+                       List<DataBase> r = cr.readProteins(trimmedsequence, flag);
                        model.put("results", r);
+                       if (null != r) {
+                               System.out.println("result size = " + r.size());
+                               model.put("njobs", r.size());
+                       }
+               }
+               final long endTime = System.currentTimeMillis();
+               model.put("timeExecution", (endTime - startTime));
+               return "reportProteinSequences";
+       }
+
+       @RequestMapping(value = "/sequence/querycounter", method = RequestMethod.GET)
+       public String countSequences(@RequestParam("counterJob") int counter, Map<String, Object> model) {
+               final long startTime = System.currentTimeMillis();
+
+               CassandraRequester cr = new CassandraRequester();
+               List<DataBase> r = cr.readProteinByCounter(counter);
+               model.put("results", r);
+               model.put("njobs", 0);
+               if (null != r) {
                        model.put("njobs", r.size());
-                       //System.out.println("Search sequence: " + r.size() + " proteins found");
                }
                final long endTime = System.currentTimeMillis();
                model.put("timeExecution", (endTime - startTime));
-               model.put("prot", prot);
-               model.put("flag", flag);
-               model.put("search", search);
                model.put("counter", counter);
-               return "ReportSequenceProtein";
+               return "reportProteinSequencesCounter";
        }
 
 }