-
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;
@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";
}
}