KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > events > action > ViewEventsAction


1 /*
2  * Created on 19/10/2004
3  *
4  */

5 package com.dotmarketing.portlets.events.action;
6
7 import java.util.ArrayList JavaDoc;
8 import java.util.GregorianCalendar JavaDoc;
9 import java.util.List JavaDoc;
10 import java.util.StringTokenizer JavaDoc;
11
12 import javax.portlet.PortletConfig;
13 import javax.portlet.PortletRequest;
14 import javax.portlet.PortletResponse;
15 import javax.portlet.PortletSession;
16 import javax.portlet.RenderRequest;
17 import javax.portlet.RenderResponse;
18 import javax.portlet.WindowState;
19
20 import org.apache.struts.action.ActionForm;
21 import org.apache.struts.action.ActionForward;
22 import org.apache.struts.action.ActionMapping;
23
24 import com.dotmarketing.beans.Inode;
25 import com.dotmarketing.factories.InodeFactory;
26 import com.dotmarketing.portal.struts.DotPortletAction;
27 import com.dotmarketing.portlets.categories.model.Category;
28 import com.dotmarketing.portlets.events.factories.EventFactory;
29 import com.liferay.portal.model.User;
30
31 /**
32  * @author David Torres
33  *
34  */

35 public class ViewEventsAction extends DotPortletAction {
36     public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req,
37             RenderResponse res) throws Exception JavaDoc {
38         if (req.getWindowState().equals(WindowState.NORMAL)) {
39             _setFilters(mapping, form, config, req, res);
40             return mapping.findForward("portlet.ext.events.view");
41         } else {
42             _setFilters(mapping, form, config, req, res);
43             _viewEvents(mapping, form, config, req, res);
44             return mapping.findForward("portlet.ext.events.view_events");
45         }
46     }
47
48     private void _setFilters(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req,
49             PortletResponse res) throws Exception JavaDoc {
50
51         PortletSession session = req.getPortletSession();
52
53         // Filtering parameters
54

55         long facilityInode = -1;
56
57         if (req.getParameter("resetFilters") == null || !req.getParameter("resetFilters").equals("true")) {
58             try {
59                 facilityInode = Integer.parseInt((String JavaDoc) session.getAttribute("facilityInode"));
60             } catch (Exception JavaDoc e) {
61             }
62             try {
63                 facilityInode = Long.parseLong((String JavaDoc) req.getParameter("facilityInode"));
64             } catch (Exception JavaDoc e) {
65             }
66         }
67         session.setAttribute("facilityInode", new Long JavaDoc(facilityInode));
68         req.setAttribute("facilityInode", new Long JavaDoc(facilityInode));
69
70         req.setAttribute("selectedCategories", req.getParameter("selectedCategories"));
71
72     }
73
74     private void _viewEvents(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req,
75             PortletResponse res) throws Exception JavaDoc {
76
77         PortletSession session = req.getPortletSession();
78         PortletRequest request = req;
79
80         GregorianCalendar JavaDoc cal = new java.util.GregorianCalendar JavaDoc();
81         GregorianCalendar JavaDoc today = new java.util.GregorianCalendar JavaDoc();
82         GregorianCalendar JavaDoc lastDayOfMonth = new java.util.GregorianCalendar JavaDoc();
83         GregorianCalendar JavaDoc firstDayOfMonth = new java.util.GregorianCalendar JavaDoc();
84         cal.set(GregorianCalendar.HOUR_OF_DAY, 0);
85         cal.set(GregorianCalendar.MINUTE, 0);
86         cal.set(GregorianCalendar.SECOND, 0);
87         cal.set(GregorianCalendar.DAY_OF_MONTH, 1);
88
89         try {
90             cal.set(GregorianCalendar.MONTH, Integer.parseInt(request.getParameter("month")));
91         } catch (Exception JavaDoc e) {
92         }
93
94         try {
95             cal.set(GregorianCalendar.YEAR, Integer.parseInt(request.getParameter("year")));
96         } catch (Exception JavaDoc e) {
97         }
98
99         firstDayOfMonth.setTime(cal.getTime());
100         firstDayOfMonth.set(GregorianCalendar.DAY_OF_MONTH, 1);
101
102         lastDayOfMonth.setTime(cal.getTime());
103         lastDayOfMonth.add(GregorianCalendar.MONTH, 1);
104         lastDayOfMonth.set(GregorianCalendar.DAY_OF_MONTH, 1);
105         lastDayOfMonth.add(GregorianCalendar.SECOND, -1);
106
107         java.util.List JavaDoc events = null;
108
109         String JavaDoc selectedCategories = (String JavaDoc) req.getAttribute("selectedCategories");
110         if (selectedCategories == null)
111             selectedCategories = "";
112         List JavaDoc<Inode> parents = new ArrayList JavaDoc<Inode>();
113         StringTokenizer JavaDoc st = new StringTokenizer JavaDoc(selectedCategories, ",");
114         while (st.hasMoreTokens()) {
115             try {
116                 Category cat = new Category();
117                 cat.setInode(st.nextToken());
118                 parents.add(cat);
119             } catch (Exception JavaDoc e) {
120             }
121         }
122
123         long facilityInode = ((Long JavaDoc) req.getAttribute("facilityInode")).longValue();
124         if (facilityInode > 0) {
125             Inode x = new Inode();
126             x.setInode(facilityInode);
127             parents.add(x);
128         }
129         User user = _getUser(req);
130
131         boolean admin = EventFactory.isAnEventAdministrator(user);
132
133         if (admin)
134             events = EventFactory.getEventsByDateRangeYParent(firstDayOfMonth.getTime(), lastDayOfMonth.getTime(), parents);
135         else
136             events = EventFactory.getEventsByDateRangeYParent(firstDayOfMonth.getTime(), lastDayOfMonth.getTime(), parents,
137                     user);
138
139         req.setAttribute("events", events);
140         req.setAttribute("calendar", cal);
141         req.setAttribute("isAdmin", new Boolean JavaDoc(admin));
142         req.setAttribute("userId", user.getUserId());
143
144     }
145
146 }
147
Popular Tags