1
22
23 package com.liferay.portlet.journalcontent.action;
24
25 import com.liferay.portal.kernel.language.LanguageUtil;
26 import com.liferay.portal.kernel.util.GetterUtil;
27 import com.liferay.portal.kernel.util.ParamUtil;
28 import com.liferay.portal.kernel.util.StringPool;
29 import com.liferay.portal.kernel.util.Validator;
30 import com.liferay.portal.struts.PortletAction;
31 import com.liferay.portal.theme.ThemeDisplay;
32 import com.liferay.portal.util.WebKeys;
33 import com.liferay.portlet.journal.model.JournalArticleDisplay;
34 import com.liferay.portlet.journalcontent.util.JournalContentUtil;
35 import com.liferay.util.portlet.PortletRequestUtil;
36
37 import javax.portlet.PortletConfig;
38 import javax.portlet.PortletPreferences;
39 import javax.portlet.RenderRequest;
40 import javax.portlet.RenderResponse;
41
42 import org.apache.struts.action.ActionForm;
43 import org.apache.struts.action.ActionForward;
44 import org.apache.struts.action.ActionMapping;
45
46
53 public class ViewAction extends PortletAction {
54
55 public ActionForward render(
56 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
57 RenderRequest renderRequest, RenderResponse renderResponse)
58 throws Exception {
59
60 PortletPreferences prefs = renderRequest.getPreferences();
61
62 ThemeDisplay themeDisplay = (ThemeDisplay)renderRequest.getAttribute(
63 WebKeys.THEME_DISPLAY);
64
65 long groupId = ParamUtil.getLong(renderRequest, "groupId");
66
67 if (groupId < 1) {
68 groupId = GetterUtil.getLong(
69 prefs.getValue("group-id", StringPool.BLANK));
70 }
71
72 String articleId = ParamUtil.getString(renderRequest, "articleId");
73 String templateId = ParamUtil.getString(renderRequest, "templateId");
74
75 if (Validator.isNull(articleId)) {
76 articleId = GetterUtil.getString(
77 prefs.getValue("article-id", StringPool.BLANK));
78 templateId = GetterUtil.getString(
79 prefs.getValue("template-id", StringPool.BLANK));
80 }
81
82 String languageId = LanguageUtil.getLanguageId(renderRequest);
83
84 int page = ParamUtil.getInteger(renderRequest, "page", 1);
85
86 String xmlRequest = PortletRequestUtil.toXML(
87 renderRequest, renderResponse);
88
89 JournalArticleDisplay articleDisplay = null;
90
91 if ((groupId > 0) && Validator.isNotNull(articleId)) {
92 articleDisplay = JournalContentUtil.getDisplay(
93 groupId, articleId, templateId, languageId, themeDisplay,
94 page, xmlRequest);
95 }
96
97 if (articleDisplay != null) {
98 renderRequest.setAttribute(
99 WebKeys.JOURNAL_ARTICLE_DISPLAY, articleDisplay);
100 }
101 else {
102 renderRequest.removeAttribute(WebKeys.JOURNAL_ARTICLE_DISPLAY);
103
104
109 renderRequest.setAttribute(WebKeys.PORTLET_DECORATE, Boolean.FALSE);
110 }
111
112 return mapping.findForward("portlet.journal_content.view");
113 }
114
115 }