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