001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.service.http;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.log.Log;
020    import com.liferay.portal.kernel.log.LogFactoryUtil;
021    import com.liferay.portal.kernel.security.auth.HttpPrincipal;
022    import com.liferay.portal.kernel.service.LayoutRevisionServiceUtil;
023    import com.liferay.portal.kernel.service.http.TunnelUtil;
024    import com.liferay.portal.kernel.util.MethodHandler;
025    import com.liferay.portal.kernel.util.MethodKey;
026    
027    /**
028     * Provides the HTTP utility for the
029     * {@link LayoutRevisionServiceUtil} service utility. The
030     * static methods of this class calls the same methods of the service utility.
031     * However, the signatures are different because it requires an additional
032     * {@link HttpPrincipal} parameter.
033     *
034     * <p>
035     * The benefits of using the HTTP utility is that it is fast and allows for
036     * tunneling without the cost of serializing to text. The drawback is that it
037     * only works with Java.
038     * </p>
039     *
040     * <p>
041     * Set the property <b>tunnel.servlet.hosts.allowed</b> in portal.properties to
042     * configure security.
043     * </p>
044     *
045     * <p>
046     * The HTTP utility is only generated for remote services.
047     * </p>
048     *
049     * @author Brian Wing Shun Chan
050     * @see LayoutRevisionServiceSoap
051     * @see HttpPrincipal
052     * @see LayoutRevisionServiceUtil
053     * @generated
054     */
055    @ProviderType
056    public class LayoutRevisionServiceHttp {
057            public static com.liferay.portal.kernel.model.LayoutRevision addLayoutRevision(
058                    HttpPrincipal httpPrincipal, long userId, long layoutSetBranchId,
059                    long layoutBranchId, long parentLayoutRevisionId, boolean head,
060                    long plid, long portletPreferencesPlid, boolean privateLayout,
061                    java.lang.String name, java.lang.String title,
062                    java.lang.String description, java.lang.String keywords,
063                    java.lang.String robots, java.lang.String typeSettings,
064                    boolean iconImage, long iconImageId, java.lang.String themeId,
065                    java.lang.String colorSchemeId, java.lang.String css,
066                    com.liferay.portal.kernel.service.ServiceContext serviceContext)
067                    throws com.liferay.portal.kernel.exception.PortalException {
068                    try {
069                            MethodKey methodKey = new MethodKey(LayoutRevisionServiceUtil.class,
070                                            "addLayoutRevision", _addLayoutRevisionParameterTypes0);
071    
072                            MethodHandler methodHandler = new MethodHandler(methodKey, userId,
073                                            layoutSetBranchId, layoutBranchId, parentLayoutRevisionId,
074                                            head, plid, portletPreferencesPlid, privateLayout, name,
075                                            title, description, keywords, robots, typeSettings,
076                                            iconImage, iconImageId, themeId, colorSchemeId, css,
077                                            serviceContext);
078    
079                            Object returnObj = null;
080    
081                            try {
082                                    returnObj = TunnelUtil.invoke(httpPrincipal, methodHandler);
083                            }
084                            catch (Exception e) {
085                                    if (e instanceof com.liferay.portal.kernel.exception.PortalException) {
086                                            throw (com.liferay.portal.kernel.exception.PortalException)e;
087                                    }
088    
089                                    throw new com.liferay.portal.kernel.exception.SystemException(e);
090                            }
091    
092                            return (com.liferay.portal.kernel.model.LayoutRevision)returnObj;
093                    }
094                    catch (com.liferay.portal.kernel.exception.SystemException se) {
095                            _log.error(se, se);
096    
097                            throw se;
098                    }
099            }
100    
101            private static Log _log = LogFactoryUtil.getLog(LayoutRevisionServiceHttp.class);
102            private static final Class<?>[] _addLayoutRevisionParameterTypes0 = new Class[] {
103                            long.class, long.class, long.class, long.class, boolean.class,
104                            long.class, long.class, boolean.class, java.lang.String.class,
105                            java.lang.String.class, java.lang.String.class,
106                            java.lang.String.class, java.lang.String.class,
107                            java.lang.String.class, boolean.class, long.class,
108                            java.lang.String.class, java.lang.String.class,
109                            java.lang.String.class,
110                            com.liferay.portal.kernel.service.ServiceContext.class
111                    };
112    }