From 8c6c2d6c99df44fb2e403f844a87384bc97327d6 Mon Sep 17 00:00:00 2001 From: Sasha Sherstnev Date: Mon, 20 Jan 2014 15:20:26 +0000 Subject: [PATCH] enable removing DB records from the Web (with admin role) --- server/compbio/controllers/DatabaseController.java | 66 +++++++++++--------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/server/compbio/controllers/DatabaseController.java b/server/compbio/controllers/DatabaseController.java index 609ee09..e720a2c 100644 --- a/server/compbio/controllers/DatabaseController.java +++ b/server/compbio/controllers/DatabaseController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import compbio.cassandra.CassandraRemover; +import compbio.cassandra.DateFormatter; /** * @author Alexander Sherstnev @@ -41,39 +42,44 @@ public class DatabaseController extends BasicController { return "support/Denied"; } - @RequestMapping(value = "/database/remove/goreal", method = RequestMethod.GET) - public String findIPwithCounter(@RequestParam("byId") String flagId, @RequestParam("id") String jobId, - @RequestParam("byDate") String flagDate, @RequestParam("date1") String date1, @RequestParam("date2") String date2, - @RequestParam("byIp") String flagIp, @RequestParam("ip") String ip, @RequestParam("bySequence") String flagSeq, - @RequestParam("seq") String seq, Map model) { + @RequestMapping(value = "/database/remove/go", method = RequestMethod.GET) + public String findIPwithCounter(@RequestParam("byId") String byId, @RequestParam("id") String jobid, + @RequestParam("byDate") String byDate, @RequestParam("date1") String date1, @RequestParam("date2") String date2, + @RequestParam("byIp") String byIp, @RequestParam("ip") String ip, @RequestParam("bySequence") String bySequence, + @RequestParam("seq") String sequence, Map model) { model.put("username", getPrincipalName()); + + model.put("byDate", byDate); + model.put("date1", date1); + model.put("date2", date2); + + model.put("byId", byId); + model.put("id", jobid); + + model.put("byIp", byIp); + model.put("ip", ip); + + model.put("bySequence", bySequence); + model.put("seq", sequence); + CassandraRemover cr = new CassandraRemover(); - int numberRemover = 0; - if (flagId != null) - numberRemover = cr.RemoveJobById(jobId); - if (flagDate != null) - numberRemover = cr.RemoveJobByDate(date1, date2); - if (flagIp != null) - numberRemover = cr.RemoveJobByIp(ip); - if (flagSeq != null) - numberRemover = cr.RemoveJobBySequence(seq); - model.put("result", numberRemover); - return "reports/RemoveDBrecords"; - } + int njobs = 0; + if (byId.equals("on,off")) + njobs = cr.RemoveJobById(jobid); + if (byDate.equals("on,off")) { + long longDate1 = DateFormatter.DateParsing(date1, formaterYYMMDD) / 1000; + long longDate2 = DateFormatter.DateParsing(date2, formaterYYMMDD) / 1000; + int timerange = (int)(longDate2 - longDate1) /24 / 3600 + 1; + model.put("ndays", timerange); + njobs = cr.RemoveJobByDate(date1, date2); + } + if (byIp.equals("on,off")) + njobs = cr.RemoveJobByIp(ip); + if (bySequence.equals("on,off")) + njobs = cr.RemoveJobBySequence(sequence); + model.put("njobs", njobs); - @RequestMapping(value = "/database/remove/go", method = RequestMethod.GET) - public String findIPwithCounter(@RequestParam("id") String jobId, @RequestParam("date1") String date1, - @RequestParam("date2") String date2, @RequestParam("ip") String ip, @RequestParam("seq") String seq, Map model) { - model.put("username", getPrincipalName()); - /* - * CassandraRemover cr = new CassandraRemover(); int numberRemover = 0; - * if (flagId != null) numberRemover = cr.RemoveJobById(jobId); if - * (flagDate != null) numberRemover = cr.RemoveJobByDate(date1, date2); - * if (flagIp != null) numberRemover = cr.RemoveJobByIp(ip); if (flagSeq - * != null) numberRemover = cr.RemoveJobBySequence(seq); - * model.put("result", numberRemover); return "reportRemoveData"; - */ - return "support/Blocked"; + return "reports/RemoveJobs"; } } -- 1.7.10.2