1
14
15 package com.liferay.portlet.wiki.action;
16
17 import com.liferay.portal.kernel.servlet.SessionErrors;
18 import com.liferay.portal.security.auth.PrincipalException;
19 import com.liferay.portal.struts.PortletAction;
20 import com.liferay.portlet.wiki.NoSuchNodeException;
21 import com.liferay.portlet.wiki.model.WikiNode;
22
23 import javax.portlet.PortletConfig;
24 import javax.portlet.RenderRequest;
25 import javax.portlet.RenderResponse;
26
27 import org.apache.struts.action.ActionForm;
28 import org.apache.struts.action.ActionForward;
29 import org.apache.struts.action.ActionMapping;
30
31
36 public class ViewNodeAction extends PortletAction {
37
38 public ActionForward render(
39 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
40 RenderRequest renderRequest, RenderResponse renderResponse)
41 throws Exception {
42
43 try {
44 WikiNode node = ActionUtil.getNode(renderRequest);
45
46 if (node == null) {
47 ActionUtil.getFirstVisibleNode(renderRequest);
48 }
49 }
50 catch (Exception e) {
51 if (e instanceof NoSuchNodeException ||
52 e instanceof PrincipalException) {
53
54 SessionErrors.add(renderRequest, e.getClass().getName());
55
56 return mapping.findForward("portlet.wiki.error");
57 }
58 else {
59 throw e;
60 }
61 }
62
63 return mapping.findForward(
64 getForward(renderRequest, "portlet.wiki.view_node"));
65 }
66
67 }