--- /dev/null
+package compbio.controllers;
+
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import compbio.cassandra.DataBase;
+
+import compbio.statistic.CassandraRequester;
+
+/**
+ * @author Alexander Sherstnev
+ * @author Natasha Sherstneva
+ */
+@Controller
+public class SequenceController {
+
+ @RequestMapping(value = "/sequence/query1", method = RequestMethod.GET)
+ public String formSequenceQuery(Map<String, Object> model) {
+ model.put("value", "AAAAA");
+ return "queryProteinSequence";
+ }
+
+ @RequestMapping(value = "/sequence/query2", method = RequestMethod.GET)
+ public String formCounterQuery(Map<String, Object> model) {
+ 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) {
+ final long startTime = System.currentTimeMillis();
+
+ 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();
+
+ if (counter < 1) {
+ model.put("error", "The value must be greater than 0");
+ model.put("value", counter);
+ return "queryProteinSequenceCounter";
+ }
+
+ 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());
+ }
+ final long endTime = System.currentTimeMillis();
+ model.put("timeExecution", (endTime - startTime));
+ model.put("counter", counter);
+ return "reportProteinSequencesCounter";
+ }
+
+}