01: /*
02: * SharedTasksFacesPortlet.java
03: *
04: * This is just an wrapper for Community Search.
05: * The tasks added to the database contain the portlet URL as displayURL.
06: * When it is selected it is handled by this class ( only for MenuContainer)
07: * When user selects a task ( obtained as search result), it is redirected
08: * to the sharedtask portlet for menucontainer .
09: */
10:
11: package com.sun.portal.app.sharedtasks.faces;
12:
13: import com.sun.portal.app.sharedtasks.util.SharedConstants;
14: import com.sun.faces.portlet.FacesPortlet;
15: import com.sun.portal.log.common.PortalLogger;
16: import com.sun.portal.portlet.impl.PortletRequestConstants;
17: import javax.servlet.http.HttpServletRequest;
18: import javax.portlet.*;
19:
20: import java.io.IOException;
21: import java.util.logging.Logger;
22:
23: /**
24: *
25: *
26: */
27: public final class SharedTasksFacesPortlet extends FacesPortlet
28: implements Portlet {
29:
30: private static final String CLASS_NAME = "SharedTasksFacesPortlet";
31: private Logger logger = PortalLogger
32: .getLogger(SharedTasksFacesPortlet.class);
33:
34: /** Creates a new instance of SharedEventsPortlet */
35: public SharedTasksFacesPortlet() {
36: logger.entering(CLASS_NAME, "SharedTasksFacesPortlet");
37:
38: logger.exiting(CLASS_NAME, "SharedTasksFacesPortlet");
39: }
40:
41: public void processAction(ActionRequest req, ActionResponse res)
42: throws PortletException, IOException {
43: logger.entering(CLASS_NAME, "processAction");
44: String searchSt = req
45: .getParameter(SharedConstants.URL_COMM_SEARCH_TASKS);
46: if (searchSt != null && (searchSt.length() > 0)) {
47: PortletSession session = req.getPortletSession();
48: session.setAttribute(SharedConstants.URL_COMM_SEARCH_TASKS,
49: String.valueOf(true));
50:
51: String taskId = req
52: .getParameter(SharedConstants.REQ_PARAM_TASKID);
53: if (taskId != null) {
54: session.setAttribute(SharedConstants.REQ_PARAM_TASKID,
55: taskId);
56: logger.fine(SharedConstants.REQ_PARAM_TASKID + "="
57: + taskId);
58: }
59: String taskRid = req
60: .getParameter(SharedConstants.REQ_PARAM_TASKRID);
61: if (taskRid != null) {
62: logger.fine(SharedConstants.REQ_PARAM_TASKRID + "="
63: + taskRid);
64: session.setAttribute(SharedConstants.REQ_PARAM_TASKRID,
65: taskRid);
66: }
67:
68: String redirectURL = req
69: .getPreferences()
70: .getValue(
71: SharedConstants.URL_VISIBLE_FOR_MENUCONTAINER,
72: null);
73: logger
74: .fine(" processAction() , redirectURL="
75: + redirectURL);
76:
77: if (redirectURL != null
78: && !redirectURL
79: .equalsIgnoreCase(SharedConstants.DUMMY)) {
80: HttpServletRequest httpReq = (HttpServletRequest) req
81: .getAttribute(PortletRequestConstants.HTTP_SERVLET_REQUEST);
82: StringBuffer stBuff = new StringBuffer();
83: stBuff.append(httpReq.getRequestURI());
84: stBuff.append(redirectURL);
85: res.sendRedirect(stBuff.toString());
86: return;
87: }
88: }
89: super .processAction(req, res);
90: logger.exiting(CLASS_NAME, "processAction");
91: }
92:
93: }
|