001    /**
002     * Copyright (c) 2000-2013 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.permission;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
020    import com.liferay.portal.model.Layout;
021    import com.liferay.portal.model.Portlet;
022    import com.liferay.portal.security.permission.PermissionChecker;
023    
024    import java.util.Collection;
025    
026    import javax.portlet.PortletMode;
027    
028    /**
029     * @author Brian Wing Shun Chan
030     * @author Raymond Aug??
031     */
032    public class PortletPermissionUtil {
033    
034            public static void check(
035                            PermissionChecker permissionChecker, Layout layout,
036                            String portletId, String actionId)
037                    throws PortalException, SystemException {
038    
039                    getPortletPermission().check(
040                            permissionChecker, layout, portletId, actionId);
041            }
042    
043            public static void check(
044                            PermissionChecker permissionChecker, Layout layout,
045                            String portletId, String actionId, boolean strict)
046                    throws PortalException, SystemException {
047    
048                    getPortletPermission().check(
049                            permissionChecker, layout, portletId, actionId, strict);
050            }
051    
052            public static void check(
053                            PermissionChecker permissionChecker, long groupId, Layout layout,
054                            String portletId, String actionId)
055                    throws PortalException, SystemException {
056    
057                    getPortletPermission().check(
058                            permissionChecker, groupId, layout, portletId, actionId);
059            }
060    
061            public static void check(
062                            PermissionChecker permissionChecker, long groupId, Layout layout,
063                            String portletId, String actionId, boolean strict)
064                    throws PortalException, SystemException {
065    
066                    getPortletPermission().check(
067                            permissionChecker, groupId, layout, portletId, actionId, strict);
068            }
069    
070            public static void check(
071                            PermissionChecker permissionChecker, long groupId, long plid,
072                            String portletId, String actionId)
073                    throws PortalException, SystemException {
074    
075                    getPortletPermission().check(
076                            permissionChecker, groupId, plid, portletId, actionId);
077            }
078    
079            public static void check(
080                            PermissionChecker permissionChecker, long groupId, long plid,
081                            String portletId, String actionId, boolean strict)
082                    throws PortalException, SystemException {
083    
084                    getPortletPermission().check(
085                            permissionChecker, groupId, plid, portletId, actionId, strict);
086            }
087    
088            public static void check(
089                            PermissionChecker permissionChecker, long plid, String portletId,
090                            String actionId)
091                    throws PortalException, SystemException {
092    
093                    getPortletPermission().check(
094                            permissionChecker, plid, portletId, actionId);
095            }
096    
097            public static void check(
098                            PermissionChecker permissionChecker, long plid, String portletId,
099                            String actionId, boolean strict)
100                    throws PortalException, SystemException {
101    
102                    getPortletPermission().check(
103                            permissionChecker, plid, portletId, actionId, strict);
104            }
105    
106            public static void check(
107                            PermissionChecker permissionChecker, String portletId,
108                            String actionId)
109                    throws PortalException, SystemException {
110    
111                    getPortletPermission().check(permissionChecker, portletId, actionId);
112            }
113    
114            public static boolean contains(
115                            PermissionChecker permissionChecker, Layout layout, Portlet portlet,
116                            String actionId)
117                    throws PortalException, SystemException {
118    
119                    return getPortletPermission().contains(
120                            permissionChecker, layout, portlet, actionId);
121            }
122    
123            public static boolean contains(
124                            PermissionChecker permissionChecker, Layout layout, Portlet portlet,
125                            String actionId, boolean strict)
126                    throws PortalException, SystemException {
127    
128                    return getPortletPermission().contains(
129                            permissionChecker, layout, portlet, actionId, strict);
130            }
131    
132            public static boolean contains(
133                            PermissionChecker permissionChecker, Layout layout,
134                            String portletId, String actionId)
135                    throws PortalException, SystemException {
136    
137                    return getPortletPermission().contains(
138                            permissionChecker, layout, portletId, actionId);
139            }
140    
141            public static boolean contains(
142                            PermissionChecker permissionChecker, Layout layout,
143                            String portletId, String actionId, boolean strict)
144                    throws PortalException, SystemException {
145    
146                    return getPortletPermission().contains(
147                            permissionChecker, layout, portletId, actionId, strict);
148            }
149    
150            public static boolean contains(
151                            PermissionChecker permissionChecker, long groupId, Layout layout,
152                            Portlet portlet, String actionId)
153                    throws PortalException, SystemException {
154    
155                    return getPortletPermission().contains(
156                            permissionChecker, groupId, layout, portlet, actionId);
157            }
158    
159            public static boolean contains(
160                            PermissionChecker permissionChecker, long groupId, Layout layout,
161                            Portlet portlet, String actionId, boolean strict)
162                    throws PortalException, SystemException {
163    
164                    return getPortletPermission().contains(
165                            permissionChecker, groupId, layout, portlet, actionId, strict);
166            }
167    
168            public static boolean contains(
169                            PermissionChecker permissionChecker, long groupId, Layout layout,
170                            String portletId, String actionId)
171                    throws PortalException, SystemException {
172    
173                    return getPortletPermission().contains(
174                            permissionChecker, groupId, layout, portletId, actionId);
175            }
176    
177            public static boolean contains(
178                            PermissionChecker permissionChecker, long groupId, Layout layout,
179                            String portletId, String actionId, boolean strict)
180                    throws PortalException, SystemException {
181    
182                    return getPortletPermission().contains(
183                            permissionChecker, groupId, layout, portletId, actionId, strict);
184            }
185    
186            public static boolean contains(
187                    PermissionChecker permissionChecker, long groupId, long plid,
188                    Collection<Portlet> portlets, String actionId) {
189    
190                    return getPortletPermission().contains(
191                            permissionChecker, groupId, plid, portlets, actionId);
192            }
193    
194            public static boolean contains(
195                            PermissionChecker permissionChecker, long groupId, long plid,
196                            String portletId, String actionId, boolean strict)
197                    throws PortalException, SystemException {
198    
199                    return getPortletPermission().contains(
200                            permissionChecker, groupId, plid, portletId, actionId, strict);
201            }
202    
203            public static boolean contains(
204                            PermissionChecker permissionChecker, long plid, Portlet portlet,
205                            String actionId)
206                    throws PortalException, SystemException {
207    
208                    return getPortletPermission().contains(
209                            permissionChecker, plid, portlet, actionId);
210            }
211    
212            public static boolean contains(
213                            PermissionChecker permissionChecker, long plid, Portlet portlet,
214                            String actionId, boolean strict)
215                    throws PortalException, SystemException {
216    
217                    return getPortletPermission().contains(
218                            permissionChecker, plid, portlet, actionId, strict);
219            }
220    
221            public static boolean contains(
222                            PermissionChecker permissionChecker, long plid, String portletId,
223                            String actionId)
224                    throws PortalException, SystemException {
225    
226                    return getPortletPermission().contains(
227                            permissionChecker, plid, portletId, actionId);
228            }
229    
230            public static boolean contains(
231                            PermissionChecker permissionChecker, long plid, String portletId,
232                            String actionId, boolean strict)
233                    throws PortalException, SystemException {
234    
235                    return getPortletPermission().contains(
236                            permissionChecker, plid, portletId, actionId, strict);
237            }
238    
239            public static boolean contains(
240                            PermissionChecker permissionChecker, String portletId,
241                            String actionId)
242                    throws PortalException, SystemException {
243    
244                    return getPortletPermission().contains(
245                            permissionChecker, portletId, actionId);
246            }
247    
248            public static PortletPermission getPortletPermission() {
249                    PortalRuntimePermission.checkGetBeanProperty(
250                            PortletPermissionUtil.class);
251    
252                    return _portletPermission;
253            }
254    
255            public static String getPrimaryKey(long plid, String portletId) {
256                    return getPortletPermission().getPrimaryKey(plid, portletId);
257            }
258    
259            public static boolean hasAccessPermission(
260                            PermissionChecker permissionChecker, long scopeGroupId,
261                            Layout layout, Portlet portlet, PortletMode portletMode)
262                    throws PortalException, SystemException {
263    
264                    return getPortletPermission().hasAccessPermission(
265                            permissionChecker, scopeGroupId, layout, portlet, portletMode);
266            }
267    
268            public static boolean hasConfigurationPermission(
269                            PermissionChecker permissionChecker, long groupId, Layout layout,
270                            String actionId)
271                    throws PortalException, SystemException {
272    
273                    return getPortletPermission().hasConfigurationPermission(
274                            permissionChecker, groupId, layout, actionId);
275            }
276    
277            public static boolean hasLayoutManagerPermission(
278                    String portletId, String actionId) {
279    
280                    return getPortletPermission().hasLayoutManagerPermission(
281                            portletId, actionId);
282            }
283    
284            public void setPortletPermission(PortletPermission portletPermission) {
285                    PortalRuntimePermission.checkSetBeanProperty(getClass());
286    
287                    _portletPermission = portletPermission;
288            }
289    
290            private static PortletPermission _portletPermission;
291    
292    }