diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2013-11-28 15:46:52 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2013-11-28 15:46:52 +0100 |
commit | 4d0e95eb3b2785571b2a75e2ec95bd23b0a38053 (patch) | |
tree | 3639dff8c7238230c5737f8227fa2de214bc34af | |
parent | e33bd845702cc6de1bdd4db0eea2a8a5218d5f96 (diff) | |
download | sonarqube-4d0e95eb3b2785571b2a75e2ec95bd23b0a38053.tar.gz sonarqube-4d0e95eb3b2785571b2a75e2ec95bd23b0a38053.zip |
SONAR-2447 Add default permiision on default template and add missing file
-rw-r--r-- | sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java | 11 | ||||
-rw-r--r-- | sonar-server/src/test/java/org/sonar/server/user/UserSessionTestUtils.java | 31 |
2 files changed, 37 insertions, 5 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java b/sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java index 69ffce39cab..3d16ede9cce 100644 --- a/sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java +++ b/sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java @@ -46,7 +46,7 @@ public class RegisterPermissionTemplates { private final PersistentSettings settings; public RegisterPermissionTemplates(LoadedTemplateDao loadedTemplateDao, PermissionTemplateDao permissionTemplateDao, - UserDao userDao, PersistentSettings settings) { + UserDao userDao, PersistentSettings settings) { this.loadedTemplateDao = loadedTemplateDao; this.permissionTemplateDao = permissionTemplateDao; this.userDao = userDao; @@ -56,8 +56,8 @@ public class RegisterPermissionTemplates { public void start() { TimeProfiler profiler = new TimeProfiler(LOG).start("Register permission templates"); - if(shouldRegister()) { - if(hasExistingPermissionsConfig()) { + if (shouldRegister()) { + if (hasExistingPermissionsConfig()) { String projectsPermissionsKey = settings.getString(DEFAULT_PROJECTS_TEMPLATE_PROPERTY); setDefaultProperty(projectsPermissionsKey); } else { @@ -81,17 +81,18 @@ public class RegisterPermissionTemplates { PermissionTemplateDto defaultPermissionTemplate = permissionTemplateDao .createPermissionTemplate(templateName, PermissionTemplateDto.DEFAULT.getDescription()); addGroupPermission(defaultPermissionTemplate, UserRole.ADMIN, DefaultGroups.ADMINISTRATORS); + addGroupPermission(defaultPermissionTemplate, UserRole.ISSUE_ADMIN, DefaultGroups.ADMINISTRATORS); addGroupPermission(defaultPermissionTemplate, UserRole.USER, DefaultGroups.ANYONE); addGroupPermission(defaultPermissionTemplate, UserRole.CODEVIEWER, DefaultGroups.ANYONE); } private void addGroupPermission(PermissionTemplateDto template, String permission, String groupName) { Long groupId; - if(DefaultGroups.isAnyone(groupName)) { + if (DefaultGroups.isAnyone(groupName)) { groupId = null; } else { GroupDto groupDto = userDao.selectGroupByName(groupName); - if(groupDto != null) { + if (groupDto != null) { groupId = groupDto.getId(); } else { throw new IllegalArgumentException("Cannot setup default permission for group: " + groupName); diff --git a/sonar-server/src/test/java/org/sonar/server/user/UserSessionTestUtils.java b/sonar-server/src/test/java/org/sonar/server/user/UserSessionTestUtils.java new file mode 100644 index 00000000000..7985595d140 --- /dev/null +++ b/sonar-server/src/test/java/org/sonar/server/user/UserSessionTestUtils.java @@ -0,0 +1,31 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2013 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * SonarQube is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +package org.sonar.server.user; + +public class UserSessionTestUtils { + + private UserSessionTestUtils() { + // Utility class + } + + public static void setUserSession(UserSession session) { + UserSession.set(session); + } +} |