1 package compbio.stat.servlet;
\r
3 import java.io.IOException;
\r
4 import java.io.PrintWriter;
\r
5 import java.sql.SQLException;
\r
6 import java.util.Date;
\r
7 import java.util.Map;
\r
9 import javax.servlet.RequestDispatcher;
\r
10 import javax.servlet.ServletException;
\r
11 import javax.servlet.http.HttpServlet;
\r
12 import javax.servlet.http.HttpServletRequest;
\r
13 import javax.servlet.http.HttpServletResponse;
\r
15 import compbio.stat.collector.StatDB;
\r
16 import compbio.stat.servlet.util.StatCollection;
\r
17 import compbio.stat.servlet.util.Totals;
\r
19 public class AnnualStat extends HttpServlet {
\r
22 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
\r
23 throws ServletException, IOException {
\r
26 StatDB db = new StatDB();
\r
27 Date earliestRec = db.getEarliestRecord();
\r
28 if (earliestRec == null) {
\r
29 PrintWriter writer = resp.getWriter();
\r
30 writer.println("No statistics found in the database. Please allow "
\r
31 + "at least one hour after a server start for the statistics "
\r
32 + "collector to collect the data. ");
\r
36 Map<Date, Totals> monthlyTotals = StatCollection
\r
37 .getStats(earliestRec);
\r
38 req.setAttribute("stat", monthlyTotals);
\r
39 req.setAttribute("total", Totals.sumOfTotals(monthlyTotals));
\r
41 RequestDispatcher dispatcher = req
\r
42 .getRequestDispatcher("statpages/MonthlySummary.jsp");
\r
43 dispatcher.forward(req, resp);
\r
45 } catch (SQLException e) {
\r
46 e.printStackTrace();
\r
47 throw new ServletException(e);
\r