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.impl;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.model.Role;
020    import com.liferay.portal.service.base.ResourceBlockServiceBaseImpl;
021    
022    import java.util.List;
023    import java.util.Map;
024    
025    /**
026     * Provides the remote service for accessing and updating resource blocks. Its
027     * methods include permission checks.
028     *
029     * @author Connor McKay
030     */
031    public class ResourceBlockServiceImpl extends ResourceBlockServiceBaseImpl {
032    
033            public void addCompanyScopePermission(
034                            long scopeGroupId, long companyId, String name, long roleId,
035                            String actionId)
036                    throws PortalException, SystemException {
037    
038                    permissionService.checkPermission(
039                            scopeGroupId, Role.class.getName(), roleId);
040    
041                    resourceBlockLocalService.addCompanyScopePermission(
042                            companyId, name, roleId, actionId);
043            }
044    
045            public void addGroupScopePermission(
046                            long scopeGroupId, long companyId, long groupId, String name,
047                            long roleId, String actionId)
048                    throws PortalException, SystemException {
049    
050                    permissionService.checkPermission(
051                            scopeGroupId, Role.class.getName(), roleId);
052    
053                    resourceBlockLocalService.addGroupScopePermission(
054                            companyId, groupId, name, roleId, actionId);
055            }
056    
057            public void addIndividualScopePermission(
058                            long companyId, long groupId, String name, long primKey,
059                            long roleId, String actionId)
060                    throws PortalException, SystemException {
061    
062                    permissionService.checkPermission(groupId, name, primKey);
063    
064                    resourceBlockLocalService.addIndividualScopePermission(
065                            companyId, groupId, name, primKey, roleId, actionId);
066            }
067    
068            public void removeAllGroupScopePermissions(
069                            long scopeGroupId, long companyId, String name, long roleId,
070                            String actionId)
071                    throws PortalException, SystemException {
072    
073                    permissionService.checkPermission(
074                            scopeGroupId, Role.class.getName(), roleId);
075    
076                    resourceBlockLocalService.removeAllGroupScopePermissions(
077                            companyId, name, roleId, actionId);
078            }
079    
080            public void removeCompanyScopePermission(
081                            long scopeGroupId, long companyId, String name, long roleId,
082                            String actionId)
083                    throws PortalException, SystemException {
084    
085                    permissionService.checkPermission(
086                            scopeGroupId, Role.class.getName(), roleId);
087    
088                    resourceBlockLocalService.removeCompanyScopePermission(
089                            companyId, name, roleId, actionId);
090            }
091    
092            public void removeGroupScopePermission(
093                            long scopeGroupId, long companyId, long groupId, String name,
094                            long roleId, String actionId)
095                    throws PortalException, SystemException {
096    
097                    permissionService.checkPermission(
098                            scopeGroupId, Role.class.getName(), roleId);
099    
100                    resourceBlockLocalService.removeGroupScopePermission(
101                            companyId, groupId, name, roleId, actionId);
102            }
103    
104            public void removeIndividualScopePermission(
105                            long companyId, long groupId, String name, long primKey,
106                            long roleId, String actionId)
107                    throws PortalException, SystemException {
108    
109                    permissionService.checkPermission(groupId, name, primKey);
110    
111                    resourceBlockLocalService.removeIndividualScopePermission(
112                            companyId, groupId, name, primKey, roleId, actionId);
113            }
114    
115            public void setCompanyScopePermissions(
116                            long scopeGroupId, long companyId, String name, long roleId,
117                            List<String> actionIds)
118                    throws PortalException, SystemException {
119    
120                    permissionService.checkPermission(
121                            scopeGroupId, Role.class.getName(), roleId);
122    
123                    resourceBlockLocalService.setCompanyScopePermissions(
124                            companyId, name, roleId, actionIds);
125            }
126    
127            public void setGroupScopePermissions(
128                            long scopeGroupId, long companyId, long groupId, String name,
129                            long roleId, List<String> actionIds)
130                    throws PortalException, SystemException {
131    
132                    permissionService.checkPermission(
133                            scopeGroupId, Role.class.getName(), roleId);
134    
135                    resourceBlockLocalService.setGroupScopePermissions(
136                            companyId, groupId, name, roleId, actionIds);
137            }
138    
139            public void setIndividualScopePermissions(
140                            long companyId, long groupId, String name, long primKey,
141                            long roleId, List<String> actionIds)
142                    throws PortalException, SystemException {
143    
144                    permissionService.checkPermission(groupId, name, primKey);
145    
146                    resourceBlockLocalService.setIndividualScopePermissions(
147                            companyId, groupId, name, primKey, roleId, actionIds);
148            }
149    
150            public void setIndividualScopePermissions(
151                            long companyId, long groupId, String name, long primKey,
152                            Map<Long, String[]> roleIdsToActionIds)
153                    throws PortalException, SystemException {
154    
155                    permissionService.checkPermission(groupId, name, primKey);
156    
157                    resourceBlockLocalService.setIndividualScopePermissions(
158                            companyId, groupId, name, primKey, roleIdsToActionIds);
159            }
160    
161    }