KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > userclicks > action > ViewUserClicksAction


1 package com.dotmarketing.portlets.userclicks.action;
2
3 import java.util.List JavaDoc;
4
5 import javax.portlet.PortletConfig;
6 import javax.portlet.RenderRequest;
7 import javax.portlet.RenderResponse;
8 import javax.portlet.WindowState;
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpSession JavaDoc;
11 import javax.servlet.jsp.PageContext JavaDoc;
12
13 import org.apache.struts.action.ActionForm;
14 import org.apache.struts.action.ActionForward;
15 import org.apache.struts.action.ActionMapping;
16
17 import com.dotmarketing.beans.Clickstream;
18 import com.dotmarketing.factories.ClickstreamFactory;
19 import com.dotmarketing.portal.struts.DotPortletAction;
20 import com.dotmarketing.portlets.userclicks.factories.UserClickFactory;
21 import com.dotmarketing.util.Logger;
22 import com.dotmarketing.util.WebKeys;
23 import com.liferay.portal.model.User;
24 import com.liferay.portal.struts.ActionException;
25 import com.liferay.portal.util.Constants;
26
27 /**
28  * <a HREF="ViewQuestionsAction.java.htm"><b><i>View Source</i></b></a>
29  *
30  * @author Maria Ahues
31  * @version $Revision: 1.2 $
32  *
33  */

34 public class ViewUserClicksAction extends DotPortletAction {
35
36     /*
37      * @see com.liferay.portal.struts.PortletAction#render(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.portlet.PortletConfig, javax.portlet.RenderRequest, javax.portlet.RenderResponse)
38      */

39     public ActionForward render(
40             ActionMapping mapping, ActionForm form, PortletConfig config,
41             RenderRequest req, RenderResponse res)
42         throws Exception JavaDoc {
43
44         Logger.debug(this, "Running ViewUserClicksAction!!!!");
45
46         try {
47             //gets the user
48
User user = _getUser(req);
49
50             if (req.getWindowState().equals(WindowState.NORMAL)) {
51                 return mapping.findForward("portlet.ext.userclicks.view");
52             }
53             else {
54                 if(req.getParameter("clickstreamId")==null){
55                     /** @see com.dotmarketing.portal.struts.DotPortletAction._viewWebAssets **/
56                     _viewWebAssets(req, user);
57                     return mapping.findForward("portlet.ext.userclicks.view_user_clicks");
58
59                 }else{
60                     _detailWebAsset(req, user);
61                     return mapping.findForward("portlet.ext.userclicks.detail_user_clicks");
62                     
63                 }
64             }
65         }
66         catch (Exception JavaDoc e) {
67             req.setAttribute(PageContext.EXCEPTION, e);
68             return mapping.findForward(Constants.COMMON_ERROR);
69         }
70     }
71     
72     //Needs to be implemented instead of using parent method because we use template to search for HTMLPages
73
private void _viewWebAssets(RenderRequest req, User user) throws Exception JavaDoc {
74         
75         com.liferay.portlet.RenderRequestImpl reqImpl = (com.liferay.portlet.RenderRequestImpl)req;
76         HttpServletRequest JavaDoc httpReq = reqImpl.getHttpServletRequest();
77         //gets the session object for the messages
78
HttpSession JavaDoc session = httpReq.getSession();
79
80         Logger.debug(this, "########## req.getParameter(\"user_click_id\") " + req.getParameter("user_click_id"));
81
82         String JavaDoc userClickId = req.getParameter("user_click_id");
83         
84         int pageNumber = 1;
85
86         if (req.getParameter("pageNumber")!=null) {
87             pageNumber = Integer.parseInt(req.getParameter("pageNumber"));
88         }
89         int perPage = com.dotmarketing.util.Config.getIntProperty("PER_PAGE");
90         int minIndex = (pageNumber - 1) * perPage;
91         
92         List JavaDoc l = new java.util.ArrayList JavaDoc();
93         int numrows = 0;
94         
95         com.liferay.portal.model.User viewUser = null;
96         try {
97             viewUser = com.liferay.portal.ejb.UserLocalManagerUtil.getUserById(userClickId);
98         }catch(Exception JavaDoc e){
99             Logger.warn(this, e.toString(), e);
100         }
101         req.setAttribute("viewUser",viewUser);
102         
103         Logger.debug(this, "Inside ViewUserClicksAction user_id=" + req.getParameter("user_click_id"));
104
105         try{
106             numrows = UserClickFactory.countUserClicks(userClickId);
107             
108             l = UserClickFactory.getUserClicks(userClickId, minIndex, perPage);
109             
110         }
111         catch (Exception JavaDoc e) {
112             Logger.error(this, e.getMessage(), e);
113             throw new ActionException (e.getMessage());
114
115         }
116         req.setAttribute("numrows",(new Integer JavaDoc(numrows)));
117         req.setAttribute(WebKeys.USER_CLICKS_VIEW, l);
118
119         Logger.debug(this, "Done with ViewHTMLPageViewsAction");
120         
121     }
122
123     private void _detailWebAsset(RenderRequest req, User user) throws Exception JavaDoc {
124         
125         com.liferay.portlet.RenderRequestImpl reqImpl = (com.liferay.portlet.RenderRequestImpl)req;
126         HttpServletRequest JavaDoc httpReq = reqImpl.getHttpServletRequest();
127         //gets the session object for the messages
128
HttpSession JavaDoc session = httpReq.getSession();
129         
130         Logger.debug(this, "########## req.getParameter(\"user_click_id\") " + req.getParameter("user_click_id"));
131
132         String JavaDoc clickstreamId = req.getParameter("clickstreamId");
133         String JavaDoc userClickId = req.getParameter("user_click_id");
134         
135         
136         com.liferay.portal.model.User viewUser = null;
137         try {
138             viewUser = com.liferay.portal.ejb.UserLocalManagerUtil.getUserById(userClickId);
139         }catch(Exception JavaDoc e){
140             Logger.warn(this, e.toString(), e);
141         }
142         req.setAttribute("viewUser",viewUser);
143         Clickstream clickstream = null;
144
145         Logger.debug(this, "Inside _detail ViewUserClicksAction user_id=" + req.getParameter("user_click_id"));
146
147         try{
148             clickstream = (Clickstream) ClickstreamFactory.getClickstream(clickstreamId);
149             
150         }
151         catch (Exception JavaDoc e) {
152             Logger.error(this, e.getMessage(), e);
153             throw new ActionException (e.getMessage());
154         }
155         req.setAttribute("clickstream",clickstream);
156
157         Logger.debug(this, "Done with _detail ViewHTMLPageViewsAction");
158         
159     }
160
161 }
162
Popular Tags