KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > htmlpageviews > action > HTMLPageReportAction


1 package com.dotmarketing.portlets.htmlpageviews.action;
2
3 import java.util.Calendar JavaDoc;
4 import java.util.GregorianCalendar JavaDoc;
5 import java.util.Map JavaDoc;
6
7 import javax.portlet.ActionRequest;
8 import javax.portlet.ActionResponse;
9 import javax.portlet.PortletConfig;
10 import javax.portlet.RenderRequest;
11 import javax.portlet.RenderResponse;
12 import javax.servlet.ServletOutputStream JavaDoc;
13 import javax.servlet.http.HttpServletRequest JavaDoc;
14 import javax.servlet.http.HttpServletResponse JavaDoc;
15 import javax.servlet.http.HttpSession JavaDoc;
16
17 import org.apache.struts.action.ActionForm;
18 import org.apache.struts.action.ActionForward;
19 import org.apache.struts.action.ActionMapping;
20
21 import com.dotmarketing.beans.Identifier;
22 import com.dotmarketing.factories.IdentifierFactory;
23 import com.dotmarketing.factories.InodeFactory;
24 import com.dotmarketing.portal.struts.DotPortletAction;
25 import com.dotmarketing.portlets.htmlpages.model.HTMLPage;
26 import com.dotmarketing.portlets.htmlpageviews.factories.HTMLPageViewFactory;
27 import com.dotmarketing.util.Logger;
28 import com.dotmarketing.util.UtilMethods;
29 import com.liferay.portal.util.Constants;
30 import com.liferay.portlet.ActionResponseImpl;
31
32 /**
33  * <a HREF="ViewQuestionsAction.java.htm"> <b><i>View Source </i> </b> </a>
34  *
35  * @author Maria Ahues
36  * @version $Revision: 1.3 $
37  *
38  */

39 public class HTMLPageReportAction extends DotPortletAction {
40
41  
42     
43     public void processAction(
44              ActionMapping mapping, ActionForm form, PortletConfig config,
45              ActionRequest req, ActionResponse res)
46          throws Exception JavaDoc {
47
48         //wraps request to get session object
49
ActionResponseImpl resImpl = (ActionResponseImpl)res;
50         HttpServletResponse JavaDoc httpRes = resImpl.getHttpServletResponse();
51
52         if(! "userReport".equals(req.getParameter(Constants.CMD))){
53             return;
54         }
55         _writeCSV(httpRes,req,res,form);
56             return;
57     
58     }
59     
60     public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req,
61             RenderResponse res) throws Exception JavaDoc {
62         return mapping.findForward("portlet.ext.htmlpageviews.html_page_report");
63     
64     }
65     private void _writeCSV(HttpServletResponse JavaDoc httpRes,ActionRequest req, ActionResponse res,ActionForm form) throws Exception JavaDoc {
66
67         ServletOutputStream JavaDoc out = httpRes.getOutputStream();
68         httpRes.setContentType("text/plain");
69         //httpRes.setContentType("application/octet-stream");
70
//httpRes.setHeader("Content-Disposition", "attachment; filename=\"report" + System.currentTimeMillis() +".csv\"");
71

72         //httpRes.setContentType("text/csv");
73
//httpRes.setHeader("Content-Disposition", "attachment; filename=\"report" + System.currentTimeMillis() +".csv\"");
74

75         //print the header
76

77         
78         
79         
80         com.liferay.portlet.RenderRequestImpl reqImpl = (com.liferay.portlet.RenderRequestImpl) req;
81         HttpServletRequest JavaDoc httpReq = reqImpl.getHttpServletRequest();
82         //gets the session object for the messages
83
HttpSession JavaDoc session = httpReq.getSession();
84         Logger.debug(this, "########## req.getParameter(\"searchStartDate\") " + req.getParameter("searchStartDate"));
85
86         java.util.Date JavaDoc startDate = null;
87         if (req.getParameter("searchStartDate") != null) {
88             Logger.debug(this, "searchStartDate" + req.getParameter("searchStartDate"));
89             startDate = UtilMethods.htmlToDate(req.getParameter("searchStartDate"));
90         } else {
91             GregorianCalendar JavaDoc gcal = new GregorianCalendar JavaDoc();
92             gcal.set(Calendar.DAY_OF_MONTH, 1);
93             gcal.set(Calendar.HOUR, 0);
94             gcal.set(Calendar.MINUTE, 0);
95             gcal.set(Calendar.SECOND, 0);
96             startDate = gcal.getTime();
97
98         }
99         Logger.debug(this, "startDate" + startDate);
100         req.setAttribute("startDate", startDate);
101
102         java.util.Date JavaDoc endDate = null;
103         if (req.getParameter("searchEndDate") != null) {
104             Logger.debug(this, "searchEndDate" + req.getParameter("searchEndDate"));
105             endDate = UtilMethods.htmlToDate(req.getParameter("searchEndDate"));
106         } else {
107             GregorianCalendar JavaDoc gcal = new GregorianCalendar JavaDoc();
108             gcal.add(Calendar.MONTH, 1);
109             gcal.set(Calendar.DAY_OF_MONTH, 1);
110             gcal.set(Calendar.HOUR, 0);
111             gcal.set(Calendar.MINUTE, 0);
112             gcal.set(Calendar.SECOND, 0);
113             endDate = gcal.getTime();
114
115         }
116         Logger.debug(this, "endDate" + endDate);
117         req.setAttribute("endDate", endDate);
118
119         String JavaDoc uri = null;
120         if (req.getParameter("htmlpage") != null) {
121             HTMLPage myHTMLPage = (HTMLPage) InodeFactory.getInode(req.getParameter("htmlpage"), HTMLPage.class);
122             uri = IdentifierFactory.getIdentifierByInode(myHTMLPage).getURI();
123             req.setAttribute("htmlPage", myHTMLPage);
124         } else if (req.getParameter("pageIdentifier") != null) {
125             Identifier id = (Identifier) InodeFactory.getInode(req.getParameter("pageIdentifier"), Identifier.class);
126             uri = id.getURI();
127             HTMLPage myHTMLPage = (HTMLPage) IdentifierFactory.getLiveChildOfClass(id, HTMLPage.class);
128             req.setAttribute("htmlPage", myHTMLPage);
129         }
130
131
132
133         java.util.List JavaDoc allUsers = HTMLPageViewFactory.getAllUsers(uri, startDate, endDate);
134
135         
136         
137         
138         out.print("Name, eMail");
139         out.print("\n");
140         java.util.Iterator JavaDoc i = allUsers.iterator();
141         int x = 1;
142         while(i.hasNext()){
143             Map JavaDoc map = (Map JavaDoc) i.next();
144             out.print("'" + ( map.get("firstName") + " " + map.get("lastName")).replace('\'', '`') + "','" + map.get("emailAddress") + "'");
145             out.print("\n");
146         }
147
148
149         
150         out.close();
151         
152     }
153     
154     
155     
156     
157     
158     
159     
160     
161     
162     
163     
164 }
Popular Tags