From: Sasha Sherstnev Date: Fri, 10 Jan 2014 14:59:59 +0000 (+0000) Subject: Dummy controller for proteomes X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=327ae45bb41935947a918061771c27f7ac1ac7bd;p=proteocache.git Dummy controller for proteomes --- diff --git a/server/compbio/controllers/ProteomeController.java b/server/compbio/controllers/ProteomeController.java new file mode 100644 index 0000000..5974493 --- /dev/null +++ b/server/compbio/controllers/ProteomeController.java @@ -0,0 +1,92 @@ +package compbio.controllers; + +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.statistic.CassandraRequester; + +/** + * Spring controller for dealing with proteomes. This version works in the + * servlet style. + * + * @author Alexander Sherstnev + * @author Natasha Sherstneva + * + * @since 0.5 + * @version 1.0 December 2014 + */ +@Controller +@RequestMapping("/proteomes") +public class ProteomeController extends BasicController { + + @RequestMapping(value = "/load", method = RequestMethod.GET) + public String loadProteome(Map model) { + model.put("username", getPrincipalName()); + return "support/Notimplemented"; + } + + @RequestMapping(value = "view", method = RequestMethod.GET) + public String viewProteome(Map model) { + model.put("username", getPrincipalName()); + return "support/Notimplemented"; + } + + @RequestMapping(value = "launch", method = RequestMethod.GET) + public String launchjobProteome(Map model) { + model.put("username", getPrincipalName()); + return "support/Notimplemented"; + } + + @RequestMapping(value = "load/result", method = RequestMethod.GET) + public String countSequences(@RequestParam("TypeFeatures") String typeFeature, @RequestParam("Percent") String percent, + Map model) { + model.put("username", getPrincipalName()); + final long startTime = System.currentTimeMillis(); + + if (percent.equals("")) { + model.put("error", "The value must not be empty"); + model.put("type", typeFeature); + model.put("value", percent); + return "query/SSFeatures"; + } + + int realpercent; + try { + realpercent = Integer.parseInt(percent.trim()); + } catch (NumberFormatException e) { + model.put("error", "The value must be an integer number"); + model.put("value", percent); + return "query/SSFeatures"; + } + + if (realpercent < 1) { + model.put("error", "The value must be greater than 0"); + model.put("value", percent); + return "query/SSFeatures"; + } + + if (realpercent > 100) { + model.put("error", "The value must be less than 100"); + model.put("value", percent); + return "query/SSFeatures"; + } + + CassandraRequester cr = new CassandraRequester(); + Map r = cr.readProteinsPrediction(typeFeature, realpercent); + 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("feature", typeFeature); + model.put("percent", realpercent); + return "reportSSFeatures"; + } + +}