1   /**
2    * Copyright (c) 2000-2010 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   *
12   *
13   */
14  
15  package com.liferay.portal.service.http;
16  
17  import com.liferay.portal.kernel.log.Log;
18  import com.liferay.portal.kernel.log.LogFactoryUtil;
19  import com.liferay.portal.kernel.util.MethodHandler;
20  import com.liferay.portal.kernel.util.MethodKey;
21  import com.liferay.portal.security.auth.HttpPrincipal;
22  import com.liferay.portal.service.ResourceServiceUtil;
23  
24  /**
25   * <a href="ResourceServiceHttp.java.html"><b><i>View Source</i></b></a>
26   *
27   * <p>
28   * ServiceBuilder generated this class. Modifications in this class will be
29   * overwritten the next time is generated.
30   * </p>
31   *
32   * <p>
33   * This class provides a HTTP utility for the
34   * {@link com.liferay.portal.service.ResourceServiceUtil} service utility. The
35   * static methods of this class calls the same methods of the service utility.
36   * However, the signatures are different because it requires an additional
37   * {@link com.liferay.portal.security.auth.HttpPrincipal} parameter.
38   * </p>
39   *
40   * <p>
41   * The benefits of using the HTTP utility is that it is fast and allows for
42   * tunneling without the cost of serializing to text. The drawback is that it
43   * only works with Java.
44   * </p>
45   *
46   * <p>
47   * Set the property <b>tunnel.servlet.hosts.allowed</b> in portal.properties to
48   * configure security.
49   * </p>
50   *
51   * <p>
52   * The HTTP utility is only generated for remote services.
53   * </p>
54   *
55   * @author    Brian Wing Shun Chan
56   * @see       ResourceServiceSoap
57   * @see       com.liferay.portal.security.auth.HttpPrincipal
58   * @see       com.liferay.portal.service.ResourceServiceUtil
59   * @generated
60   */
61  public class ResourceServiceHttp {
62      public static com.liferay.portal.model.Resource getResource(
63          HttpPrincipal httpPrincipal, long companyId, java.lang.String name,
64          int scope, java.lang.String primKey)
65          throws com.liferay.portal.PortalException,
66              com.liferay.portal.SystemException {
67          try {
68              MethodKey methodKey = new MethodKey(ResourceServiceUtil.class.getName(),
69                      "getResource", _getResourceParameterTypes0);
70  
71              MethodHandler methodHandler = new MethodHandler(methodKey,
72                      companyId, name, scope, primKey);
73  
74              Object returnObj = null;
75  
76              try {
77                  returnObj = TunnelUtil.invoke(httpPrincipal, methodHandler);
78              }
79              catch (Exception e) {
80                  if (e instanceof com.liferay.portal.PortalException) {
81                      throw (com.liferay.portal.PortalException)e;
82                  }
83  
84                  if (e instanceof com.liferay.portal.SystemException) {
85                      throw (com.liferay.portal.SystemException)e;
86                  }
87  
88                  throw new com.liferay.portal.SystemException(e);
89              }
90  
91              return (com.liferay.portal.model.Resource)returnObj;
92          }
93          catch (com.liferay.portal.SystemException se) {
94              _log.error(se, se);
95  
96              throw se;
97          }
98      }
99  
100     private static Log _log = LogFactoryUtil.getLog(ResourceServiceHttp.class);
101     private static final Class<?>[] _getResourceParameterTypes0 = new Class[] {
102             long.class, java.lang.String.class, int.class,
103             java.lang.String.class
104         };
105 }