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            @Override
034            public void addCompanyScopePermission(
035                            long scopeGroupId, long companyId, String name, long roleId,
036                            String actionId)
037                    throws PortalException, SystemException {
038    
039                    permissionService.checkPermission(
040                            scopeGroupId, Role.class.getName(), roleId);
041    
042                    resourceBlockLocalService.addCompanyScopePermission(
043                            companyId, name, roleId, actionId);
044            }
045    
046            @Override
047            public void addGroupScopePermission(
048                            long scopeGroupId, long companyId, long groupId, String name,
049                            long roleId, String actionId)
050                    throws PortalException, SystemException {
051    
052                    permissionService.checkPermission(
053                            scopeGroupId, Role.class.getName(), roleId);
054    
055                    resourceBlockLocalService.addGroupScopePermission(
056                            companyId, groupId, name, roleId, actionId);
057            }
058    
059            @Override
060            public void addIndividualScopePermission(
061                            long companyId, long groupId, String name, long primKey,
062                            long roleId, String actionId)
063                    throws PortalException, SystemException {
064    
065                    permissionService.checkPermission(groupId, name, primKey);
066    
067                    resourceBlockLocalService.addIndividualScopePermission(
068                            companyId, groupId, name, primKey, roleId, actionId);
069            }
070    
071            @Override
072            public void removeAllGroupScopePermissions(
073                            long scopeGroupId, long companyId, String name, long roleId,
074                            String actionId)
075                    throws PortalException, SystemException {
076    
077                    permissionService.checkPermission(
078                            scopeGroupId, Role.class.getName(), roleId);
079    
080                    resourceBlockLocalService.removeAllGroupScopePermissions(
081                            companyId, name, roleId, actionId);
082            }
083    
084            @Override
085            public void removeCompanyScopePermission(
086                            long scopeGroupId, long companyId, String name, long roleId,
087                            String actionId)
088                    throws PortalException, SystemException {
089    
090                    permissionService.checkPermission(
091                            scopeGroupId, Role.class.getName(), roleId);
092    
093                    resourceBlockLocalService.removeCompanyScopePermission(
094                            companyId, name, roleId, actionId);
095            }
096    
097            @Override
098            public void removeGroupScopePermission(
099                            long scopeGroupId, long companyId, long groupId, String name,
100                            long roleId, String actionId)
101                    throws PortalException, SystemException {
102    
103                    permissionService.checkPermission(
104                            scopeGroupId, Role.class.getName(), roleId);
105    
106                    resourceBlockLocalService.removeGroupScopePermission(
107                            companyId, groupId, name, roleId, actionId);
108            }
109    
110            @Override
111            public void removeIndividualScopePermission(
112                            long companyId, long groupId, String name, long primKey,
113                            long roleId, String actionId)
114                    throws PortalException, SystemException {
115    
116                    permissionService.checkPermission(groupId, name, primKey);
117    
118                    resourceBlockLocalService.removeIndividualScopePermission(
119                            companyId, groupId, name, primKey, roleId, actionId);
120            }
121    
122            @Override
123            public void setCompanyScopePermissions(
124                            long scopeGroupId, long companyId, String name, long roleId,
125                            List<String> actionIds)
126                    throws PortalException, SystemException {
127    
128                    permissionService.checkPermission(
129                            scopeGroupId, Role.class.getName(), roleId);
130    
131                    resourceBlockLocalService.setCompanyScopePermissions(
132                            companyId, name, roleId, actionIds);
133            }
134    
135            @Override
136            public void setGroupScopePermissions(
137                            long scopeGroupId, long companyId, long groupId, String name,
138                            long roleId, List<String> actionIds)
139                    throws PortalException, SystemException {
140    
141                    permissionService.checkPermission(
142                            scopeGroupId, Role.class.getName(), roleId);
143    
144                    resourceBlockLocalService.setGroupScopePermissions(
145                            companyId, groupId, name, roleId, actionIds);
146            }
147    
148            @Override
149            public void setIndividualScopePermissions(
150                            long companyId, long groupId, String name, long primKey,
151                            long roleId, List<String> actionIds)
152                    throws PortalException, SystemException {
153    
154                    permissionService.checkPermission(groupId, name, primKey);
155    
156                    resourceBlockLocalService.setIndividualScopePermissions(
157                            companyId, groupId, name, primKey, roleId, actionIds);
158            }
159    
160            @Override
161            public void setIndividualScopePermissions(
162                            long companyId, long groupId, String name, long primKey,
163                            Map<Long, String[]> roleIdsToActionIds)
164                    throws PortalException, SystemException {
165    
166                    permissionService.checkPermission(groupId, name, primKey);
167    
168                    resourceBlockLocalService.setIndividualScopePermissions(
169                            companyId, groupId, name, primKey, roleIdsToActionIds);
170            }
171    
172    }