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 style.
+ * Spring controller for sequence queries. This version works in the servlet
+ * style.
*
* @author Alexander Sherstnev
* @author Natasha Sherstneva
* @version 1.0 December 2013
*/
@Controller
+@RequestMapping("/sequence")
public class SequenceController {
-
+
/**
- * pattern for NON-protein alphabet symbols
+ * pattern for NON-protein alphabet symbols
*/
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
model.put("results", r);
if (null != r) {
if (flag.equals("whole"))
- model.put("njobs",r.get(0).getJobid().size());
+ model.put("njobs", r.get(0).getJobid().size());
else
model.put("njobs", r.size());
}
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("")) {
}
CassandraRequester cr = new CassandraRequester();
- List<DataBase> r = cr.readProteinByCounter(realcounter);
+ List<TotalByCounterBean> r = cr.readProteinByCounter(realcounter);
model.put("results", r);
model.put("njobs", 0);
if (null != r) {