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