aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2013-12-02 17:53:32 +0100
committerJulien HENRY <julien.henry@sonarsource.com>2013-12-02 17:53:55 +0100
commitb9dd1505c80e7acf40a415b995eed30fe23d1e1d (patch)
tree0ef6840d72e56fbfd21fa86038b1286e46d2a512
parent9774b1e57f8a947591e32fcab63bb7bee6147378 (diff)
downloadsonarqube-b9dd1505c80e7acf40a415b995eed30fe23d1e1d.tar.gz
sonarqube-b9dd1505c80e7acf40a415b995eed30fe23d1e1d.zip
Fix some quality flaws
-rw-r--r--sonar-server/src/main/java/org/sonar/server/issue/IssueService.java3
-rw-r--r--sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java3
-rw-r--r--sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java5
-rw-r--r--sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java11
4 files changed, 7 insertions, 15 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java b/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java
index e1aa16fb324..9729c7c69f0 100644
--- a/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java
+++ b/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java
@@ -116,8 +116,9 @@ public class IssueService implements ServerComponent {
List<Transition> allowedTransitions = new ArrayList<Transition>();
for (Transition transition : outTransitions) {
DefaultIssue defaultIssue = (DefaultIssue) issue;
+ String projectKey = defaultIssue.projectKey();
if (StringUtils.isBlank(transition.requiredProjectPermission()) ||
- userSession.hasProjectPermission(UserRole.ISSUE_ADMIN, defaultIssue.projectKey())) {
+ (projectKey != null && userSession.hasProjectPermission(UserRole.ISSUE_ADMIN, projectKey))) {
allowedTransitions.add(transition);
}
}
diff --git a/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java b/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java
index ddc4c682cf0..a16c329fe66 100644
--- a/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java
+++ b/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java
@@ -113,6 +113,9 @@ public class InternalPermissionService implements ServerComponent {
for (String componentKey : query.getSelectedComponents()) {
ComponentDto component = (ComponentDto) resourceDao.findByKey(componentKey);
+ if (component == null) {
+ throw new IllegalStateException("Unable to find component with key " + componentKey);
+ }
permissionFacade.applyPermissionTemplate(query.getTemplateKey(), component.getId());
}
}
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 71b5d3e000d..3dee4ad4a79 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
@@ -27,7 +27,6 @@ import org.slf4j.LoggerFactory;
import org.sonar.api.ServerComponent;
import org.sonar.core.permission.PermissionTemplateDao;
import org.sonar.core.permission.PermissionTemplateDto;
-import org.sonar.core.resource.ResourceDao;
import org.sonar.core.user.UserDao;
import org.sonar.server.exceptions.BadRequestException;
import org.sonar.server.exceptions.ServerErrorException;
@@ -48,12 +47,10 @@ public class InternalPermissionTemplateService implements ServerComponent {
private final PermissionTemplateDao permissionTemplateDao;
private final UserDao userDao;
- private final ResourceDao resourceDao;
- public InternalPermissionTemplateService(PermissionTemplateDao permissionTemplateDao, UserDao userDao, ResourceDao resourceDao) {
+ public InternalPermissionTemplateService(PermissionTemplateDao permissionTemplateDao, UserDao userDao) {
this.permissionTemplateDao = permissionTemplateDao;
this.userDao = userDao;
- this.resourceDao = resourceDao;
}
@CheckForNull
diff --git a/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java b/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java
index f020bcfad2f..054dc6bf68a 100644
--- a/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionTemplateServiceTest.java
@@ -31,9 +31,6 @@ import org.sonar.core.permission.PermissionTemplateDao;
import org.sonar.core.permission.PermissionTemplateDto;
import org.sonar.core.permission.PermissionTemplateGroupDto;
import org.sonar.core.permission.PermissionTemplateUserDto;
-import org.sonar.core.resource.ResourceDao;
-import org.sonar.core.resource.ResourceDto;
-import org.sonar.core.resource.ResourceQuery;
import org.sonar.core.user.GroupDto;
import org.sonar.core.user.UserDao;
import org.sonar.core.user.UserDto;
@@ -43,7 +40,6 @@ import org.sonar.server.user.MockUserSession;
import java.util.List;
import static org.fest.assertions.Assertions.assertThat;
-import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -61,7 +57,6 @@ public class InternalPermissionTemplateServiceTest {
private PermissionTemplateDao permissionTemplateDao;
private UserDao userDao;
- private ResourceDao resourceDao;
private InternalPermissionTemplateService permissionTemplateService;
@@ -73,8 +68,7 @@ public class InternalPermissionTemplateServiceTest {
MockUserSession.set().setLogin("admin").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN);
permissionTemplateDao = mock(PermissionTemplateDao.class);
userDao = mock(UserDao.class);
- resourceDao = mock(ResourceDao.class);
- permissionTemplateService = new InternalPermissionTemplateService(permissionTemplateDao, userDao, resourceDao);
+ permissionTemplateService = new InternalPermissionTemplateService(permissionTemplateDao, userDao);
}
@Test
@@ -185,9 +179,6 @@ public class InternalPermissionTemplateServiceTest {
new PermissionTemplateDto().setId(2L).setName("template2").setDescription("template2");
when(permissionTemplateDao.selectAllPermissionTemplates()).thenReturn(Lists.newArrayList(template1, template2));
- when(resourceDao.getResource(any(ResourceQuery.class))).thenReturn(
- new ResourceDto().setId(10L).setKey("org.sample.Sample"));
-
List<PermissionTemplate> templates = permissionTemplateService.selectAllPermissionTemplates("org.sample.Sample");
assertThat(templates).hasSize(2);