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
52 public class ViewAction extends PortletAction {
53
54 public ActionForward render(
55 ActionMapping mapping, ActionForm form, PortletConfig config,
56 RenderRequest req, RenderResponse res)
57 throws Exception {
58
59 PortletPreferences prefs = req.getPreferences();
60
61 ThemeDisplay themeDisplay =
62 (ThemeDisplay)req.getAttribute(WebKeys.THEME_DISPLAY);
63
64 long groupId = ParamUtil.getLong(req, "groupId");
65
66 if (groupId < 1) {
67 groupId = GetterUtil.getLong(
68 prefs.getValue("group-id", StringPool.BLANK));
69 }
70
71 String articleId = ParamUtil.getString(req, "articleId");
72 String templateId = ParamUtil.getString(req, "templateId");
73
74 if (Validator.isNull(articleId)) {
75 articleId = GetterUtil.getString(
76 prefs.getValue("article-id", StringPool.BLANK));
77 templateId = GetterUtil.getString(
78 prefs.getValue("template-id", StringPool.BLANK));
79 }
80
81 String languageId = LanguageUtil.getLanguageId(req);
82
83 boolean disableCaching = GetterUtil.getBoolean(
84 prefs.getValue("disable-caching", StringPool.BLANK));
85
86 String xmlRequest = PortletRequestUtil.toXML(req, res);
87
88 JournalArticleDisplay articleDisplay = null;
89
90 if ((groupId > 0) && Validator.isNotNull(articleId)) {
91 articleDisplay = JournalContentUtil.getDisplay(
92 groupId, articleId, templateId, languageId, themeDisplay,
93 disableCaching, xmlRequest);
94 }
95
96 if (articleDisplay != null) {
97 req.setAttribute(WebKeys.JOURNAL_ARTICLE_DISPLAY, articleDisplay);
98 }
99 else {
100 req.removeAttribute(WebKeys.JOURNAL_ARTICLE_DISPLAY);
101
102
107 req.setAttribute(WebKeys.PORTLET_DECORATE, Boolean.FALSE);
108 }
109
110 return mapping.findForward("portlet.journal_content.view");
111 }
112
113 }