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