From 50673979b7ce6b337e9b87d3a4e0cd74a5789bc6 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Thu, 5 Dec 2013 17:16:52 +0100 Subject: SONAR-4941 Replace usage of template name by template key --- .../sonar/core/permission/PermissionFacade.java | 8 +--- .../core/permission/PermissionTemplateDao.java | 19 ++------- .../core/permission/PermissionTemplateMapper.java | 6 +-- .../core/permission/PermissionTemplateMapper.xml | 10 +---- .../core/permission/PermissionFacadeTest.java | 6 +-- .../core/permission/PermissionTemplateDaoTest.java | 22 ++-------- .../InternalPermissionTemplateService.java | 20 ++++----- .../permission/PermissionTemplateUpdater.java | 14 +++---- .../controllers/permission_templates_controller.rb | 30 +++++++------- .../permission_templates/_edit_groups.html.erb | 2 +- .../permission_templates/_edit_users.html.erb | 2 +- .../app/views/permission_templates/index.html.erb | 22 +++++----- .../InternalPermissionTemplateServiceTest.java | 48 +++++++++++----------- .../permission/PermissionTemplateUpdaterTest.java | 12 +++--- 14 files changed, 91 insertions(+), 130 deletions(-) diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java index 1391310b5c7..670a4db7385 100644 --- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java +++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java @@ -30,11 +30,7 @@ import org.sonar.api.task.TaskComponent; import org.sonar.core.persistence.MyBatis; import org.sonar.core.resource.ResourceDao; import org.sonar.core.resource.ResourceDto; -import org.sonar.core.user.GroupDto; -import org.sonar.core.user.GroupRoleDto; -import org.sonar.core.user.RoleDao; -import org.sonar.core.user.UserDao; -import org.sonar.core.user.UserRoleDto; +import org.sonar.core.user.*; import javax.annotation.Nullable; @@ -163,7 +159,7 @@ public class PermissionFacade implements TaskComponent, ServerComponent { if (permissionTemplateDto == null) { throw new IllegalArgumentException("Could not retrieve permission template with key " + templateKey); } - PermissionTemplateDto templateWithPermissions = permissionTemplateDao.selectPermissionTemplate(permissionTemplateDto.getName()); + PermissionTemplateDto templateWithPermissions = permissionTemplateDao.selectPermissionTemplate(permissionTemplateDto.getKee()); if (templateWithPermissions == null) { throw new IllegalArgumentException("Could not retrieve permissions for template with key " + templateKey); } diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java index 72262d4052b..300d7579fe7 100644 --- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java +++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java @@ -74,17 +74,6 @@ public class PermissionTemplateDao implements TaskComponent, ServerComponent { return selectUsers(query, templateId, 0, Integer.MAX_VALUE); } - @CheckForNull - public PermissionTemplateDto selectTemplateByName(String templateName) { - SqlSession session = myBatis.openSession(); - try { - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); - return mapper.selectByName(templateName); - } finally { - MyBatis.closeQuietly(session); - } - } - @CheckForNull public PermissionTemplateDto selectTemplateByKey(String templateKey) { SqlSession session = myBatis.openSession(); @@ -97,17 +86,17 @@ public class PermissionTemplateDao implements TaskComponent, ServerComponent { } @CheckForNull - public PermissionTemplateDto selectPermissionTemplate(String templateName) { + public PermissionTemplateDto selectPermissionTemplate(String templateKey) { PermissionTemplateDto permissionTemplate = null; SqlSession session = myBatis.openSession(); try { PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); - permissionTemplate = mapper.selectByName(templateName); - PermissionTemplateDto templateUsersPermissions = mapper.selectTemplateUsersPermissions(templateName); + permissionTemplate = mapper.selectByKey(templateKey); + PermissionTemplateDto templateUsersPermissions = mapper.selectTemplateUsersPermissions(templateKey); if (templateUsersPermissions != null) { permissionTemplate.setUsersPermissions(templateUsersPermissions.getUsersPermissions()); } - PermissionTemplateDto templateGroupsPermissions = mapper.selectTemplateGroupsPermissions(templateName); + PermissionTemplateDto templateGroupsPermissions = mapper.selectTemplateGroupsPermissions(templateKey); if (templateGroupsPermissions != null) { permissionTemplate.setGroupsByPermission(templateGroupsPermissions.getGroupsPermissions()); } diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateMapper.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateMapper.java index 68073023046..c115e289050 100644 --- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateMapper.java @@ -35,13 +35,11 @@ public interface PermissionTemplateMapper { void deleteGroupsPermissions(Long templateId); - PermissionTemplateDto selectByName(String templateName); - PermissionTemplateDto selectByKey(String templateKey); - PermissionTemplateDto selectTemplateUsersPermissions(String templateName); + PermissionTemplateDto selectTemplateUsersPermissions(String templateKey); - PermissionTemplateDto selectTemplateGroupsPermissions(String templateName); + PermissionTemplateDto selectTemplateGroupsPermissions(String templateKey); void insertUserPermission(PermissionTemplateUserDto permissionTemplateUser); diff --git a/sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml b/sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml index 7cf029510c1..f6461371b30 100644 --- a/sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml @@ -89,12 +89,6 @@ WHERE kee = #{kee} - - diff --git a/sonar-core/src/test/java/org/sonar/core/permission/PermissionFacadeTest.java b/sonar-core/src/test/java/org/sonar/core/permission/PermissionFacadeTest.java index c64e2bfedea..93bd6cfa44f 100644 --- a/sonar-core/src/test/java/org/sonar/core/permission/PermissionFacadeTest.java +++ b/sonar-core/src/test/java/org/sonar/core/permission/PermissionFacadeTest.java @@ -160,11 +160,11 @@ public class PermissionFacadeTest extends AbstractDaoTestCase { @Test public void should_retrieve_permission_template() throws Exception { - PermissionTemplateDto permissionTemplateDto = new PermissionTemplateDto().setName("Test template"); - PermissionTemplateDto templateWithPermissions = new PermissionTemplateDto(); + PermissionTemplateDto permissionTemplateDto = new PermissionTemplateDto().setName("Test template").setKee("test_template"); + PermissionTemplateDto templateWithPermissions = new PermissionTemplateDto().setKee("test_template"); permissionTemplateDao = mock(PermissionTemplateDao.class); when(permissionTemplateDao.selectTemplateByKey("test_template")).thenReturn(permissionTemplateDto); - when(permissionTemplateDao.selectPermissionTemplate("Test template")).thenReturn(templateWithPermissions); + when(permissionTemplateDao.selectPermissionTemplate("test_template")).thenReturn(templateWithPermissions); permissionFacade = new PermissionFacade(null, null, null, null, permissionTemplateDao, null); diff --git a/sonar-core/src/test/java/org/sonar/core/permission/PermissionTemplateDaoTest.java b/sonar-core/src/test/java/org/sonar/core/permission/PermissionTemplateDaoTest.java index 652ecfca7d1..53daae1c564 100644 --- a/sonar-core/src/test/java/org/sonar/core/permission/PermissionTemplateDaoTest.java +++ b/sonar-core/src/test/java/org/sonar/core/permission/PermissionTemplateDaoTest.java @@ -33,10 +33,7 @@ import java.util.Date; import java.util.List; import static org.fest.assertions.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.stub; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; public class PermissionTemplateDaoTest extends AbstractDaoTestCase { @@ -93,7 +90,7 @@ public class PermissionTemplateDaoTest extends AbstractDaoTestCase { @Test public void should_select_permission_template() throws Exception { setupData("selectPermissionTemplate"); - PermissionTemplateDto permissionTemplate = permissionTemplateDao.selectPermissionTemplate("my template"); + PermissionTemplateDto permissionTemplate = permissionTemplateDao.selectPermissionTemplate("my_template_20130102_030405"); assertThat(permissionTemplate).isNotNull(); assertThat(permissionTemplate.getName()).isEqualTo("my template"); @@ -113,7 +110,7 @@ public class PermissionTemplateDaoTest extends AbstractDaoTestCase { @Test public void should_select_empty_permission_template() throws Exception { setupData("selectEmptyPermissionTemplate"); - PermissionTemplateDto permissionTemplate = permissionTemplateDao.selectPermissionTemplate("my template"); + PermissionTemplateDto permissionTemplate = permissionTemplateDao.selectPermissionTemplate("my_template_20130102_030405"); assertThat(permissionTemplate).isNotNull(); assertThat(permissionTemplate.getName()).isEqualTo("my template"); @@ -122,19 +119,6 @@ public class PermissionTemplateDaoTest extends AbstractDaoTestCase { assertThat(permissionTemplate.getGroupsPermissions()).isNull(); } - @Test - public void should_select_permission_template_by_name() throws Exception { - setupData("selectPermissionTemplate"); - - PermissionTemplateDto permissionTemplate = permissionTemplateDao.selectTemplateByName("my template"); - - assertThat(permissionTemplate).isNotNull(); - assertThat(permissionTemplate.getId()).isEqualTo(1L); - assertThat(permissionTemplate.getName()).isEqualTo("my template"); - assertThat(permissionTemplate.getKee()).isEqualTo("my_template_20130102_030405"); - assertThat(permissionTemplate.getDescription()).isEqualTo("my description"); - } - @Test public void should_select_permission_template_by_key() throws Exception { setupData("selectPermissionTemplate"); diff --git a/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java b/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java index c8ba6ecd719..da382dfeefc 100644 --- a/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java +++ b/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java @@ -61,9 +61,9 @@ public class InternalPermissionTemplateService implements ServerComponent { } @CheckForNull - public PermissionTemplate selectPermissionTemplate(String templateName) { + public PermissionTemplate selectPermissionTemplate(String templateKey) { PermissionTemplateUpdater.checkSystemAdminUser(); - PermissionTemplateDto permissionTemplateDto = permissionTemplateDao.selectPermissionTemplate(templateName); + PermissionTemplateDto permissionTemplateDto = permissionTemplateDao.selectPermissionTemplate(templateKey); return PermissionTemplate.create(permissionTemplateDto); } @@ -108,8 +108,8 @@ public class InternalPermissionTemplateService implements ServerComponent { permissionTemplateDao.deletePermissionTemplate(templateId); } - public void addUserPermission(String templateName, String permission, String userLogin) { - PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateName, permission, userLogin, permissionTemplateDao, userDao) { + public void addUserPermission(String templateKey, String permission, String userLogin) { + PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateKey, permission, userLogin, permissionTemplateDao, userDao) { @Override protected void doExecute(Long templateId, String permission) { Long userId = getUserId(); @@ -119,8 +119,8 @@ public class InternalPermissionTemplateService implements ServerComponent { updater.executeUpdate(); } - public void removeUserPermission(String templateName, String permission, String userLogin) { - PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateName, permission, userLogin, permissionTemplateDao, userDao) { + public void removeUserPermission(String templateKey, String permission, String userLogin) { + PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateKey, permission, userLogin, permissionTemplateDao, userDao) { @Override protected void doExecute(Long templateId, String permission) { Long userId = getUserId(); @@ -130,8 +130,8 @@ public class InternalPermissionTemplateService implements ServerComponent { updater.executeUpdate(); } - public void addGroupPermission(String templateName, String permission, String groupName) { - PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateName, permission, groupName, permissionTemplateDao, userDao) { + public void addGroupPermission(String templateKey, String permission, String groupName) { + PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateKey, permission, groupName, permissionTemplateDao, userDao) { @Override protected void doExecute(Long templateId, String permission) { Long groupId = getGroupId(); @@ -141,8 +141,8 @@ public class InternalPermissionTemplateService implements ServerComponent { updater.executeUpdate(); } - public void removeGroupPermission(String templateName, String permission, String groupName) { - PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateName, permission, groupName, permissionTemplateDao, userDao) { + public void removeGroupPermission(String templateKey, String permission, String groupName) { + PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateKey, permission, groupName, permissionTemplateDao, userDao) { @Override protected void doExecute(Long templateId, String permission) { Long groupId = getGroupId(); diff --git a/sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplateUpdater.java b/sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplateUpdater.java index 021bcdbde7b..022692a29ee 100644 --- a/sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplateUpdater.java +++ b/sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplateUpdater.java @@ -37,14 +37,14 @@ import javax.annotation.Nullable; abstract class PermissionTemplateUpdater { - private final String templateName; + private final String templateKey; private final String permission; private final String updatedReference; private final PermissionTemplateDao permissionTemplateDao; private final UserDao userDao; - PermissionTemplateUpdater(String templateName, String permission, String updatedReference, PermissionTemplateDao permissionTemplateDao, UserDao userDao) { - this.templateName = templateName; + PermissionTemplateUpdater(String templateKey, String permission, String updatedReference, PermissionTemplateDao permissionTemplateDao, UserDao userDao) { + this.templateKey = templateKey; this.permission = permission; this.updatedReference = updatedReference; this.permissionTemplateDao = permissionTemplateDao; @@ -53,7 +53,7 @@ abstract class PermissionTemplateUpdater { void executeUpdate() { checkSystemAdminUser(); - Long templateId = getTemplateId(templateName); + Long templateId = getTemplateId(templateKey); validatePermission(permission); doExecute(templateId, permission); } @@ -101,10 +101,10 @@ abstract class PermissionTemplateUpdater { } } - private Long getTemplateId(String name) { - PermissionTemplateDto permissionTemplateDto = permissionTemplateDao.selectTemplateByName(name); + private Long getTemplateId(String key) { + PermissionTemplateDto permissionTemplateDto = permissionTemplateDao.selectTemplateByKey(key); if (permissionTemplateDto == null) { - throw new BadRequestException("Unknown template: " + name); + throw new BadRequestException("Unknown template: " + key); } return permissionTemplateDto.getId(); } diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb index a9fcf669e14..0e138f5bac4 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb @@ -73,7 +73,7 @@ class PermissionTemplatesController < ApplicationController # def edit_users @permission = params[:permission] - @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:name]) + @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:key]) @users_with_permission = @permission_template.getUsersForPermission(params[:permission]).collect {|u| [u.userName, u.userLogin]} @users_without_permission = all_users.each.collect {|u| [u.name, u.login]} - @users_with_permission @@ -85,7 +85,7 @@ class PermissionTemplatesController < ApplicationController # def edit_groups @permission = params[:permission] - @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:name]) + @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:key]) @groups_with_permission = @permission_template.getGroupsForPermission(params[:permission]).collect {|g| [group_ref(g.groupName), group_ref(g.groupName)]} @groups_without_permission = all_groups.each.collect {|g| g.nil? ? ['Anyone', 'Anyone'] : [g.name, g.name]} - @groups_with_permission @@ -97,9 +97,9 @@ class PermissionTemplatesController < ApplicationController # def update_users_permissions verify_post_request - require_parameters :name, :permission + require_parameters :key, :permission - @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:name]) + @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:key]) selected_users = params[:users] || [] @@ -110,11 +110,11 @@ class PermissionTemplatesController < ApplicationController demoted_users = previous_users_with_permission - new_users_with_permission promoted_users.each do |user| - Internal.permission_templates.addUserPermission(params[:name], params[:permission], user[1]) + Internal.permission_templates.addUserPermission(params[:key], params[:permission], user[1]) end demoted_users.each do |user| - Internal.permission_templates.removeUserPermission(params[:name], params[:permission], user[1]) + Internal.permission_templates.removeUserPermission(params[:key], params[:permission], user[1]) end redirect_to :action => 'index' @@ -125,9 +125,9 @@ class PermissionTemplatesController < ApplicationController # def update_groups_permissions verify_post_request - require_parameters :name, :permission + require_parameters :key, :permission - @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:name]) + @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:key]) selected_groups = params[:groups] || [] @@ -138,11 +138,11 @@ class PermissionTemplatesController < ApplicationController demoted_groups = previous_groups_with_permission - new_groups_with_permission promoted_groups.each do |group| - Internal.permission_templates.addGroupPermission(params[:name], params[:permission], group[1]) + Internal.permission_templates.addGroupPermission(params[:key], params[:permission], group[1]) end demoted_groups.each do |group| - Internal.permission_templates.removeGroupPermission(params[:name], params[:permission], group[1]) + Internal.permission_templates.removeGroupPermission(params[:key], params[:permission], group[1]) end redirect_to :action => 'index' @@ -169,7 +169,7 @@ class PermissionTemplatesController < ApplicationController # GET (modal form) # def edit_form - @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:name]) + @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:key]) render :partial => 'permission_templates/permission_template_form', :locals => {:form_action => 'edit', :message_title => 'edit_template', :message_submit => 'update_template'} end @@ -188,7 +188,7 @@ class PermissionTemplatesController < ApplicationController # GET (modal form) # def delete_form - @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:name]) + @permission_template = Internal.permission_templates.selectPermissionTemplate(params[:key]) render :partial => 'permission_templates/delete_form' end @@ -247,10 +247,10 @@ class PermissionTemplatesController < ApplicationController end def get_templates_and_permissions(permission_templates) - templates_names = permission_templates.collect {|t| t.name} + templates_keys = permission_templates.collect {|t| t.key} permission_templates = [] - templates_names.each do |template_name| - permission_templates << Internal.permission_templates.selectPermissionTemplate(template_name) + templates_keys.each do |template_key| + permission_templates << Internal.permission_templates.selectPermissionTemplate(template_key) end permission_templates.sort_by {|t| t.name.downcase} end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/_edit_groups.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/_edit_groups.html.erb index adc6dd84b3b..dc5afb4028c 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/_edit_groups.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/_edit_groups.html.erb @@ -1,6 +1,6 @@
- +