1 package compbio.stat.servlet;
\r
3 import java.io.IOException;
\r
4 import java.sql.SQLException;
\r
5 import java.text.DateFormat;
\r
6 import java.text.ParseException;
\r
7 import java.text.SimpleDateFormat;
\r
8 import java.util.Calendar;
\r
9 import java.util.Date;
\r
10 import java.util.GregorianCalendar;
\r
11 import java.util.Map;
\r
13 import javax.servlet.RequestDispatcher;
\r
14 import javax.servlet.ServletException;
\r
15 import javax.servlet.http.HttpServlet;
\r
16 import javax.servlet.http.HttpServletRequest;
\r
17 import javax.servlet.http.HttpServletResponse;
\r
19 import compbio.stat.servlet.util.StatCollection;
\r
20 import compbio.stat.servlet.util.Totals;
\r
22 public class DisplayStat extends HttpServlet {
\r
25 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
\r
26 throws ServletException, IOException {
\r
27 String month = req.getParameter("month");
\r
28 System.out.println("? " + month);
\r
29 DateFormat df = SimpleDateFormat.getInstance();
\r
32 Date fromDate = df.parse(month);
\r
33 Map<Date, StatCollection> statsMap = StatCollection
\r
34 .getStats(fromDate);
\r
35 assert statsMap.size() == 1;
\r
36 StatCollection stats = statsMap.values().iterator().next();
\r
37 req.setAttribute("stat", stats.getAllStat());
\r
38 req.setAttribute("statTotal", Totals.sumStats(stats.getAllStat()));
\r
39 req.setAttribute("statTotalCluster",
\r
40 Totals.sumStats(stats.getClusterStat()));
\r
41 req.setAttribute("statTotalLocal",
\r
42 Totals.sumStats(stats.getLocalStat()));
\r
44 req.setAttribute("startDate", fromDate.getTime());
\r
45 Calendar c = GregorianCalendar.getInstance();
\r
46 c.setTime(fromDate);
\r
47 c.add(Calendar.MONTH, 1);
\r
48 req.setAttribute("stopDate", c.getTime());
\r
50 RequestDispatcher dispatcher = req
\r
51 .getRequestDispatcher("statpages/Statistics.jsp");
\r
52 dispatcher.forward(req, resp);
\r
54 } catch (SQLException e) {
\r
55 // TODO Auto-generated catch block
\r
56 e.printStackTrace();
\r
57 } catch (ParseException e) {
\r
58 // TODO Auto-generated catch block
\r
59 e.printStackTrace();
\r