package compbio.controllers;
+import java.security.Principal;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
import org.springframework.web.bind.annotation.RequestParam;
import compbio.cassandra.ProteinBean;
-import compbio.cassandra.DataBase;
-import compbio.data.sequence.SequenceUtil;
import compbio.cassandra.TotalByCounterBean;
import compbio.statistic.CassandraRequester;
/**
- * Spring controller for sequence search. This version works in the servlet
+ * Spring controller for sequence queries. This version works in the servlet
* style.
*
* @author Alexander Sherstnev
* @version 1.0 December 2013
*/
@Controller
+@RequestMapping("/sequence")
public class SequenceController {
/**
*/
private final Pattern NONPROTEIN = Pattern.compile("[^ARNDCQEGHILKMFPSTWYV]+", Pattern.CASE_INSENSITIVE);
- @RequestMapping(value = "/sequence/query1", method = RequestMethod.GET)
- public String formSequenceQuery(Map<String, Object> model) {
+ @RequestMapping(value = "query", method = RequestMethod.GET)
+ public String formSequenceQuery(Map<String, Object> model, Principal principal) {
+ model.put("username", principal.getName());
model.put("value", "AAAAA");
return "queryProteinSequence";
}
- @RequestMapping(value = "/sequence/query2", method = RequestMethod.GET)
- public String formCounterQuery(Map<String, Object> model) {
+ @RequestMapping(value = "counts/query", method = RequestMethod.GET)
+ public String formCounterQuery(Map<String, Object> model, Principal principal) {
+ model.put("username", principal.getName());
model.put("value", 5);
return "queryProteinSequenceCounter";
}
- @RequestMapping(value = "/sequence/querysequence", method = RequestMethod.GET)
- public String findSequence(@RequestParam("sequence") String sequence, @RequestParam("protein") String flag, Map<String, Object> model) {
+ @RequestMapping(value = "sequence/results", method = RequestMethod.GET)
+ public String findSequence(@RequestParam("sequence") String sequence, @RequestParam("protein") String flag, Map<String, Object> model,
+ Principal principal) {
+ model.put("username", principal.getName());
final long startTime = System.currentTimeMillis();
// input checks
return "reportProteinSequences";
}
- @RequestMapping(value = "/sequence/querycounter", method = RequestMethod.GET)
- public String countSequences(@RequestParam("counterJob") String counter, Map<String, Object> model) {
+ @RequestMapping(value = "counts/results", method = RequestMethod.GET)
+ public String countSequences(@RequestParam("counterJob") String counter, Map<String, Object> model, Principal principal) {
+ model.put("username", principal.getName());
final long startTime = System.currentTimeMillis();
if (counter.equals("")) {