001
014
015 package com.liferay.portlet.journal.action;
016
017 import com.liferay.portal.kernel.util.Constants;
018 import com.liferay.portal.kernel.util.ParamUtil;
019 import com.liferay.portal.kernel.util.Validator;
020 import com.liferay.portal.kernel.workflow.WorkflowConstants;
021 import com.liferay.portal.theme.ThemeDisplay;
022 import com.liferay.portal.util.PortalUtil;
023 import com.liferay.portal.util.WebKeys;
024 import com.liferay.portlet.journal.NoSuchStructureException;
025 import com.liferay.portlet.journal.model.JournalArticle;
026 import com.liferay.portlet.journal.model.JournalFeed;
027 import com.liferay.portlet.journal.model.JournalStructure;
028 import com.liferay.portlet.journal.model.JournalTemplate;
029 import com.liferay.portlet.journal.service.JournalArticleServiceUtil;
030 import com.liferay.portlet.journal.service.JournalFeedServiceUtil;
031 import com.liferay.portlet.journal.service.JournalStructureServiceUtil;
032 import com.liferay.portlet.journal.service.JournalTemplateServiceUtil;
033 import com.liferay.portlet.journal.util.JournalUtil;
034
035 import javax.portlet.PortletRequest;
036
037 import javax.servlet.http.HttpServletRequest;
038
039
042 public class ActionUtil {
043
044 public static void getArticle(HttpServletRequest request) throws Exception {
045 String cmd = ParamUtil.getString(request, Constants.CMD);
046
047 long groupId = ParamUtil.getLong(request, "groupId");
048 long classNameId = ParamUtil.getLong(request, "classNameId");
049 long classPK = ParamUtil.getLong(request, "classPK");
050 String articleId = ParamUtil.getString(request, "articleId");
051 String structureId = ParamUtil.getString(request, "structureId");
052
053 JournalArticle article = null;
054
055 if (!cmd.equals(Constants.ADD) && Validator.isNotNull(articleId)) {
056 article = JournalArticleServiceUtil.getLatestArticle(
057 groupId, articleId, WorkflowConstants.STATUS_ANY);
058 }
059 else if ((classNameId > 0) && (classPK > 0)) {
060 String className = PortalUtil.getClassName(classNameId);
061
062 article = JournalArticleServiceUtil.getLatestArticle(
063 groupId, className, classPK);
064 }
065 else if (Validator.isNotNull(structureId)) {
066 JournalStructure structure = null;
067
068 try {
069 structure = JournalStructureServiceUtil.getStructure(
070 groupId, structureId);
071 }
072 catch (NoSuchStructureException nsse1) {
073 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
074 WebKeys.THEME_DISPLAY);
075
076 if (groupId == themeDisplay.getCompanyGroupId()) {
077 return;
078 }
079
080 try {
081 structure = JournalStructureServiceUtil.getStructure(
082 themeDisplay.getCompanyGroupId(), structureId);
083 }
084 catch (NoSuchStructureException nsse2) {
085 return;
086 }
087 }
088
089 article = JournalArticleServiceUtil.getArticle(
090 groupId, JournalStructure.class.getName(), structure.getId());
091
092 article.setNew(true);
093
094 article.setId(0);
095 article.setClassNameId(0);
096 article.setClassPK(0);
097 article.setArticleId(null);
098 article.setVersion(0);
099 }
100
101 request.setAttribute(WebKeys.JOURNAL_ARTICLE, article);
102 }
103
104 public static void getArticle(PortletRequest portletRequest)
105 throws Exception {
106
107 HttpServletRequest request = PortalUtil.getHttpServletRequest(
108 portletRequest);
109
110 getArticle(request);
111
112 JournalArticle article = (JournalArticle)portletRequest.getAttribute(
113 WebKeys.JOURNAL_ARTICLE);
114
115 JournalUtil.addRecentArticle(portletRequest, article);
116 }
117
118 public static void getFeed(HttpServletRequest request) throws Exception {
119 long groupId = ParamUtil.getLong(request, "groupId");
120 String feedId = ParamUtil.getString(request, "feedId");
121
122 JournalFeed feed = null;
123
124 if (Validator.isNotNull(feedId)) {
125 feed = JournalFeedServiceUtil.getFeed(groupId, feedId);
126 }
127
128 request.setAttribute(WebKeys.JOURNAL_FEED, feed);
129 }
130
131 public static void getFeed(PortletRequest portletRequest) throws Exception {
132 HttpServletRequest request = PortalUtil.getHttpServletRequest(
133 portletRequest);
134
135 getFeed(request);
136 }
137
138 public static void getStructure(HttpServletRequest request)
139 throws Exception {
140
141 long groupId = ParamUtil.getLong(request, "groupId");
142 String structureId = ParamUtil.getString(request, "structureId");
143
144 JournalStructure structure = null;
145
146 if (Validator.isNotNull(structureId)) {
147 structure = JournalStructureServiceUtil.getStructure(
148 groupId, structureId);
149 }
150
151 request.setAttribute(WebKeys.JOURNAL_STRUCTURE, structure);
152 }
153
154 public static void getStructure(PortletRequest portletRequest)
155 throws Exception {
156
157 HttpServletRequest request = PortalUtil.getHttpServletRequest(
158 portletRequest);
159
160 getStructure(request);
161
162 JournalStructure structure =
163 (JournalStructure)portletRequest.getAttribute(
164 WebKeys.JOURNAL_STRUCTURE);
165
166 JournalUtil.addRecentStructure(portletRequest, structure);
167 }
168
169 public static void getTemplate(HttpServletRequest request)
170 throws Exception {
171
172 long groupId = ParamUtil.getLong(request, "groupId");
173 String templateId = ParamUtil.getString(request, "templateId");
174
175 JournalTemplate template = null;
176
177 if (Validator.isNotNull(templateId)) {
178 template = JournalTemplateServiceUtil.getTemplate(
179 groupId, templateId);
180 }
181
182 request.setAttribute(WebKeys.JOURNAL_TEMPLATE, template);
183 }
184
185 public static void getTemplate(PortletRequest portletRequest)
186 throws Exception {
187
188 HttpServletRequest request = PortalUtil.getHttpServletRequest(
189 portletRequest);
190
191 getTemplate(request);
192
193 JournalTemplate template = (JournalTemplate)portletRequest.getAttribute(
194 WebKeys.JOURNAL_TEMPLATE);
195
196 JournalUtil.addRecentTemplate(portletRequest, template);
197 }
198
199 }