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.wiki.service.http;
21  
22  import com.liferay.portal.kernel.json.JSONArray;
23  import com.liferay.portal.kernel.json.JSONObject;
24  
25  import com.liferay.portlet.wiki.service.WikiPageServiceUtil;
26  
27  /**
28   * <a href="WikiPageServiceJSON.java.html"><b><i>View Source</i></b></a>
29   *
30   * <p>
31   * ServiceBuilder generated this class. Modifications in this class will be
32   * overwritten the next time is generated.
33   * </p>
34   *
35   * <p>
36   * This class provides a JSON utility for the
37   * <code>com.liferay.portlet.wiki.service.WikiPageServiceUtil</code>
38   * service utility. The static methods of this class calls the same methods of
39   * the service utility. However, the signatures are different because it is
40   * difficult for JSON to support certain types.
41   * </p>
42   *
43   * <p>
44   * ServiceBuilder follows certain rules in translating the methods. For example,
45   * if the method in the service utility returns a <code>java.util.List</code>,
46   * that is translated to a
47   * <code>com.liferay.portal.kernel.json.JSONArray</code>. If the method in the
48   * service utility returns a <code>com.liferay.portlet.wiki.model.WikiPage</code>,
49   * that is translated to a
50   * <code>com.liferay.portal.kernel.json.JSONObject</code>. Methods that JSON
51   * cannot safely use are skipped. The logic for the translation is encapsulated
52   * in <code>com.liferay.portlet.wiki.service.http.WikiPageJSONSerializer</code>.
53   * </p>
54   *
55   * <p>
56   * This allows you to call the the backend services directly from JavaScript.
57   * See <code>portal-web/docroot/html/portlet/tags_admin/unpacked.js</code> for a
58   * reference of how that portlet uses the generated JavaScript in
59   * <code>portal-web/docroot/html/js/service.js</code> to call the backend
60   * services directly from JavaScript.
61   * </p>
62   *
63   * <p>
64   * The JSON utility is only generated for remote services.
65   * </p>
66   *
67   * @author Brian Wing Shun Chan
68   *
69   * @see com.liferay.portlet.wiki.service.WikiPageServiceUtil
70   * @see com.liferay.portlet.wiki.service.http.WikiPageJSONSerializer
71   *
72   */
73  public class WikiPageServiceJSON {
74      public static void addPageAttachments(long nodeId, java.lang.String title,
75          java.util.List<com.liferay.portal.kernel.util.ObjectValuePair<String, byte[]>> files)
76          throws java.rmi.RemoteException, com.liferay.portal.PortalException,
77              com.liferay.portal.SystemException {
78          WikiPageServiceUtil.addPageAttachments(nodeId, title, files);
79      }
80  
81      public static void deletePage(long nodeId, java.lang.String title)
82          throws java.rmi.RemoteException, com.liferay.portal.PortalException,
83              com.liferay.portal.SystemException {
84          WikiPageServiceUtil.deletePage(nodeId, title);
85      }
86  
87      public static void deletePageAttachment(long nodeId,
88          java.lang.String title, java.lang.String fileName)
89          throws java.rmi.RemoteException, com.liferay.portal.PortalException,
90              com.liferay.portal.SystemException {
91          WikiPageServiceUtil.deletePageAttachment(nodeId, title, fileName);
92      }
93  
94      public static JSONArray getNodePages(long nodeId, int max)
95          throws java.rmi.RemoteException, com.liferay.portal.PortalException,
96              com.liferay.portal.SystemException {
97          java.util.List<com.liferay.portlet.wiki.model.WikiPage> returnValue = WikiPageServiceUtil.getNodePages(nodeId,
98                  max);
99  
100         return WikiPageJSONSerializer.toJSONArray(returnValue);
101     }
102 
103     public static java.lang.String getNodePagesRSS(long nodeId, int max,
104         java.lang.String type, double version, java.lang.String displayStyle,
105         java.lang.String feedURL, java.lang.String entryURL)
106         throws java.rmi.RemoteException, com.liferay.portal.PortalException,
107             com.liferay.portal.SystemException {
108         java.lang.String returnValue = WikiPageServiceUtil.getNodePagesRSS(nodeId,
109                 max, type, version, displayStyle, feedURL, entryURL);
110 
111         return returnValue;
112     }
113 
114     public static JSONObject getPage(long nodeId, java.lang.String title)
115         throws java.rmi.RemoteException, com.liferay.portal.PortalException,
116             com.liferay.portal.SystemException {
117         com.liferay.portlet.wiki.model.WikiPage returnValue = WikiPageServiceUtil.getPage(nodeId,
118                 title);
119 
120         return WikiPageJSONSerializer.toJSONObject(returnValue);
121     }
122 
123     public static JSONObject getPage(long nodeId, java.lang.String title,
124         double version)
125         throws java.rmi.RemoteException, com.liferay.portal.PortalException,
126             com.liferay.portal.SystemException {
127         com.liferay.portlet.wiki.model.WikiPage returnValue = WikiPageServiceUtil.getPage(nodeId,
128                 title, version);
129 
130         return WikiPageJSONSerializer.toJSONObject(returnValue);
131     }
132 
133     public static java.lang.String getPagesRSS(long companyId, long nodeId,
134         java.lang.String title, int max, java.lang.String type, double version,
135         java.lang.String displayStyle, java.lang.String feedURL,
136         java.lang.String entryURL, String locale)
137         throws java.rmi.RemoteException, com.liferay.portal.PortalException,
138             com.liferay.portal.SystemException {
139         java.lang.String returnValue = WikiPageServiceUtil.getPagesRSS(companyId,
140                 nodeId, title, max, type, version, displayStyle, feedURL,
141                 entryURL, new java.util.Locale(locale));
142 
143         return returnValue;
144     }
145 
146     public static void subscribePage(long nodeId, java.lang.String title)
147         throws java.rmi.RemoteException, com.liferay.portal.PortalException,
148             com.liferay.portal.SystemException {
149         WikiPageServiceUtil.subscribePage(nodeId, title);
150     }
151 
152     public static void unsubscribePage(long nodeId, java.lang.String title)
153         throws java.rmi.RemoteException, com.liferay.portal.PortalException,
154             com.liferay.portal.SystemException {
155         WikiPageServiceUtil.unsubscribePage(nodeId, title);
156     }
157 }