Change header template for a new version
[jabaws.git] / webservices / compbio / stat / servlet / DisplayStat.java
1 /* Copyright (c) 2011 Peter Troshin\r
2  *  \r
3  *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     \r
4  * \r
5  *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
6  *  Apache License version 2 as published by the Apache Software Foundation\r
7  * \r
8  *  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
9  *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
10  *  License for more details.\r
11  * \r
12  *  A copy of the license is in apache_license.txt. It is also available here:\r
13  * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
14  * \r
15  * Any republication or derived work distributed in source code form\r
16  * must include this copyright and license notice.\r
17  */\r
18 package compbio.stat.servlet;\r
19 \r
20 import java.io.IOException;\r
21 import java.sql.SQLException;\r
22 import java.util.Calendar;\r
23 import java.util.Date;\r
24 import java.util.GregorianCalendar;\r
25 \r
26 import javax.servlet.RequestDispatcher;\r
27 import javax.servlet.ServletException;\r
28 import javax.servlet.http.HttpServlet;\r
29 import javax.servlet.http.HttpServletRequest;\r
30 import javax.servlet.http.HttpServletResponse;\r
31 \r
32 import org.apache.log4j.Logger;\r
33 \r
34 import compbio.stat.servlet.util.StatCollection;\r
35 import compbio.stat.servlet.util.Totals;\r
36 \r
37 public class DisplayStat extends HttpServlet {\r
38 \r
39         private final static Logger log = Logger.getLogger(DisplayStat.class);\r
40 \r
41         @Override\r
42         protected void doGet(HttpServletRequest req, HttpServletResponse resp)\r
43                         throws ServletException, IOException {\r
44                 String datetime = req.getParameter("datetime");\r
45 \r
46                 Date fromDate = new Date(Long.parseLong(datetime));\r
47                 Calendar toCal = GregorianCalendar.getInstance();\r
48                 toCal.setTime(fromDate);\r
49                 toCal.add(Calendar.MONTH, 1);\r
50 \r
51                 try {\r
52                         StatCollection stats = StatCollection.newStatCollecton(fromDate,\r
53                                         toCal.getTime());\r
54 \r
55                         log.trace("Stats: " + stats);\r
56                         req.setAttribute("stat", stats);\r
57                         req.setAttribute("statTotal", Totals.sumStats(stats.getAllStat()));\r
58                         req.setAttribute("statTotalCluster",\r
59                                         Totals.sumStats(stats.getClusterStat()));\r
60                         req.setAttribute("statTotalLocal",\r
61                                         Totals.sumStats(stats.getLocalStat()));\r
62 \r
63                         req.setAttribute("startDate", fromDate);\r
64                         req.setAttribute("stopDate", toCal.getTime());\r
65                         log.trace("from " + fromDate + "  to " + toCal.getTime());\r
66                         RequestDispatcher dispatcher = req\r
67                                         .getRequestDispatcher("statpages/Statistics.jsp");\r
68                         dispatcher.forward(req, resp);\r
69 \r
70                 } catch (SQLException e) {\r
71                         log.error(e.getMessage(), e);\r
72                         throw new ServletException(e);\r
73                 }\r
74 \r
75         }\r
76 }\r