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