From 6c02efe9cfba30f7f0c85e91e9e8812e1be162f6 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Fri, 27 Sep 2013 16:01:55 +0200 Subject: SONAR-4646 Deleting a user should not lead to delete its 'shared' dashboards/filters --- sonar-core/src/main/java/org/sonar/core/user/UserDao.java | 6 +++--- sonar-core/src/main/java/org/sonar/core/user/UserMapper.java | 6 +++--- .../src/main/resources/org/sonar/core/user/UserMapper.xml | 12 ++++++------ .../sonar/core/user/UserDaoTest/deactivate_user-result.xml | 10 ++++++++++ .../org/sonar/core/user/UserDaoTest/deactivate_user.xml | 9 +++++++++ 5 files changed, 31 insertions(+), 12 deletions(-) (limited to 'sonar-core') diff --git a/sonar-core/src/main/java/org/sonar/core/user/UserDao.java b/sonar-core/src/main/java/org/sonar/core/user/UserDao.java index a3c21ea51d9..08624145961 100644 --- a/sonar-core/src/main/java/org/sonar/core/user/UserDao.java +++ b/sonar-core/src/main/java/org/sonar/core/user/UserDao.java @@ -116,10 +116,10 @@ public class UserDao implements BatchComponent, ServerComponent { mapper.removeUserFromGroups(dto.getId()); mapper.deleteUserActiveDashboards(dto.getId()); - mapper.deleteUserDashboards(dto.getId()); - mapper.deleteUserIssueFilters(dto.getLogin()); + mapper.deleteUnsharedUserDashboards(dto.getId()); + mapper.deleteUnsharedUserIssueFilters(dto.getLogin()); mapper.deleteUserIssueFilterFavourites(dto.getLogin()); - mapper.deleteUserMeasureFilters(dto.getId()); + mapper.deleteUnsharedUserMeasureFilters(dto.getId()); mapper.deleteUserMeasureFilterFavourites(dto.getId()); mapper.deleteUserProperties(dto.getId()); mapper.deleteUserRoles(dto.getId()); diff --git a/sonar-core/src/main/java/org/sonar/core/user/UserMapper.java b/sonar-core/src/main/java/org/sonar/core/user/UserMapper.java index b8d0a9b8459..3e5780dac56 100644 --- a/sonar-core/src/main/java/org/sonar/core/user/UserMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/user/UserMapper.java @@ -48,13 +48,13 @@ public interface UserMapper { void deleteUserActiveDashboards(long userId); - void deleteUserDashboards(long userId); + void deleteUnsharedUserDashboards(long userId); - void deleteUserIssueFilters(String login); + void deleteUnsharedUserIssueFilters(String login); void deleteUserIssueFilterFavourites(String login); - void deleteUserMeasureFilters(long userId); + void deleteUnsharedUserMeasureFilters(long userId); void deleteUserMeasureFilterFavourites(long userId); diff --git a/sonar-core/src/main/resources/org/sonar/core/user/UserMapper.xml b/sonar-core/src/main/resources/org/sonar/core/user/UserMapper.xml index 0cd5fbbce41..f0368bf8bab 100644 --- a/sonar-core/src/main/resources/org/sonar/core/user/UserMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/user/UserMapper.xml @@ -73,24 +73,24 @@ DELETE FROM properties WHERE user_id=#{id} - - DELETE FROM dashboards WHERE user_id=#{id} + + DELETE FROM dashboards WHERE user_id=#{id} and shared <> ${_true} DELETE FROM active_dashboards WHERE user_id=#{id} - - DELETE FROM measure_filters WHERE user_id=#{id} + + DELETE FROM measure_filters WHERE user_id=#{id} and shared <> ${_true} DELETE FROM measure_filter_favourites WHERE user_id=#{id} - - DELETE FROM issue_filters WHERE user_login=#{id} + + DELETE FROM issue_filters WHERE user_login=#{id} and shared <> ${_true} diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user-result.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user-result.xml index 7ec29baf07d..1ee485b9812 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user-result.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user-result.xml @@ -36,11 +36,21 @@ + + + + + + + + + + diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user.xml index 1b102962bcd..e1891e18d3a 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user.xml @@ -20,11 +20,17 @@ + + + + + + @@ -32,10 +38,13 @@ + + + -- cgit v1.2.3