1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    *
5    *
6    *
7    * The contents of this file are subject to the terms of the Liferay Enterprise
8    * Subscription License ("License"). You may not use this file except in
9    * compliance with the License. You can obtain a copy of the License by
10   * contacting Liferay, Inc. See the License for the specific language governing
11   * permissions and limitations under the License, including but not limited to
12   * distribution rights of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portlet.journal.action;
24  
25  import com.liferay.portal.kernel.util.ParamUtil;
26  import com.liferay.portal.kernel.util.Validator;
27  import com.liferay.portal.util.PortalUtil;
28  import com.liferay.portal.util.WebKeys;
29  import com.liferay.portlet.journal.model.JournalArticle;
30  import com.liferay.portlet.journal.model.JournalFeed;
31  import com.liferay.portlet.journal.model.JournalStructure;
32  import com.liferay.portlet.journal.model.JournalTemplate;
33  import com.liferay.portlet.journal.model.impl.JournalArticleImpl;
34  import com.liferay.portlet.journal.service.JournalArticleServiceUtil;
35  import com.liferay.portlet.journal.service.JournalFeedServiceUtil;
36  import com.liferay.portlet.journal.service.JournalStructureServiceUtil;
37  import com.liferay.portlet.journal.service.JournalTemplateServiceUtil;
38  import com.liferay.portlet.journal.util.JournalUtil;
39  
40  import javax.portlet.ActionRequest;
41  import javax.portlet.RenderRequest;
42  
43  import javax.servlet.http.HttpServletRequest;
44  
45  /**
46   * <a href="ActionUtil.java.html"><b><i>View Source</i></b></a>
47   *
48   * @author Brian Wing Shun Chan
49   */
50  public class ActionUtil {
51  
52      public static void getArticle(ActionRequest actionRequest)
53          throws Exception {
54  
55          HttpServletRequest request = PortalUtil.getHttpServletRequest(
56              actionRequest);
57  
58          getArticle(request);
59  
60          JournalArticle article = (JournalArticle)actionRequest.getAttribute(
61              WebKeys.JOURNAL_ARTICLE);
62  
63          JournalUtil.addRecentArticle(actionRequest, article);
64      }
65  
66      public static void getArticle(RenderRequest renderRequest)
67          throws Exception {
68  
69          HttpServletRequest request = PortalUtil.getHttpServletRequest(
70              renderRequest);
71  
72          getArticle(request);
73  
74          JournalArticle article = (JournalArticle)renderRequest.getAttribute(
75              WebKeys.JOURNAL_ARTICLE);
76  
77          JournalUtil.addRecentArticle(renderRequest, article);
78      }
79  
80      public static void getArticle(HttpServletRequest request) throws Exception {
81          long groupId = ParamUtil.getLong(request, "groupId");
82          String articleId = ParamUtil.getString(request, "articleId");
83          double version = ParamUtil.getDouble(
84              request, "version", JournalArticleImpl.DEFAULT_VERSION);
85  
86          JournalArticle article = null;
87  
88          if (Validator.isNotNull(articleId)) {
89              article = JournalArticleServiceUtil.getArticle(
90                  groupId, articleId, version);
91          }
92  
93          request.setAttribute(WebKeys.JOURNAL_ARTICLE, article);
94      }
95  
96      public static void getFeed(ActionRequest actionRequest) throws Exception {
97          HttpServletRequest request = PortalUtil.getHttpServletRequest(
98              actionRequest);
99  
100         getFeed(request);
101     }
102 
103     public static void getFeed(RenderRequest renderRequest) throws Exception {
104         HttpServletRequest request = PortalUtil.getHttpServletRequest(
105             renderRequest);
106 
107         getFeed(request);
108     }
109 
110     public static void getFeed(HttpServletRequest request) throws Exception {
111         long groupId = ParamUtil.getLong(request, "groupId");
112         String feedId = ParamUtil.getString(request, "feedId");
113 
114         JournalFeed feed = null;
115 
116         if (Validator.isNotNull(feedId)) {
117             feed = JournalFeedServiceUtil.getFeed(groupId, feedId);
118         }
119 
120         request.setAttribute(WebKeys.JOURNAL_FEED, feed);
121     }
122 
123     public static void getStructure(ActionRequest actionRequest)
124         throws Exception {
125 
126         HttpServletRequest request = PortalUtil.getHttpServletRequest(
127             actionRequest);
128 
129         getStructure(request);
130 
131         JournalStructure structure =
132             (JournalStructure)actionRequest.getAttribute(
133                 WebKeys.JOURNAL_STRUCTURE);
134 
135         JournalUtil.addRecentStructure(actionRequest, structure);
136     }
137 
138     public static void getStructure(RenderRequest renderRequest)
139         throws Exception {
140 
141         HttpServletRequest request = PortalUtil.getHttpServletRequest(
142             renderRequest);
143 
144         getStructure(request);
145 
146         JournalStructure structure =
147             (JournalStructure)renderRequest.getAttribute(
148                 WebKeys.JOURNAL_STRUCTURE);
149 
150         JournalUtil.addRecentStructure(renderRequest, structure);
151     }
152 
153     public static void getStructure(HttpServletRequest request)
154         throws Exception {
155 
156         long groupId = ParamUtil.getLong(request, "groupId");
157         String structureId = ParamUtil.getString(request, "structureId");
158 
159         JournalStructure structure = null;
160 
161         if (Validator.isNotNull(structureId)) {
162             structure = JournalStructureServiceUtil.getStructure(
163                 groupId, structureId);
164         }
165 
166         request.setAttribute(WebKeys.JOURNAL_STRUCTURE, structure);
167     }
168 
169     public static void getTemplate(ActionRequest actionRequest)
170         throws Exception {
171 
172         HttpServletRequest request = PortalUtil.getHttpServletRequest(
173             actionRequest);
174 
175         getTemplate(request);
176 
177         JournalTemplate template = (JournalTemplate)actionRequest.getAttribute(
178             WebKeys.JOURNAL_TEMPLATE);
179 
180         JournalUtil.addRecentTemplate(actionRequest, template);
181     }
182 
183     public static void getTemplate(RenderRequest renderRequest)
184         throws Exception {
185 
186         HttpServletRequest request = PortalUtil.getHttpServletRequest(
187             renderRequest);
188 
189         getTemplate(request);
190 
191         JournalTemplate template = (JournalTemplate)renderRequest.getAttribute(
192             WebKeys.JOURNAL_TEMPLATE);
193 
194         JournalUtil.addRecentTemplate(renderRequest, template);
195     }
196 
197     public static void getTemplate(HttpServletRequest request)
198         throws Exception {
199 
200         long groupId = ParamUtil.getLong(request, "groupId");
201         String templateId = ParamUtil.getString(request, "templateId");
202 
203         JournalTemplate template = null;
204 
205         if (Validator.isNotNull(templateId)) {
206             template = JournalTemplateServiceUtil.getTemplate(
207                 groupId, templateId);
208         }
209 
210         request.setAttribute(WebKeys.JOURNAL_TEMPLATE, template);
211     }
212 
213 }