package compbio.controllers; import java.util.Calendar; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; 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 * @author Natasha Sherstneva */ @Controller public class DatabaseController extends BasicController { @RequestMapping(value = "/database/remove", method = RequestMethod.GET) public String initRemoveForm(Map model) { model.put("username", getPrincipalName()); Calendar cal = Calendar.getInstance(); String date2 = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE); cal.add(Calendar.DATE, -3); String date1 = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE); String jobid = "jp_NzBOJKo"; model.put("samplejobid", jobid); model.put("date1", date1); model.put("date2", date2); model.put("sampleip", "127.0.0.1"); model.put("sampleseq", "ATA"); return "query/RemoveJobs"; } @RequestMapping(value = "/database/state", method = RequestMethod.GET) public String initDBStatRequest(Map model) { model.put("username", getPrincipalName()); // return "queryDBState"; return "support/Denied"; } @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 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); return "reports/RemoveJobs"; } }