From: Sasha Sherstnev Date: Thu, 23 Jan 2014 14:33:17 +0000 (+0000) Subject: Merge branch 'DAO' X-Git-Url: http://source.jalview.org/gitweb/?p=proteocache.git;a=commitdiff_plain;h=7de49cca0d2c7525f698001533e0b48193715413 Merge branch 'DAO' Conflicts: server/compbio/controllers/JobController.java --- 7de49cca0d2c7525f698001533e0b48193715413 diff --cc server/compbio/controllers/JobController.java index 8033620,ff834bd..0dd39f8 --- a/server/compbio/controllers/JobController.java +++ b/server/compbio/controllers/JobController.java @@@ -3,7 -3,11 +3,9 @@@ package compbio.controllers import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; + import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.Calendar; + import java.util.Date; -import java.util.List; import java.util.Map; import org.apache.log4j.Logger; @@@ -13,12 -17,19 +15,14 @@@ import org.springframework.web.bind.ann import org.springframework.web.bind.annotation.RequestParam; import compbio.statistic.CassandraRequester; + import compbio.beans.DateBean; import compbio.beans.ExecutionTimeBean; -import compbio.beans.Total; import compbio.beans.TotalExecutionTime; -import compbio.beans.TotalJobsStatisticBean; -import compbio.cassandra.DataBase; import compbio.cassandra.DateFormatter; import compbio.cassandra.readers.CassandraReader; -import compbio.cassandra.readers.DailyStatisticsReader; import compbio.cassandra.readers.ExecutionTimeReader; import compbio.cassandra.readers.JobReader; + import compbio.engine.ExecutionInterval; -import compbio.engine.JobStatus; import compbio.engine.archive.ArchivedJob; /** @@@ -142,15 -142,61 +146,62 @@@ public class JobController extends Basi model.put("timeExecution", (endTime - startTime)); return "/reports/TimeExecution"; } + + /** + * form a report page for job statistics for one day only. + * + * @param model + * MVC model object + * @param date + * date for the report + * @param status + * + * @return link to the report JSP page + */ + @RequestMapping(value = "/stat/jobsoneday/executionTime", method = RequestMethod.GET) + public String findJobsInOneDay(@RequestParam("date") String date, @RequestParam("interval") String interval, Map model) + throws ParseException { + model.put("username", getPrincipalName()); + final long startTime = System.currentTimeMillis(); + + String realdate; + long thetime = 0; + try { + thetime = formaterYYMMDD.parse(date).getTime(); + if (thetime < 0) { + realdate = date; + } else { + realdate = formaterDDMMYY.format(new Date(thetime)); + } + } catch (ParseException e) { + realdate = date; + thetime = formaterDDMMYY.parse(realdate).getTime(); + } + + if (null == ExecutionInterval.getExecutionInterval(interval)) + return "support/Notimplemented"; + - + ExecutionTimeReader reader = new ExecutionTimeReader(); + // IMPORTANT: input should be suppied in the format: DD/MM/YYYY + DateBean r = reader.readJobByDay(thetime, realdate, ExecutionInterval.getBoundsInterval(interval)); + model.put("results", r); + if (r != null) + model.put("njobs", r.getJobidAndSeq().size()); + model.put("date", realdate); + model.put("status", interval); + final long endTime = System.currentTimeMillis(); + model.put("timeExecution", (endTime - startTime)); + return "reports/JobStatisticsOneDay"; + } /** - * form a query page for a job. The servlet should no be visible to users at - * all. + * form result page for one job with a given job ID. * + * @param jobid + * job ID * @param model * MVC model + * * @return link to the JSP query page * @throws IOException */