Merge branch 'master' into PROT-9-webservice
[proteocache.git] / server / compbio / controllers / DatabaseController.java
index ee0c9b9..c7d6155 100644 (file)
@@ -9,10 +9,16 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import compbio.cassandra.CassandraRemover;
+import compbio.cassandra.DateFormatter;
 
 /**
+ * MVC controller for direct interaction with the internal DB
+ * 
  * @author Alexander Sherstnev
  * @author Natasha Sherstneva
+ * 
+ * @version 1.0
+ * @since Nov 2013
  */
 @Controller
 public class DatabaseController extends BasicController {
@@ -41,39 +47,50 @@ 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<String, Object> 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<String, Object> 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 "reportRemoveData";
-       }
+               int njobs1 = 0;
+               int njobs2 = 0;
+               int njobs3 = 0;
+               int njobs4 = 0;
+               if (byId.equals("on,off"))
+                       njobs1 = 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);
+                       njobs2 = cr.RemoveJobByDate(date1, date2);
+               }
+               if (byIp.equals("on,off"))
+                       njobs3 = cr.RemoveJobByIp(ip);
+               if (bySequence.equals("on,off"))
+                       njobs4 = cr.RemoveJobBySequence(sequence);
+               model.put("njobs", njobs1 + njobs2 + njobs3 + njobs4);
+               model.put("njobsbyDate", njobs2);
+               model.put("njobsbyIP", njobs3);
+               model.put("njobsbySeq", njobs4);
 
-       @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<String, Object> 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";
        }
 
 }