X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=server%2Fcompbio%2Fcontrollers%2FSSFeaturesController.java;h=ba81cab0acfa20752390867900915855845cd4eb;hb=8256bed38c0abeefe003adf6d9f126113f9cc5b3;hp=27015bbc95fb3fe4da9fa7e76bd560ef6df9730e;hpb=c15dbff6d660ba14d41407bebeceda4414f45068;p=proteocache.git diff --git a/server/compbio/controllers/SSFeaturesController.java b/server/compbio/controllers/SSFeaturesController.java index 27015bb..ba81cab 100644 --- a/server/compbio/controllers/SSFeaturesController.java +++ b/server/compbio/controllers/SSFeaturesController.java @@ -1,6 +1,5 @@ package compbio.controllers; -import java.util.List; import java.util.Map; import org.springframework.stereotype.Controller; @@ -8,8 +7,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import compbio.cassandra.ProteinBean; -import compbio.cassandra.TotalByCounterBean; import compbio.statistic.CassandraRequester; /** @@ -26,61 +23,71 @@ import compbio.statistic.CassandraRequester; @RequestMapping("/features") public class SSFeaturesController extends BasicController { - @RequestMapping(value = "query", method = RequestMethod.GET) - public String formCounterQuery(Map model) { - model.put("username", getPrincipalName()); - model.put("type", 'E'); - model.put("value", 80); + @RequestMapping(value = "query", method = RequestMethod.GET) + public String formCounterQuery(Map model) { + model.put("username", getPrincipalName()); + model.put("type", 'E'); + model.put("value", 50); + return "query/SSFeatures"; + } + + @RequestMapping(value = "results", 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"; } - - @RequestMapping(value = "features/results", 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"; - } + if (realpercent < 1) { + model.put("error", "The value must be greater than 0"); + 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 > 100) { + model.put("error", "The value must be less than 100"); + 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); + String csvline = ""; + if (null != r) { + model.put("njobs", r.size()); + csvline = "\'Prediction%20number\',\'Protein%20Sequence\', \'Secondary%20Structure%20Prediction\'%0A"; + } - 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"; + // form line for CSV file + int counter = 1; + for (Map.Entry entry : r.entrySet()) { + csvline += "\'" + counter + "\',\'" + entry.getKey() + "\',\'" + entry.getValue() + "\'%0A"; + ++counter; } + model.put("csvfile", csvline); - + final long endTime = System.currentTimeMillis(); + model.put("timeExecution", (endTime - startTime)); + model.put("feature", typeFeature); + model.put("percent", realpercent); + return "reportSSFeatures"; + } }