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