aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2013-11-28 15:46:52 +0100
committerJulien HENRY <julien.henry@sonarsource.com>2013-11-28 15:46:52 +0100
commit4d0e95eb3b2785571b2a75e2ec95bd23b0a38053 (patch)
tree3639dff8c7238230c5737f8227fa2de214bc34af
parente33bd845702cc6de1bdd4db0eea2a8a5218d5f96 (diff)
downloadsonarqube-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.java11
-rw-r--r--sonar-server/src/test/java/org/sonar/server/user/UserSessionTestUtils.java31
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);
+ }
+}