aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2012-07-12 00:08:27 +0200
committerSimon Brandhof <simon.brandhof@gmail.com>2012-07-12 00:08:27 +0200
commit21d26b2b4dbc8d47e9972f45d402f86448b47f48 (patch)
treed5254159cd109077b0dde7bf5240b873513c89e3 /sonar-core
parent97e9cab9af1c3d17015585b5a51feb350630055d (diff)
downloadsonarqube-21d26b2b4dbc8d47e9972f45d402f86448b47f48.tar.gz
sonarqube-21d26b2b4dbc8d47e9972f45d402f86448b47f48.zip
Improve and refactor the ResourcePermissions component
Diffstat (limited to 'sonar-core')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java4
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml16
2 files changed, 20 insertions, 0 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java b/sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java
index 79e83c766be..9b7abc5a9bc 100644
--- a/sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/user/RoleMapper.java
@@ -28,6 +28,10 @@ public interface RoleMapper {
void insertUserRole(UserRoleDto userRole);
+ void deleteUserRole(UserRoleDto userRole);
+
+ void deleteGroupRole(GroupRoleDto groupRole);
+
void deleteGroupRolesByResourceId(Long resourceId);
void deleteUserRolesByResourceId(Long resourceId);
diff --git a/sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml b/sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml
index 720a7690d4e..bbef4611eed 100644
--- a/sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/user/RoleMapper.xml
@@ -31,6 +31,22 @@
VALUES (#{id}, #{userId}, #{resourceId}, #{role})
</insert>
+ <delete id="deleteGroupRole" parameterType="map">
+ delete from group_roles where resource_id=#{resourceId} and role=#{role}
+ <choose>
+ <when test="groupId != null">
+ and group_id=#{groupId}
+ </when>
+ <otherwise>
+ and group_id is null
+ </otherwise>
+ </choose>
+ </delete>
+
+ <delete id="deleteUserRole" parameterType="map">
+ delete from user_roles where resource_id=#{resourceId} and user_id=#{userId} and role=#{role}
+ </delete>
+
<delete id="deleteGroupRolesByResourceId" parameterType="long">
delete from group_roles where resource_id=#{id}
</delete>