KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > workflows > action > ViewWorkflowTasksAction


1 package com.dotmarketing.portlets.workflows.action;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.Date JavaDoc;
5 import java.util.GregorianCalendar JavaDoc;
6 import java.util.List JavaDoc;
7
8 import javax.portlet.PortletConfig;
9 import javax.portlet.RenderRequest;
10 import javax.portlet.RenderResponse;
11 import javax.portlet.WindowState;
12 import javax.servlet.http.HttpServletRequest JavaDoc;
13 import javax.servlet.http.HttpSession JavaDoc;
14 import javax.servlet.jsp.PageContext JavaDoc;
15
16 import org.apache.struts.action.ActionForm;
17 import org.apache.struts.action.ActionForward;
18 import org.apache.struts.action.ActionMapping;
19
20 import com.dotmarketing.portal.struts.DotPortletAction;
21 import com.dotmarketing.portlets.workflows.factories.WorkflowsFactory;
22 import com.dotmarketing.portlets.workflows.model.WorkflowTask;
23 import com.dotmarketing.util.Config;
24 import com.dotmarketing.util.Logger;
25 import com.dotmarketing.util.UtilMethods;
26 import com.dotmarketing.util.WebKeys;
27 import com.dotmarketing.util.WebKeys.WorkflowStatuses;
28 import com.liferay.portal.model.User;
29 import com.liferay.portlet.RenderRequestImpl;
30
31 /**
32  *
33  * @author David Torres
34  * @version $Revision: 1.0 $
35  *
36  */

37 public class ViewWorkflowTasksAction extends DotPortletAction {
38
39     /*
40      * @see com.liferay.portal.struts.PortletAction#render(org.apache.struts.action.ActionMapping,
41      * org.apache.struts.action.ActionForm, javax.portlet.PortletConfig,
42      * javax.portlet.RenderRequest, javax.portlet.RenderResponse)
43      */

44     public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req,
45             RenderResponse res) throws Exception JavaDoc {
46
47         Logger.debug(this, "Running ViewWorkflowTasksAction!!!!=" + req.getWindowState());
48
49         try {
50             // gets the user
51
User user = _getUser(req);
52             _viewUserWorkflowTasks(req, user);
53
54             if (req.getWindowState().equals(WindowState.NORMAL)) {
55                 Logger.debug(this, "Running minimized ViewWorkflowTasksAction!!!!");
56                 return mapping.findForward("portlet.ext.workflows.view");
57             } else {
58                 Logger.debug(this, "Running maximized ViewWorkflowTasksAction!!!!");
59                 _viewFilteredWorkflowTasks(req, user);
60                 return mapping.findForward("portlet.ext.workflows.view_workflow_tasks");
61             }
62         } catch (Exception JavaDoc e) {
63             req.setAttribute(PageContext.EXCEPTION, e);
64             return mapping.findForward(com.liferay.portal.util.Constants.COMMON_ERROR);
65         }
66     }
67
68     private void _viewUserWorkflowTasks(RenderRequest req, User user) {
69         List JavaDoc<WorkflowTask> tasks = WorkflowsFactory.getWorkflowTasksAssignedToUser(user.getUserId(),
70                 WorkflowStatuses.OPEN);
71         req.setAttribute(WebKeys.WORKFLOW_USER_TASKS_LIST, tasks);
72     }
73
74     private void _viewFilteredWorkflowTasks(RenderRequest req, User user) {
75         HttpServletRequest JavaDoc request = ((RenderRequestImpl) req).getHttpServletRequest();
76         HttpSession JavaDoc session = request.getSession();
77
78         int page = 1;
79         String JavaDoc title = "";
80         String JavaDoc description = "";
81         String JavaDoc createdBy = "";
82         String JavaDoc assignedTo = "";
83         GregorianCalendar JavaDoc cal = new GregorianCalendar JavaDoc();
84         cal.setTime(new Date JavaDoc());
85         cal.add(GregorianCalendar.MONTH, -1);
86         Date JavaDoc createdFrom = cal.getTime();
87         Date JavaDoc createdTo = new Date JavaDoc();
88         Date JavaDoc modifiedFrom = cal.getTime();
89         Date JavaDoc modifiedTo = new Date JavaDoc();
90         String JavaDoc orderBy = "mod_date desc";
91
92         if (request.getParameter("resetFilters") == null) {
93             page = UtilMethods.isSet(request.getParameter("page")) ? Integer.parseInt(request.getParameter("page"))
94                     : session.getAttribute("workflow_task_page")!=null ? (Integer JavaDoc) session
95                             .getAttribute("workflow_task_page") : 1;
96
97             title = request.getParameter("title") != null ? request.getParameter("title") : UtilMethods
98                     .isSet((String JavaDoc) session.getAttribute("workflow_task_title")) ? (String JavaDoc) session
99                     .getAttribute("workflow_task_title") : "";
100
101             description = request.getParameter("description") != null ? request.getParameter("description")
102                     : UtilMethods.isSet((String JavaDoc) session.getAttribute("workflow_task_description")) ? (String JavaDoc) session
103                             .getAttribute("workflow_task_description") : "";
104
105             createdBy = request.getParameter("createdBy") != null ? request.getParameter("createdBy")
106                     : UtilMethods.isSet((String JavaDoc) session.getAttribute("workflow_task_createdBy")) ? (String JavaDoc) session
107                             .getAttribute("workflow_task_createdBy") : "";
108
109             assignedTo = request.getParameter("assignedTo") != null ? request.getParameter("assignedTo")
110                     : UtilMethods.isSet((String JavaDoc) session.getAttribute("workflow_task_assignedTo")) ? (String JavaDoc) session
111                             .getAttribute("workflow_task_assignedTo") : "";
112
113             createdFrom = UtilMethods.isSet(request.getParameter("createdFrom")) ? UtilMethods.jdbcToDate(request
114                     .getParameter("createdFrom")) : UtilMethods.isSet((Date JavaDoc) session
115                     .getAttribute("workflow_task_createdFrom")) ? (Date JavaDoc) session
116                     .getAttribute("workflow_task_createdFrom") : cal.getTime();
117
118             createdTo = UtilMethods.isSet(request.getParameter("createdTo")) ? UtilMethods.jdbcToDate(request
119                     .getParameter("createdTo")) : UtilMethods.isSet((Date JavaDoc) session
120                     .getAttribute("workflow_task_createdTo")) ? (Date JavaDoc) session.getAttribute("workflow_task_createdTo")
121                     : new Date JavaDoc();
122
123             modifiedFrom = UtilMethods.isSet(request.getParameter("modifiedFrom")) ? UtilMethods.jdbcToDate(request
124                     .getParameter("modifiedFrom")) : UtilMethods.isSet((Date JavaDoc) session
125                     .getAttribute("workflow_task_modifiedFrom")) ? (Date JavaDoc) session
126                     .getAttribute("workflow_task_modifiedFrom") : cal.getTime();
127
128             modifiedTo = UtilMethods.isSet(request.getParameter("modifiedTo")) ? UtilMethods.jdbcToDate(request
129                     .getParameter("modifiedTo")) : UtilMethods.isSet((Date JavaDoc) session
130                     .getAttribute("workflow_task_modifiedTo")) ? (Date JavaDoc) session
131                     .getAttribute("workflow_task_modifiedTo") : new Date JavaDoc();
132
133             orderBy = request.getParameter("order_by") != null ? request.getParameter("order_by") : UtilMethods
134                     .isSet((String JavaDoc) session.getAttribute("workflow_task_orderBy")) ? (String JavaDoc) session
135                     .getAttribute("workflow_task_orderBy") : "mod_date";
136         }
137
138         request.setAttribute("page", page);
139         session.setAttribute("workflow_task_page", page);
140         
141         request.setAttribute("title", title);
142         session.setAttribute("workflow_task_title", title);
143         
144         request.setAttribute("description", description);
145         session.setAttribute("workflow_task_description", description);
146         
147         request.setAttribute("createdBy", createdBy);
148         session.setAttribute("workflow_task_createdBy", createdBy);
149         
150         request.setAttribute("assignedTo", assignedTo);
151         session.setAttribute("workflow_task_assignedTo", assignedTo);
152         
153         request.setAttribute("createdFrom", createdFrom);
154         session.setAttribute("workflow_task_createdFrom", createdFrom);
155         
156         request.setAttribute("createdTo", createdTo);
157         session.setAttribute("workflow_task_createdTo", createdTo);
158         
159         request.setAttribute("modifiedFrom", modifiedFrom);
160         session.setAttribute("workflow_task_modifiedFrom", modifiedFrom);
161         
162         request.setAttribute("modifiedTo", modifiedTo);
163         session.setAttribute("workflow_task_modifiedTo", modifiedTo);
164         
165         request.setAttribute("orderBy", orderBy);
166         session.setAttribute("workflow_task_orderBy", orderBy);
167
168         int perPage = Config.getIntProperty("PER_PAGE");
169         int offset = perPage * (page - 1);
170         List JavaDoc<WorkflowTask> tasks = new ArrayList JavaDoc<WorkflowTask>();
171         tasks = WorkflowsFactory.filterWorkflowTasks(user, title, description, createdBy, assignedTo, createdFrom,
172                 createdTo, modifiedFrom, modifiedTo, offset, perPage, orderBy);
173         int count = WorkflowsFactory.filterWorkflowTasksCount(user, title, description, createdBy, assignedTo,
174                 createdFrom, createdTo, modifiedFrom, modifiedTo);
175         req.setAttribute(WebKeys.WORKFLOW_FILTER_TASKS_LIST, tasks);
176         req.setAttribute(WebKeys.WORKFLOW_FILTER_TASKS_COUNT, count);
177     }
178 }
Popular Tags