X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=server%2Fcompbio%2Fcontrollers%2FIPDataController.java;h=248389a2772cd5fe1ad92844f75876de8d177487;hb=9bb6ee99ca7f738fac1087190b5481b8fe6e8d9f;hp=690c57e2efcd2140102db0a488123ea3ed74a90c;hpb=6b59d49dbcca1616d74c2814d87faf47e3aa7cf2;p=proteocache.git diff --git a/server/compbio/controllers/IPDataController.java b/server/compbio/controllers/IPDataController.java index 690c57e..248389a 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; @@ -9,8 +8,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import compbio.cassandra.TotalByCounterBean; -import compbio.cassandra.UserBean; +import compbio.beans.TotalByCounterBean; +import compbio.beans.UserBean; +import compbio.cassandra.readers.IpReader; +import compbio.cassandra.readers.ReaderByCounter; import compbio.statistic.CassandraRequester; /** @@ -18,74 +19,82 @@ 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); + ReaderByCounter reader = new ReaderByCounter(); + List r = reader.readIpByCounter(realcounter); + 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"; + return "reports/IPstatistics"; } @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); + IpReader reader = new IpReader(); + UserBean r = reader.readIp(ip); + 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"; + return "reports/IP"; } }