001
014
015 package com.liferay.portlet.messageboards.action;
016
017 import com.liferay.portal.kernel.servlet.SessionErrors;
018 import com.liferay.portal.security.auth.PrincipalException;
019 import com.liferay.portal.struts.PortletAction;
020 import com.liferay.portlet.messageboards.BannedUserException;
021 import com.liferay.portlet.messageboards.NoSuchCategoryException;
022
023 import javax.portlet.PortletConfig;
024 import javax.portlet.RenderRequest;
025 import javax.portlet.RenderResponse;
026
027 import org.apache.struts.action.ActionForm;
028 import org.apache.struts.action.ActionForward;
029 import org.apache.struts.action.ActionMapping;
030
031
034 public class ViewAction extends PortletAction {
035
036 @Override
037 public ActionForward render(
038 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
039 RenderRequest renderRequest, RenderResponse renderResponse)
040 throws Exception {
041
042 try {
043 ActionUtil.getCategory(renderRequest);
044 }
045 catch (Exception e) {
046 if (e instanceof BannedUserException ||
047 e instanceof NoSuchCategoryException ||
048 e instanceof PrincipalException) {
049
050 SessionErrors.add(renderRequest, e.getClass().getName());
051
052 return mapping.findForward("portlet.message_boards.error");
053 }
054 else {
055 throw e;
056 }
057 }
058
059 return mapping.findForward("portlet.message_boards.view");
060 }
061
062 }