1
22
23 package com.liferay.portlet.wikidisplay.action;
24
25 import com.liferay.portal.kernel.util.GetterUtil;
26 import com.liferay.portal.kernel.util.ParamUtil;
27 import com.liferay.portal.kernel.util.StringPool;
28 import com.liferay.portal.struts.PortletAction;
29 import com.liferay.portal.util.WebKeys;
30 import com.liferay.portlet.wiki.NoSuchNodeException;
31 import com.liferay.portlet.wiki.NoSuchPageException;
32 import com.liferay.portlet.wiki.model.WikiNode;
33 import com.liferay.portlet.wiki.model.WikiPage;
34 import com.liferay.portlet.wiki.model.impl.WikiPageImpl;
35 import com.liferay.portlet.wiki.service.WikiNodeServiceUtil;
36 import com.liferay.portlet.wiki.service.WikiPageServiceUtil;
37
38 import javax.portlet.PortletConfig;
39 import javax.portlet.PortletPreferences;
40 import javax.portlet.RenderRequest;
41 import javax.portlet.RenderResponse;
42
43 import org.apache.struts.action.ActionForm;
44 import org.apache.struts.action.ActionForward;
45 import org.apache.struts.action.ActionMapping;
46
47
53 public class ViewAction extends PortletAction {
54
55 public ActionForward render(
56 ActionMapping mapping, ActionForm form, PortletConfig config,
57 RenderRequest req, RenderResponse res)
58 throws Exception {
59
60 try {
61 PortletPreferences prefs = req.getPreferences();
62
63 long nodeId = GetterUtil.getLong(
64 prefs.getValue("node-id", StringPool.BLANK));
65 String title = ParamUtil.getString(
66 req, "title", WikiPageImpl.FRONT_PAGE);
67
68 WikiNode node = WikiNodeServiceUtil.getNode(nodeId);
69
70 WikiPage wikiPage = null;
71
72 try {
73 wikiPage = WikiPageServiceUtil.getPage(nodeId, title);
74 }
75 catch (NoSuchPageException nspe) {
76 wikiPage = WikiPageServiceUtil.addPage(nodeId, title);
77 }
78
79 req.setAttribute(WebKeys.WIKI_NODE, node);
80 req.setAttribute(WebKeys.WIKI_PAGE, wikiPage);
81
82 return mapping.findForward("portlet.wiki_display.view");
83 }
84 catch (NoSuchNodeException nsne) {
85 return mapping.findForward("/portal/portlet_not_setup");
86 }
87 }
88
89 }