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.messageboards.service.http;
24  
25  import com.liferay.portal.kernel.log.Log;
26  import com.liferay.portal.kernel.log.LogFactoryUtil;
27  import com.liferay.portal.kernel.util.LongWrapper;
28  import com.liferay.portal.kernel.util.MethodWrapper;
29  import com.liferay.portal.kernel.util.NullWrapper;
30  import com.liferay.portal.security.auth.HttpPrincipal;
31  import com.liferay.portal.service.http.TunnelUtil;
32  
33  import com.liferay.portlet.messageboards.service.MBThreadServiceUtil;
34  
35  /**
36   * <a href="MBThreadServiceHttp.java.html"><b><i>View Source</i></b></a>
37   *
38   * <p>
39   * ServiceBuilder generated this class. Modifications in this class will be
40   * overwritten the next time is generated.
41   * </p>
42   *
43   * <p>
44   * This class provides a HTTP utility for the
45   * <code>com.liferay.portlet.messageboards.service.MBThreadServiceUtil</code> service
46   * utility. The static methods of this class calls the same methods of the
47   * service utility. However, the signatures are different because it requires an
48   * additional <code>com.liferay.portal.security.auth.HttpPrincipal</code>
49   * parameter.
50   * </p>
51   *
52   * <p>
53   * The benefits of using the HTTP utility is that it is fast and allows for
54   * tunneling without the cost of serializing to text. The drawback is that it
55   * only works with Java.
56   * </p>
57   *
58   * <p>
59   * Set the property <code>tunnel.servlet.hosts.allowed</code> in
60   * portal.properties to configure security.
61   * </p>
62   *
63   * <p>
64   * The HTTP utility is only generated for remote services.
65   * </p>
66   *
67   * @author Brian Wing Shun Chan
68   *
69   * @see com.liferay.portal.security.auth.HttpPrincipal
70   * @see com.liferay.portlet.messageboards.service.MBThreadServiceUtil
71   * @see com.liferay.portlet.messageboards.service.http.MBThreadServiceSoap
72   *
73   */
74  public class MBThreadServiceHttp {
75      public static void deleteThread(HttpPrincipal httpPrincipal, long threadId)
76          throws com.liferay.portal.PortalException,
77              com.liferay.portal.SystemException {
78          try {
79              Object paramObj0 = new LongWrapper(threadId);
80  
81              MethodWrapper methodWrapper = new MethodWrapper(MBThreadServiceUtil.class.getName(),
82                      "deleteThread", new Object[] { paramObj0 });
83  
84              try {
85                  TunnelUtil.invoke(httpPrincipal, methodWrapper);
86              }
87              catch (Exception e) {
88                  if (e instanceof com.liferay.portal.PortalException) {
89                      throw (com.liferay.portal.PortalException)e;
90                  }
91  
92                  if (e instanceof com.liferay.portal.SystemException) {
93                      throw (com.liferay.portal.SystemException)e;
94                  }
95  
96                  throw new com.liferay.portal.SystemException(e);
97              }
98          }
99          catch (com.liferay.portal.SystemException se) {
100             _log.error(se, se);
101 
102             throw se;
103         }
104     }
105 
106     public static com.liferay.portlet.messageboards.model.MBThread moveThread(
107         HttpPrincipal httpPrincipal, long categoryId, long threadId)
108         throws com.liferay.portal.PortalException,
109             com.liferay.portal.SystemException {
110         try {
111             Object paramObj0 = new LongWrapper(categoryId);
112 
113             Object paramObj1 = new LongWrapper(threadId);
114 
115             MethodWrapper methodWrapper = new MethodWrapper(MBThreadServiceUtil.class.getName(),
116                     "moveThread", new Object[] { paramObj0, paramObj1 });
117 
118             Object returnObj = null;
119 
120             try {
121                 returnObj = TunnelUtil.invoke(httpPrincipal, methodWrapper);
122             }
123             catch (Exception e) {
124                 if (e instanceof com.liferay.portal.PortalException) {
125                     throw (com.liferay.portal.PortalException)e;
126                 }
127 
128                 if (e instanceof com.liferay.portal.SystemException) {
129                     throw (com.liferay.portal.SystemException)e;
130                 }
131 
132                 throw new com.liferay.portal.SystemException(e);
133             }
134 
135             return (com.liferay.portlet.messageboards.model.MBThread)returnObj;
136         }
137         catch (com.liferay.portal.SystemException se) {
138             _log.error(se, se);
139 
140             throw se;
141         }
142     }
143 
144     public static com.liferay.portlet.messageboards.model.MBThread splitThread(
145         HttpPrincipal httpPrincipal, long messageId,
146         javax.portlet.PortletPreferences prefs,
147         com.liferay.portal.theme.ThemeDisplay themeDisplay)
148         throws com.liferay.portal.PortalException,
149             com.liferay.portal.SystemException {
150         try {
151             Object paramObj0 = new LongWrapper(messageId);
152 
153             Object paramObj1 = prefs;
154 
155             if (prefs == null) {
156                 paramObj1 = new NullWrapper("javax.portlet.PortletPreferences");
157             }
158 
159             Object paramObj2 = themeDisplay;
160 
161             if (themeDisplay == null) {
162                 paramObj2 = new NullWrapper(
163                         "com.liferay.portal.theme.ThemeDisplay");
164             }
165 
166             MethodWrapper methodWrapper = new MethodWrapper(MBThreadServiceUtil.class.getName(),
167                     "splitThread",
168                     new Object[] { paramObj0, paramObj1, paramObj2 });
169 
170             Object returnObj = null;
171 
172             try {
173                 returnObj = TunnelUtil.invoke(httpPrincipal, methodWrapper);
174             }
175             catch (Exception e) {
176                 if (e instanceof com.liferay.portal.PortalException) {
177                     throw (com.liferay.portal.PortalException)e;
178                 }
179 
180                 if (e instanceof com.liferay.portal.SystemException) {
181                     throw (com.liferay.portal.SystemException)e;
182                 }
183 
184                 throw new com.liferay.portal.SystemException(e);
185             }
186 
187             return (com.liferay.portlet.messageboards.model.MBThread)returnObj;
188         }
189         catch (com.liferay.portal.SystemException se) {
190             _log.error(se, se);
191 
192             throw se;
193         }
194     }
195 
196     private static Log _log = LogFactoryUtil.getLog(MBThreadServiceHttp.class);
197 }