95c2d3742dd6a74b62304bbad1939a68927426ef
[jabaws.git] / webservices / compbio / stat / servlet / DisplayStat.java
1 package compbio.stat.servlet;\r
2 \r
3 import java.io.IOException;\r
4 import java.sql.SQLException;\r
5 import java.util.Calendar;\r
6 import java.util.Date;\r
7 import java.util.GregorianCalendar;\r
8 \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
14 \r
15 import org.apache.log4j.Logger;\r
16 \r
17 import compbio.stat.servlet.util.StatCollection;\r
18 import compbio.stat.servlet.util.Totals;\r
19 \r
20 public class DisplayStat extends HttpServlet {\r
21 \r
22         private final static Logger log = Logger.getLogger(DisplayStat.class);\r
23 \r
24         @Override\r
25         protected void doGet(HttpServletRequest req, HttpServletResponse resp)\r
26                         throws ServletException, IOException {\r
27                 String datetime = req.getParameter("datetime");\r
28 \r
29                 Date fromDate = new Date(Long.parseLong(datetime));\r
30                 Calendar toCal = GregorianCalendar.getInstance();\r
31                 toCal.setTime(fromDate);\r
32                 toCal.add(Calendar.MONTH, 1);\r
33 \r
34                 try {\r
35                         StatCollection stats = StatCollection.newStatCollecton(fromDate,\r
36                                         toCal.getTime());\r
37 \r
38                         log.trace("Stats: " + stats);\r
39                         req.setAttribute("stat", stats);\r
40                         req.setAttribute("statTotal", Totals.sumStats(stats.getAllStat()));\r
41                         req.setAttribute("statTotalCluster",\r
42                                         Totals.sumStats(stats.getClusterStat()));\r
43                         req.setAttribute("statTotalLocal",\r
44                                         Totals.sumStats(stats.getLocalStat()));\r
45 \r
46                         req.setAttribute("startDate", fromDate);\r
47                         req.setAttribute("stopDate", toCal.getTime());\r
48                         log.trace("from " + fromDate + "  to " + toCal.getTime());\r
49                         RequestDispatcher dispatcher = req\r
50                                         .getRequestDispatcher("statpages/Statistics.jsp");\r
51                         dispatcher.forward(req, resp);\r
52 \r
53                 } catch (SQLException e) {\r
54                         log.error(e.getMessage(), e);\r
55                         throw new ServletException(e);\r
56                 }\r
57 \r
58         }\r
59 }\r