1
22
23 package com.liferay.portlet.messageboards.action;
24
25 import com.liferay.portal.kernel.util.ParamUtil;
26 import com.liferay.portal.util.PortalUtil;
27 import com.liferay.portal.util.PortletKeys;
28 import com.liferay.portlet.PortletURLImpl;
29 import com.liferay.portlet.messageboards.model.MBThread;
30 import com.liferay.portlet.messageboards.service.MBThreadLocalServiceUtil;
31
32 import javax.portlet.PortletMode;
33 import javax.portlet.PortletRequest;
34 import javax.portlet.PortletURL;
35 import javax.portlet.WindowState;
36
37 import javax.servlet.http.HttpServletRequest;
38 import javax.servlet.http.HttpServletResponse;
39
40 import org.apache.struts.action.Action;
41 import org.apache.struts.action.ActionForm;
42 import org.apache.struts.action.ActionForward;
43 import org.apache.struts.action.ActionMapping;
44
45
51 public class FindThreadAction extends Action {
52
53 public ActionForward execute(
54 ActionMapping mapping, ActionForm form, HttpServletRequest request,
55 HttpServletResponse response)
56 throws Exception {
57
58 try {
59 long plid = ParamUtil.getLong(request, "p_l_id");
60 long threadId = ParamUtil.getLong(request, "threadId");
61
62 MBThread thread = MBThreadLocalServiceUtil.getThread(threadId);
63
64 PortletURL portletURL = new PortletURLImpl(
65 request, PortletKeys.MESSAGE_BOARDS, plid,
66 PortletRequest.RENDER_PHASE);
67
68 portletURL.setWindowState(WindowState.NORMAL);
69 portletURL.setPortletMode(PortletMode.VIEW);
70
71 portletURL.setParameter(
72 "struts_action", "/message_boards/view_message");
73 portletURL.setParameter(
74 "messageId", String.valueOf(thread.getRootMessageId()));
75
76 response.sendRedirect(portletURL.toString());
77
78 return null;
79 }
80 catch (Exception e) {
81 PortalUtil.sendError(e, request, response);
82
83 return null;
84 }
85 }
86
87 }