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,
149         java.lang.String articleId, double version)
150         throws com.liferay.portal.PortalException,
151             com.liferay.portal.SystemException {
152         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getArticle(groupId,
153                 articleId, version);
154 
155         return JournalArticleJSONSerializer.toJSONObject(returnValue);
156     }
157 
158     public static void removeArticleLocale(long companyId,
159         java.lang.String languageId)
160         throws com.liferay.portal.PortalException,
161             com.liferay.portal.SystemException {
162         JournalArticleServiceUtil.removeArticleLocale(companyId, languageId);
163     }
164 
165     public static JSONObject removeArticleLocale(long groupId,
166         java.lang.String articleId, double version, java.lang.String languageId)
167         throws com.liferay.portal.PortalException,
168             com.liferay.portal.SystemException {
169         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.removeArticleLocale(groupId,
170                 articleId, version, languageId);
171 
172         return JournalArticleJSONSerializer.toJSONObject(returnValue);
173     }
174 
175     public static JSONObject updateContent(long groupId,
176         java.lang.String articleId, double version, java.lang.String content)
177         throws com.liferay.portal.PortalException,
178             com.liferay.portal.SystemException {
179         com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.updateContent(groupId,
180                 articleId, version, content);
181 
182         return JournalArticleJSONSerializer.toJSONObject(returnValue);
183     }
184 }