001
014
015 package com.liferay.portlet.messageboards.action;
016
017 import com.liferay.portal.kernel.util.ParamUtil;
018 import com.liferay.portlet.messageboards.model.MBThread;
019 import com.liferay.portlet.messageboards.service.MBThreadLocalServiceUtil;
020
021 import javax.portlet.PortletURL;
022
023 import javax.servlet.http.HttpServletRequest;
024
025
028 public class FindThreadAction extends FindMessageAction {
029
030 @Override
031 protected long getGroupId(long primaryKey) throws Exception {
032 MBThread thread = MBThreadLocalServiceUtil.getThread(primaryKey);
033
034 return thread.getGroupId();
035 }
036
037 @Override
038 protected String getPrimaryKeyParameterName() {
039 return "threadId";
040 }
041
042 @Override
043 protected String getStrutsAction(
044 HttpServletRequest request, String portletId) {
045
046 return "/message_boards/view_message";
047 }
048
049 @Override
050 protected PortletURL processPortletURL(
051 HttpServletRequest request, PortletURL portletURL)
052 throws Exception {
053
054 long threadId = ParamUtil.getLong(
055 request, getPrimaryKeyParameterName());
056
057 MBThread thread = MBThreadLocalServiceUtil.getThread(threadId);
058
059 portletURL.setParameter(
060 "messageId", String.valueOf(thread.getRootMessageId()));
061
062 return portletURL;
063 }
064
065 }