KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > communications > action > ViewCommunicationsAction


1 package com.dotmarketing.portlets.communications.action;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.List JavaDoc;
5
6 import javax.portlet.PortletConfig;
7 import javax.portlet.RenderRequest;
8 import javax.portlet.RenderResponse;
9 import javax.portlet.WindowState;
10 import javax.servlet.jsp.PageContext JavaDoc;
11
12 import org.apache.struts.action.ActionForm;
13 import org.apache.struts.action.ActionForward;
14 import org.apache.struts.action.ActionMapping;
15
16 import com.dotmarketing.portal.struts.DotPortletAction;
17 import com.dotmarketing.portlets.communications.factories.CommunicationsFactory;
18 import com.dotmarketing.portlets.communications.model.Communication;
19 import com.dotmarketing.util.Config;
20 import com.dotmarketing.util.UtilMethods;
21 import com.dotmarketing.util.WebKeys;
22 import com.liferay.portal.PortalException;
23 import com.liferay.portal.SystemException;
24 import com.liferay.portal.model.User;
25 import com.liferay.portal.util.Constants;
26
27 /**
28  * List the communications objects
29  * @author Oswaldo
30  *
31  */

32 public class ViewCommunicationsAction extends DotPortletAction {
33     
34     /*
35      * @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)
36      */

37     public ActionForward render(
38             ActionMapping mapping, ActionForm form, PortletConfig config,
39             RenderRequest req, RenderResponse res)
40     throws Exception JavaDoc {
41         
42         try {
43             //gets the user
44
User user = _getUser(req);
45             
46             _viewCommunications(req, user);
47             
48             if (req.getWindowState().equals(WindowState.NORMAL)) {
49                 return mapping.findForward("portlet.ext.communications.view");
50             }
51             else {
52                 return mapping.findForward("portlet.ext.communications.view_communications");
53             }
54         }
55         catch (Exception JavaDoc e) {
56             req.setAttribute(PageContext.EXCEPTION, e);
57             return mapping.findForward(Constants.COMMON_ERROR);
58         }
59     }
60     
61     @SuppressWarnings JavaDoc("unchecked")
62     private void _viewCommunications(RenderRequest req, User user) throws PortalException, SystemException {
63         
64         //get their lists
65
List JavaDoc<Communication> list = null;
66         String JavaDoc orderby = req.getParameter("orderby");
67         String JavaDoc query1 =req.getParameter("query1");
68         String JavaDoc query2 =req.getParameter("query2");
69         String JavaDoc query3 =req.getParameter("query3");
70         
71         if(UtilMethods.isSet(query1)){
72             query1 = " title like '%"+query1+"%'";
73         } else {
74             query1 ="";
75         }
76         
77         if(UtilMethods.isSet(query2)){
78             query2 = " from_name like '%"+query2+"%'";
79             
80             if(UtilMethods.isSet(query1))
81                 query2 = " and "+query2;
82         } else {
83             query2 ="";
84         }
85         
86         if(UtilMethods.isSet(query3)){
87             query3 = " communication_type like '%"+query3+"%'";
88             
89             if(UtilMethods.isSet(query1) || UtilMethods.isSet(query2))
90                 query3 = " and "+query3;
91         } else {
92             query3 ="";
93         }
94         
95         String JavaDoc condition = query1 + query2 + query3;
96         String JavaDoc direction = req.getParameter("direction");
97         if(UtilMethods.isSet(direction))
98             orderby = orderby+" "+direction;
99         
100         list = CommunicationsFactory.getCommunications(condition,orderby);
101         
102         List JavaDoc<Communication> permitted = new ArrayList JavaDoc();
103         for(Communication com : list){
104             try {
105                 _checkUserPermissions(com, user, Config.getIntProperty("PERMISSION_READ"));
106                 permitted.add(com);
107             }catch(Exception JavaDoc e){
108                 e.printStackTrace();
109             }
110         }
111         
112         req.setAttribute(WebKeys.COMMUNICATIONS_LIST, permitted);
113     }
114     
115 }
116
Popular Tags