1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * Permission is hereby granted, free of charge, to any person obtaining a copy
5    * of this software and associated documentation files (the "Software"), to deal
6    * in the Software without restriction, including without limitation the rights
7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8    * copies of the Software, and to permit persons to whom the Software is
9    * furnished to do so, subject to the following conditions:
10   *
11   * The above copyright notice and this permission notice shall be included in
12   * all copies or substantial portions 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.service.http;
24  
25  import com.liferay.portal.kernel.json.JSONObject;
26  
27  import com.liferay.portlet.journal.service.JournalArticleServiceUtil;
28  
29  /**
30   * <a href="JournalArticleServiceJSON.java.html"><b><i>View Source</i></b></a>
31   *
32   * <p>
33   * ServiceBuilder generated this class. Modifications in this class will be
34   * overwritten the next time is generated.
35   * </p>
36   *
37   * <p>
38   * This class provides a JSON utility for the
39   * <code>com.liferay.portlet.journal.service.JournalArticleServiceUtil</code>
40   * service utility. The static methods of this class calls the same methods of
41   * the service utility. However, the signatures are different because it is
42   * difficult for JSON to support certain types.
43   * </p>
44   *
45   * <p>
46   * ServiceBuilder follows certain rules in translating the methods. For example,
47   * if the method in the service utility returns a <code>java.util.List</code>,
48   * that is translated to a
49   * <code>com.liferay.portal.kernel.json.JSONArray</code>. If the method in the
50   * service utility returns a <code>com.liferay.portlet.journal.model.JournalArticle</code>,
51   * that is translated to a
52   * <code>com.liferay.portal.kernel.json.JSONObject</code>. Methods that JSON
53   * cannot safely use are skipped. The logic for the translation is encapsulated
54   * in <code>com.liferay.portlet.journal.service.http.JournalArticleJSONSerializer</code>.
55   * </p>
56   *
57   * <p>
58   * This allows you to call the the backend services directly from JavaScript.
59   * See <code>portal-web/docroot/html/portlet/tags_admin/unpacked.js</code> for a
60   * reference of how that portlet uses the generated JavaScript in
61   * <code>portal-web/docroot/html/js/service.js</code> to call the backend
62   * services directly from JavaScript.
63   * </p>
64   *
65   * <p>
66   * The JSON utility is only generated for remote services.
67   * </p>
68   *
69   * @author Brian Wing Shun Chan
70   *
71   * @see com.liferay.portlet.journal.service.JournalArticleServiceUtil
72   * @see com.liferay.portlet.journal.service.http.JournalArticleJSONSerializer
73   *
74   */
75  public class JournalArticleServiceJSON {
76      public static JSONObject addArticle(long groupId,
77          java.lang.String articleId, boolean autoArticleId,
78          java.lang.String title, java.lang.String description,
79          java.lang.String content, java.lang.String type,
80          java.lang.String structureId, java.lang.String templateId,
81          int displayDateMonth, int displayDateDay, int displayDateYear,
82          int displayDateHour, int displayDateMinute, int expirationDateMonth,
83          int expirationDateDay, int expirationDateYear, int expirationDateHour,
84          int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
85          int reviewDateDay, int reviewDateYear, int reviewDateHour,
86          int reviewDateMinute, boolean neverReview, boolean indexable,
87          java.lang.String articleURL, java.lang.String[] tagsCategories,
88          java.lang.String[] tagsEntries, boolean addCommunityPermissions,
89          boolean addGuestPermissions)
90          throws com.liferay.portal.PortalException,
91              com.liferay.portal.SystemException {
92          com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.addArticle(groupId,
93                  articleId, autoArticleId, title, description, content, type,
94                  structureId, templateId, displayDateMonth, displayDateDay,
95                  displayDateYear, displayDateHour, displayDateMinute,
96                  expirationDateMonth, expirationDateDay, expirationDateYear,
97                  expirationDateHour, expirationDateMinute, neverExpire,
98                  reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour,
99                  reviewDateMinute, neverReview, indexable, articleURL,
100                 tagsCategories, tagsEntries, addCommunityPermissions,
101                 addGuestPermissions);
102 
103         return JournalArticleJSONSerializer.toJSONObject(returnValue);
104     }
105 
106     public static JSONObject addArticle(long groupId,
107         java.lang.String articleId, boolean autoArticleId,
108         java.lang.String title, java.lang.String description,
109         java.lang.String content, java.lang.String type,
110         java.lang.String structureId, java.lang.String templateId,
111         int displayDateMonth, int displayDateDay, int displayDateYear,
112         int displayDateHour, int displayDateMinute, int expirationDateMonth,
113         int expirationDateDay, int expirationDateYear, int expirationDateHour,
114         int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
115         int reviewDateDay, int reviewDateYear, int reviewDateHour,
116         int reviewDateMinute, boolean neverReview, boolean indexable,
117         java.lang.String articleURL, java.lang.String[] tagsCategories,
118         java.lang.String[] tagsEntries,
119         java.lang.String[] communityPermissions,
120         java.lang.String[] guestPermissions)
121         throws com.liferay.portal.PortalException,
122             com.liferay.portal.SystemException {
123         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.addArticle(groupId,
124                 articleId, autoArticleId, title, description, content, type,
125                 structureId, templateId, displayDateMonth, displayDateDay,
126                 displayDateYear, displayDateHour, displayDateMinute,
127                 expirationDateMonth, expirationDateDay, expirationDateYear,
128                 expirationDateHour, expirationDateMinute, neverExpire,
129                 reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour,
130                 reviewDateMinute, neverReview, indexable, articleURL,
131                 tagsCategories, tagsEntries, communityPermissions,
132                 guestPermissions);
133 
134         return JournalArticleJSONSerializer.toJSONObject(returnValue);
135     }
136 
137     public static JSONObject copyArticle(long groupId,
138         java.lang.String oldArticleId, java.lang.String newArticleId,
139         boolean autoArticleId, double version)
140         throws com.liferay.portal.PortalException,
141             com.liferay.portal.SystemException {
142         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.copyArticle(groupId,
143                 oldArticleId, newArticleId, autoArticleId, version);
144 
145         return JournalArticleJSONSerializer.toJSONObject(returnValue);
146     }
147 
148     public static JSONObject getArticle(long groupId, java.lang.String articleId)
149         throws com.liferay.portal.PortalException,
150             com.liferay.portal.SystemException {
151         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getArticle(groupId,
152                 articleId);
153 
154         return JournalArticleJSONSerializer.toJSONObject(returnValue);
155     }
156 
157     public static JSONObject getArticle(long groupId,
158         java.lang.String articleId, double version)
159         throws com.liferay.portal.PortalException,
160             com.liferay.portal.SystemException {
161         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getArticle(groupId,
162                 articleId, version);
163 
164         return JournalArticleJSONSerializer.toJSONObject(returnValue);
165     }
166 
167     public static void removeArticleLocale(long companyId,
168         java.lang.String languageId)
169         throws com.liferay.portal.PortalException,
170             com.liferay.portal.SystemException {
171         JournalArticleServiceUtil.removeArticleLocale(companyId, languageId);
172     }
173 
174     public static JSONObject removeArticleLocale(long groupId,
175         java.lang.String articleId, double version, java.lang.String languageId)
176         throws com.liferay.portal.PortalException,
177             com.liferay.portal.SystemException {
178         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.removeArticleLocale(groupId,
179                 articleId, version, languageId);
180 
181         return JournalArticleJSONSerializer.toJSONObject(returnValue);
182     }
183 
184     public static JSONObject updateContent(long groupId,
185         java.lang.String articleId, double version, java.lang.String content)
186         throws com.liferay.portal.PortalException,
187             com.liferay.portal.SystemException {
188         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.updateContent(groupId,
189                 articleId, version, content);
190 
191         return JournalArticleJSONSerializer.toJSONObject(returnValue);
192     }
193 }