X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=server%2Fcompbio%2Fcontrollers%2FDailyStatisticsController.java;h=14535238055fcd0f542fc7ff59cacd897fc23e66;hb=5637d461a2a42327d160f4de7b29ca6e6e1f32ab;hp=a9b51f112e1253ee6f070f7603ad775d3fa85565;hpb=8256bed38c0abeefe003adf6d9f126113f9cc5b3;p=proteocache.git diff --git a/server/compbio/controllers/DailyStatisticsController.java b/server/compbio/controllers/DailyStatisticsController.java index a9b51f1..1453523 100644 --- a/server/compbio/controllers/DailyStatisticsController.java +++ b/server/compbio/controllers/DailyStatisticsController.java @@ -11,27 +11,34 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import compbio.engine.JobStatus; -import compbio.cassandra.CassandraReader; -import compbio.cassandra.DateBean; +import compbio.beans.DateBean; +import compbio.beans.TotalJobsStatisticBean; import compbio.cassandra.DateFormatter; -import compbio.cassandra.Total; -import compbio.cassandra.TotalJobsStatisticBean; -import compbio.statistic.CassandraRequester; + +import compbio.beans.Total; +import compbio.cassandra.readers.CassandraReader; +import compbio.cassandra.readers.DailyStatisticsReader; /** + * MVC controller for collecting and showing job statistics + * * @author Alexander Sherstnev * @author Natasha Sherstneva - * @version 1.0 Dec 2013 + * + * @version 1.0 + * @since Dec 2013 */ @Controller public class DailyStatisticsController extends BasicController { /** - * form a query page for daily job statistics. The servlet should be - * available for users and admins only. By defaults the report time range is - * from the earliest day with jobs to today ("Query for all dates" is - * ticked). If the user removes the tick the time range is from today - 3 - * days to today. Currently, the input model is empty. + * form a query page for daily job statistics. + * + * The servlet should be available for users and admins only. By defaults + * the report time range is from the earliest day with jobs to current date + * ("Query for all dates" is ticked). If the user removes the tick the time + * range is from today - 3 days to today. Currently, the input model is + * empty. * * @param model * MVC model @@ -71,10 +78,10 @@ public class DailyStatisticsController extends BasicController { model.put("username", getPrincipalName()); Calendar loccal = Calendar.getInstance(); final long startTime = System.currentTimeMillis(); - CassandraRequester cr = new CassandraRequester(); + DailyStatisticsReader reader = new DailyStatisticsReader(); if (option.equals("AllDates,off")) { - date1 = theEaerlistDate; - date2 = theCurrentDate; + date1 = getEarliestDate(); + date2 = getCurrentDate(); } // dates in string format @@ -83,7 +90,7 @@ public class DailyStatisticsController extends BasicController { // dates in long format long longDate1 = DateFormatter.DateParsing(date1, formaterYYMMDD); long longDate2 = DateFormatter.DateParsing(date2, formaterYYMMDD); - String error = DateChecking(trimmeddate1, trimmeddate2, longDate1, longDate2); + String error = checkDates(trimmeddate1, trimmeddate2, longDate1, longDate2); if (error != null) { model.put("error", error); model.put("date1", date1); @@ -100,7 +107,7 @@ public class DailyStatisticsController extends BasicController { date2 = DateFormatter.DateLongToString(longDate2, formaterYYMMDD); model.put("date1", date1); model.put("date2", date2); - TotalJobsStatisticBean res = cr.countJobs(date1, date2); + TotalJobsStatisticBean res = reader.query(longDate1, longDate2); model.put("result", res); Map results = res.getDateTotal(); String csvline = "\'Date\',\'Total\',\'OK\',\'Stopped\',\'Error\',\'Timeout\'%0A"; @@ -114,7 +121,7 @@ public class DailyStatisticsController extends BasicController { final long endTime = System.currentTimeMillis(); model.put("timeExecution", (endTime - startTime)); model.put("option", option); - return "/reportJobStatistics"; + return "reports/JobStatistics"; } /** @@ -135,8 +142,9 @@ public class DailyStatisticsController extends BasicController { final long startTime = System.currentTimeMillis(); String realdate; + long thetime = 0; try { - long thetime = formaterYYMMDD.parse(date).getTime(); + thetime = formaterYYMMDD.parse(date).getTime(); if (thetime < 0) { realdate = date; } else { @@ -144,15 +152,15 @@ public class DailyStatisticsController extends BasicController { } } catch (ParseException e) { realdate = date; + thetime = formaterDDMMYY.parse(realdate).getTime(); } - if (null == JobStatus.getJobStatus(status)) { + if (null == JobStatus.getJobStatus(status)) return "support/Notimplemented"; - } - CassandraRequester cr = new CassandraRequester(); + DailyStatisticsReader reader = new DailyStatisticsReader(); // IMPORTANT: input should be suppied in the format: DD/MM/YYYY - DateBean r = cr.readJobByDay(realdate, JobStatus.getJobStatus(status)); + DateBean r = reader.readJobByDay(thetime, realdate, JobStatus.getJobStatus(status)); model.put("results", r); if (r != null) model.put("njobs", r.getJobidAndSeq().size()); @@ -160,6 +168,6 @@ public class DailyStatisticsController extends BasicController { model.put("status", status); final long endTime = System.currentTimeMillis(); model.put("timeExecution", (endTime - startTime)); - return "/reportJobStatisticsOneDay"; + return "reports/JobStatisticsOneDay"; } }