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