001
014
015 package com.liferay.portal.service.impl;
016
017 import com.liferay.portal.NoSuchUserGroupGroupRoleException;
018 import com.liferay.portal.kernel.exception.PortalException;
019 import com.liferay.portal.kernel.exception.SystemException;
020 import com.liferay.portal.model.Group;
021 import com.liferay.portal.model.ResourceConstants;
022 import com.liferay.portal.model.Role;
023 import com.liferay.portal.model.UserGroup;
024 import com.liferay.portal.model.UserGroupGroupRole;
025 import com.liferay.portal.security.permission.PermissionCacheUtil;
026 import com.liferay.portal.service.base.UserGroupGroupRoleLocalServiceBaseImpl;
027 import com.liferay.portal.service.persistence.UserGroupGroupRolePK;
028
029 import java.util.List;
030
031
034 public class UserGroupGroupRoleLocalServiceImpl
035 extends UserGroupGroupRoleLocalServiceBaseImpl {
036
037 @Override
038 public void addUserGroupGroupRoles(
039 long userGroupId, long groupId, long[] roleIds)
040 throws PortalException, SystemException {
041
042 checkGroupResource(groupId);
043
044 for (long roleId : roleIds) {
045 UserGroupGroupRolePK pk = new UserGroupGroupRolePK(
046 userGroupId, groupId, roleId);
047
048 UserGroupGroupRole userGroupGroupRole =
049 userGroupGroupRolePersistence.fetchByPrimaryKey(pk);
050
051 if (userGroupGroupRole == null) {
052 userGroupGroupRole = userGroupGroupRolePersistence.create(pk);
053
054 userGroupGroupRolePersistence.update(userGroupGroupRole, false);
055 }
056 }
057
058 PermissionCacheUtil.clearCache();
059 }
060
061 @Override
062 public void addUserGroupGroupRoles(
063 long[] userGroupIds, long groupId, long roleId)
064 throws PortalException, SystemException {
065
066 checkGroupResource(groupId);
067
068 for (long userGroupId : userGroupIds) {
069 UserGroupGroupRolePK pk = new UserGroupGroupRolePK(
070 userGroupId, groupId, roleId);
071
072 UserGroupGroupRole userGroupGroupRole =
073 userGroupGroupRolePersistence.fetchByPrimaryKey(pk);
074
075 if (userGroupGroupRole == null) {
076 userGroupGroupRole = userGroupGroupRolePersistence.create(pk);
077
078 userGroupGroupRolePersistence.update(userGroupGroupRole, false);
079 }
080 }
081
082 PermissionCacheUtil.clearCache();
083 }
084
085 @Override
086 public UserGroupGroupRole deleteUserGroupGroupRole(
087 UserGroupGroupRole userGroupGroupRole)
088 throws SystemException {
089
090 userGroupGroupRolePersistence.remove(userGroupGroupRole);
091
092 PermissionCacheUtil.clearCache();
093
094 return userGroupGroupRole;
095 }
096
097 @Override
098 public void deleteUserGroupGroupRoles(
099 long userGroupId, long groupId, long[] roleIds)
100 throws SystemException {
101
102 for (long roleId : roleIds) {
103 UserGroupGroupRolePK pk = new UserGroupGroupRolePK(
104 userGroupId, groupId, roleId);
105
106 try {
107 userGroupGroupRolePersistence.remove(pk);
108 }
109 catch (NoSuchUserGroupGroupRoleException nsuggre) {
110 }
111 }
112
113 PermissionCacheUtil.clearCache();
114 }
115
116 @Override
117 public void deleteUserGroupGroupRoles(long userGroupId, long[] groupIds)
118 throws SystemException {
119
120 for (long groupId : groupIds) {
121 userGroupGroupRolePersistence.removeByU_G(userGroupId, groupId);
122 }
123
124 PermissionCacheUtil.clearCache();
125 }
126
127 @Override
128 public void deleteUserGroupGroupRoles(long[] userGroupIds, long groupId)
129 throws SystemException {
130
131 for (long userGroupId : userGroupIds) {
132 userGroupGroupRolePersistence.removeByU_G(userGroupId, groupId);
133 }
134
135 PermissionCacheUtil.clearCache();
136 }
137
138 @Override
139 public void deleteUserGroupGroupRoles(
140 long[] userGroupIds, long groupId, long roleId)
141 throws SystemException {
142
143 for (long userGroupId : userGroupIds) {
144 UserGroupGroupRolePK pk = new UserGroupGroupRolePK(
145 userGroupId, groupId, roleId);
146
147 try {
148 userGroupGroupRolePersistence.remove(pk);
149 }
150 catch (NoSuchUserGroupGroupRoleException nsuggre) {
151 }
152 }
153
154 PermissionCacheUtil.clearCache();
155 }
156
157 @Override
158 public void deleteUserGroupGroupRolesByGroupId(long groupId)
159 throws SystemException {
160
161 userGroupGroupRolePersistence.removeByGroupId(groupId);
162
163 PermissionCacheUtil.clearCache();
164 }
165
166 @Override
167 public void deleteUserGroupGroupRolesByRoleId(long roleId)
168 throws SystemException {
169
170 userGroupGroupRolePersistence.removeByRoleId(roleId);
171
172 PermissionCacheUtil.clearCache();
173 }
174
175 @Override
176 public void deleteUserGroupGroupRolesByUserGroupId(long userGroupId)
177 throws SystemException {
178
179 userGroupGroupRolePersistence.removeByUserGroupId(userGroupId);
180
181 PermissionCacheUtil.clearCache();
182 }
183
184 @Override
185 public List<UserGroupGroupRole> getUserGroupGroupRoles(long userGroupId)
186 throws SystemException {
187
188 return userGroupGroupRolePersistence.findByUserGroupId(userGroupId);
189 }
190
191 @Override
192 public List<UserGroupGroupRole> getUserGroupGroupRoles(
193 long userGroupId, long groupId)
194 throws SystemException {
195
196 return userGroupGroupRolePersistence.findByU_G(userGroupId, groupId);
197 }
198
199 @Override
200 public List<UserGroupGroupRole> getUserGroupGroupRolesByGroupAndRole(
201 long groupId, long roleId)
202 throws SystemException {
203
204 return userGroupGroupRolePersistence.findByG_R(groupId, roleId);
205 }
206
207 @Override
208 public boolean hasUserGroupGroupRole(
209 long userGroupId, long groupId, long roleId)
210 throws SystemException {
211
212 UserGroupGroupRolePK pk = new UserGroupGroupRolePK(
213 userGroupId, groupId, roleId);
214
215 UserGroupGroupRole userGroupGroupRole =
216 userGroupGroupRolePersistence.fetchByPrimaryKey(pk);
217
218 if (userGroupGroupRole != null) {
219 return true;
220 }
221 else {
222 return false;
223 }
224 }
225
226 @Override
227 public boolean hasUserGroupGroupRole(
228 long userGroupId, long groupId, String roleName)
229 throws PortalException, SystemException {
230
231 UserGroup userGroup = userGroupPersistence.findByPrimaryKey(
232 userGroupId);
233
234 long companyId = userGroup.getCompanyId();
235
236 Role role = rolePersistence.findByC_N(companyId, roleName);
237
238 long roleId = role.getRoleId();
239
240 return hasUserGroupGroupRole(userGroupId, groupId, roleId);
241 }
242
243 protected void checkGroupResource(long groupId)
244 throws PortalException, SystemException {
245
246
247
248 Group group = groupPersistence.findByPrimaryKey(groupId);
249
250 resourceLocalService.addResource(
251 group.getCompanyId(), Group.class.getName(),
252 ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(groupId));
253 }
254
255 }