]> source.dussan.org Git - sonarqube.git/commitdiff
Fix quality flaws
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 19 Sep 2014 13:12:20 +0000 (15:12 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 19 Sep 2014 13:12:20 +0000 (15:12 +0200)
server/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueService.java
server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java
server/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java

index 155ae154244ec9dcc0c2d14405ba17c708423b7c..a48935d271b922c931197085ac4fda477c64c2f7 100644 (file)
@@ -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());
   }
index e089b2abd393c492e4643843cda167c20788779e..3b906b6933b241ae928737adfdc10c8bb9caa59c 100644 (file)
@@ -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
index 661fe9aeb9a37cab09275d2f7df1dd2ebc69d77c..773e314ddd4efc660359869d168b574397b8ae10 100644 (file)
@@ -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<PermissionTemplateGroupDto> 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)