From e91859fc277ed458a180201c7fa128822661cde8 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Fri, 19 Sep 2014 15:12:20 +0200 Subject: [PATCH] Fix quality flaws --- .../sonar/server/issue/DefaultIssueService.java | 6 +++++- .../InternalPermissionTemplateService.java | 16 ---------------- .../InternalPermissionTemplateServiceTest.java | 10 ++++++++-- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueService.java index 155ae154244..a48935d271b 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueService.java @@ -317,10 +317,14 @@ public class DefaultIssueService implements IssueService { } private void saveIssue(DbSession session, DefaultIssue issue, IssueChangeContext context) { + String projectKey = issue.projectKey(); + if (projectKey == null) { + throw new IllegalStateException(String.format("Issue '%s' has no project key", issue.key())); + } issueStorage.save(issue); issueNotifications.sendChanges(issue, context, getRuleByKey(issue.ruleKey()), - dbClient.componentDao().getByKey(session, issue.projectKey()), + dbClient.componentDao().getByKey(session, projectKey), dbClient.componentDao().getNullableByKey(session, issue.componentKey())); dryRunCache.reportResourceModification(issue.componentKey()); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java b/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java index e089b2abd39..3b906b6933b 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java @@ -23,13 +23,11 @@ package org.sonar.server.permission; import com.google.common.collect.Lists; import org.apache.commons.lang.StringUtils; import org.sonar.api.ServerComponent; -import org.sonar.api.resources.Qualifiers; import org.sonar.core.permission.GlobalPermissions; import org.sonar.core.permission.PermissionTemplateDao; import org.sonar.core.permission.PermissionTemplateDto; import org.sonar.core.persistence.DbSession; import org.sonar.core.persistence.MyBatis; -import org.sonar.core.properties.PropertyDto; import org.sonar.core.user.GroupDto; import org.sonar.core.user.UserDao; import org.sonar.server.db.DbClient; @@ -116,20 +114,6 @@ public class InternalPermissionTemplateService implements ServerComponent { permissionTemplateDao.deletePermissionTemplate(templateId); } - public void updateDefaultTemplate(String permissionTemplateKey, String qualifier){ - if (Qualifiers.PROJECT.equals(qualifier)) { - saveProperty("sonar.permission.template.default", permissionTemplateKey); - } - saveProperty("sonar.permission." + qualifier + ".default", permissionTemplateKey); - } - - private void saveProperty(String propertyKey, String value){ - PropertyDto property = new PropertyDto() - .setKey(propertyKey) - .setValue(value); - db.propertiesDao().setProperty(property); - } - public void addUserPermission(String templateKey, String permission, String userLogin) { PermissionTemplateUpdater updater = new PermissionTemplateUpdater(templateKey, permission, userLogin, permissionTemplateDao, userDao) { @Override diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java index 661fe9aeb9a..773e314ddd4 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java @@ -33,6 +33,7 @@ import org.sonar.api.web.UserRole; import org.sonar.core.permission.*; import org.sonar.core.persistence.DbSession; import org.sonar.core.persistence.MyBatis; +import org.sonar.core.properties.PropertiesDao; import org.sonar.core.user.GroupDto; import org.sonar.core.user.UserDao; import org.sonar.core.user.UserDto; @@ -64,6 +65,9 @@ public class InternalPermissionTemplateServiceTest { @Mock PermissionFinder finder; + @Mock + PropertiesDao propertiesDao; + @Mock DbSession session; @@ -79,6 +83,8 @@ public class InternalPermissionTemplateServiceTest { public void setUp() { MockUserSession.set().setLogin("admin").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + when(db.propertiesDao()).thenReturn(propertiesDao); + MyBatis myBatis = mock(MyBatis.class); when(myBatis.openSession(false)).thenReturn(session); service = new InternalPermissionTemplateService(db, myBatis, permissionTemplateDao, userDao, finder); @@ -158,13 +164,13 @@ public class InternalPermissionTemplateServiceTest { buildUserPermission("user_dry_run", GlobalPermissions.DRY_RUN_EXECUTION), buildUserPermission("user_scan_and_dry_run", GlobalPermissions.SCAN_EXECUTION), buildUserPermission("user_scan_and_dry_run", GlobalPermissions.DRY_RUN_EXECUTION) - ); + ); List groupsPermissions = Lists.newArrayList( buildGroupPermission("admin_group", GlobalPermissions.SYSTEM_ADMIN), buildGroupPermission("scan_group", GlobalPermissions.SCAN_EXECUTION), buildGroupPermission(null, GlobalPermissions.DRY_RUN_EXECUTION) - ); + ); PermissionTemplateDto permissionTemplateDto = new PermissionTemplateDto() .setId(1L) -- 2.39.5