1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portlet.journal.action;
16  
17  import com.liferay.portal.kernel.util.ParamUtil;
18  import com.liferay.portal.kernel.util.Validator;
19  import com.liferay.portal.kernel.workflow.WorkflowConstants;
20  import com.liferay.portal.util.PortalUtil;
21  import com.liferay.portal.util.WebKeys;
22  import com.liferay.portlet.journal.model.JournalArticle;
23  import com.liferay.portlet.journal.model.JournalFeed;
24  import com.liferay.portlet.journal.model.JournalStructure;
25  import com.liferay.portlet.journal.model.JournalTemplate;
26  import com.liferay.portlet.journal.service.JournalArticleServiceUtil;
27  import com.liferay.portlet.journal.service.JournalFeedServiceUtil;
28  import com.liferay.portlet.journal.service.JournalStructureServiceUtil;
29  import com.liferay.portlet.journal.service.JournalTemplateServiceUtil;
30  import com.liferay.portlet.journal.util.JournalUtil;
31  
32  import javax.portlet.ActionRequest;
33  import javax.portlet.RenderRequest;
34  
35  import javax.servlet.http.HttpServletRequest;
36  
37  /**
38   * <a href="ActionUtil.java.html"><b><i>View Source</i></b></a>
39   *
40   * @author Brian Wing Shun Chan
41   */
42  public class ActionUtil {
43  
44      public static void getArticle(ActionRequest actionRequest)
45          throws Exception {
46  
47          HttpServletRequest request = PortalUtil.getHttpServletRequest(
48              actionRequest);
49  
50          getArticle(request);
51  
52          JournalArticle article = (JournalArticle)actionRequest.getAttribute(
53              WebKeys.JOURNAL_ARTICLE);
54  
55          JournalUtil.addRecentArticle(actionRequest, article);
56      }
57  
58      public static void getArticle(RenderRequest renderRequest)
59          throws Exception {
60  
61          HttpServletRequest request = PortalUtil.getHttpServletRequest(
62              renderRequest);
63  
64          getArticle(request);
65  
66          JournalArticle article = (JournalArticle)renderRequest.getAttribute(
67              WebKeys.JOURNAL_ARTICLE);
68  
69          JournalUtil.addRecentArticle(renderRequest, article);
70      }
71  
72      public static void getArticle(HttpServletRequest request) throws Exception {
73          long groupId = ParamUtil.getLong(request, "groupId");
74          String articleId = ParamUtil.getString(request, "articleId");
75  
76          JournalArticle article = null;
77  
78          if (Validator.isNotNull(articleId)) {
79              article = JournalArticleServiceUtil.getLatestArticle(
80                  groupId, articleId, WorkflowConstants.STATUS_ANY);
81          }
82  
83          request.setAttribute(WebKeys.JOURNAL_ARTICLE, article);
84      }
85  
86      public static void getFeed(ActionRequest actionRequest) throws Exception {
87          HttpServletRequest request = PortalUtil.getHttpServletRequest(
88              actionRequest);
89  
90          getFeed(request);
91      }
92  
93      public static void getFeed(RenderRequest renderRequest) throws Exception {
94          HttpServletRequest request = PortalUtil.getHttpServletRequest(
95              renderRequest);
96  
97          getFeed(request);
98      }
99  
100     public static void getFeed(HttpServletRequest request) throws Exception {
101         long groupId = ParamUtil.getLong(request, "groupId");
102         String feedId = ParamUtil.getString(request, "feedId");
103 
104         JournalFeed feed = null;
105 
106         if (Validator.isNotNull(feedId)) {
107             feed = JournalFeedServiceUtil.getFeed(groupId, feedId);
108         }
109 
110         request.setAttribute(WebKeys.JOURNAL_FEED, feed);
111     }
112 
113     public static void getStructure(ActionRequest actionRequest)
114         throws Exception {
115 
116         HttpServletRequest request = PortalUtil.getHttpServletRequest(
117             actionRequest);
118 
119         getStructure(request);
120 
121         JournalStructure structure =
122             (JournalStructure)actionRequest.getAttribute(
123                 WebKeys.JOURNAL_STRUCTURE);
124 
125         JournalUtil.addRecentStructure(actionRequest, structure);
126     }
127 
128     public static void getStructure(RenderRequest renderRequest)
129         throws Exception {
130 
131         HttpServletRequest request = PortalUtil.getHttpServletRequest(
132             renderRequest);
133 
134         getStructure(request);
135 
136         JournalStructure structure =
137             (JournalStructure)renderRequest.getAttribute(
138                 WebKeys.JOURNAL_STRUCTURE);
139 
140         JournalUtil.addRecentStructure(renderRequest, structure);
141     }
142 
143     public static void getStructure(HttpServletRequest request)
144         throws Exception {
145 
146         long groupId = ParamUtil.getLong(request, "groupId");
147         String structureId = ParamUtil.getString(request, "structureId");
148 
149         JournalStructure structure = null;
150 
151         if (Validator.isNotNull(structureId)) {
152             structure = JournalStructureServiceUtil.getStructure(
153                 groupId, structureId);
154         }
155 
156         request.setAttribute(WebKeys.JOURNAL_STRUCTURE, structure);
157     }
158 
159     public static void getTemplate(ActionRequest actionRequest)
160         throws Exception {
161 
162         HttpServletRequest request = PortalUtil.getHttpServletRequest(
163             actionRequest);
164 
165         getTemplate(request);
166 
167         JournalTemplate template = (JournalTemplate)actionRequest.getAttribute(
168             WebKeys.JOURNAL_TEMPLATE);
169 
170         JournalUtil.addRecentTemplate(actionRequest, template);
171     }
172 
173     public static void getTemplate(RenderRequest renderRequest)
174         throws Exception {
175 
176         HttpServletRequest request = PortalUtil.getHttpServletRequest(
177             renderRequest);
178 
179         getTemplate(request);
180 
181         JournalTemplate template = (JournalTemplate)renderRequest.getAttribute(
182             WebKeys.JOURNAL_TEMPLATE);
183 
184         JournalUtil.addRecentTemplate(renderRequest, template);
185     }
186 
187     public static void getTemplate(HttpServletRequest request)
188         throws Exception {
189 
190         long groupId = ParamUtil.getLong(request, "groupId");
191         String templateId = ParamUtil.getString(request, "templateId");
192 
193         JournalTemplate template = null;
194 
195         if (Validator.isNotNull(templateId)) {
196             template = JournalTemplateServiceUtil.getTemplate(
197                 groupId, templateId);
198         }
199 
200         request.setAttribute(WebKeys.JOURNAL_TEMPLATE, template);
201     }
202 
203 }