X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=server%2Fcompbio%2Fcontrollers%2FIPDataController.java;h=86f752ebc5f988347d573a8ae3b49538864b8002;hb=8256bed38c0abeefe003adf6d9f126113f9cc5b3;hp=690c57e2efcd2140102db0a488123ea3ed74a90c;hpb=6b59d49dbcca1616d74c2814d87faf47e3aa7cf2;p=proteocache.git diff --git a/server/compbio/controllers/IPDataController.java b/server/compbio/controllers/IPDataController.java index 690c57e..86f752e 100644 --- a/server/compbio/controllers/IPDataController.java +++ b/server/compbio/controllers/IPDataController.java @@ -1,6 +1,5 @@ package compbio.controllers; -import java.security.Principal; import java.util.List; import java.util.Map; @@ -18,72 +17,80 @@ import compbio.statistic.CassandraRequester; * @author Natasha Sherstneva */ @Controller -public class IPDataController { +public class IPDataController extends BasicController { @RequestMapping(value = "/admin/ip/counts/query", method = RequestMethod.GET) - public String initStatisticsForm(Map model, Principal principal) { - model.put("username", principal.getName()); + public String initStatisticsForm(Map model) { + model.put("username", getPrincipalName()); model.put("value", 5); - return "queryIPStatistics"; + return "query/IPStatistics"; } @RequestMapping(value = "/admin/ip/query", method = RequestMethod.GET) - public String initOneIPForm(Map model, Principal principal) { - model.put("username", principal.getName()); - model.put("value", "127.0.0.1"); - return "queryIP"; + public String initOneIPForm(Map model) { + model.put("username", getPrincipalName()); + CassandraRequester cr = new CassandraRequester(); + model.put("value", cr.getExample("ip")); + return "query/IP"; } - + @RequestMapping(value = "/admin/ip/counts/results", method = RequestMethod.GET) - public String findIPwithCounter(@RequestParam("JobCounter") String counter, Map model, Principal principal) { - model.put("username", principal.getName()); + public String findIPwithCounter(@RequestParam("JobCounter") String counter, Map model) { + model.put("username", getPrincipalName()); if (counter.equals("")) { model.put("error", "The value must not be empty"); model.put("value", counter); - return "queryIPStatistics"; + return "query/IPStatistics"; } - + int realcounter; try { realcounter = Integer.parseInt(counter.trim()); } catch (NumberFormatException e) { model.put("error", "The value must be an integer number"); model.put("value", counter); - return "queryIPStatistics"; + return "query/IPStatistics"; } if (realcounter < 1) { model.put("error", "The value must be greater than 0"); model.put("value", counter); - return "queryIPStatistics"; + return "query/IPStatistics"; } final long startTime = System.currentTimeMillis(); CassandraRequester cr = new CassandraRequester(); List r = cr.readIpByCounter(realcounter); - model.put("results", r); + model.put("results", r); model.put("njobs", 0); + String csvline = ""; if (null != r) { model.put("njobs", r.size()); + csvline = "\'Job%20 count\', \'IP\'%0A"; + } + // form line for CSV file + for (TotalByCounterBean b : r) { + csvline += "\'" + b.getTotaljobs() + "\',\'" + b.getName() + "\'%0A"; } - final long endTime = System.currentTimeMillis(); + model.put("csvfile", csvline); + final long endTime = System.currentTimeMillis(); model.put("timeExecution", (endTime - startTime)); model.put("counter", realcounter); return "reportIPstatistics"; } @RequestMapping(value = "/admin/ip/results", method = RequestMethod.GET) - public String findIP(@RequestParam("ip") String ip, Map model, Principal principal) { - model.put("username", principal.getName()); + public String findIP(@RequestParam("ip") String ip, Map model) { + model.put("username", getPrincipalName()); final long startTime = System.currentTimeMillis(); CassandraRequester cr = new CassandraRequester(); UserBean r = cr.readIp(ip); - model.put("results", r); + model.put("results", r); model.put("njobs", 0); if (null != r) { model.put("njobs", r.getMainInfo().size()); } - final long endTime = System.currentTimeMillis(); + final long endTime = System.currentTimeMillis(); model.put("timeExecution", (endTime - startTime)); model.put("ip", ip); return "reportIP";