aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server/src
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@gmail.com>2013-05-27 13:59:10 +0200
committerJulien Lancelot <julien.lancelot@gmail.com>2013-05-27 13:59:10 +0200
commit5a11afa5916286b034c2309671e4bb7b9260c3b9 (patch)
tree216a5043adcc21995a33c5adae7321547bfdcd12 /sonar-server/src
parent59193935832caf91e534a46b523593cc9dcc4ba8 (diff)
downloadsonarqube-5a11afa5916286b034c2309671e4bb7b9260c3b9.tar.gz
sonarqube-5a11afa5916286b034c2309671e4bb7b9260c3b9.zip
SONAR-4301 Remove usage of authorizationDao on issues search
Diffstat (limited to 'sonar-server/src')
-rw-r--r--sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueFinder.java11
-rw-r--r--sonar-server/src/test/java/org/sonar/server/issue/DefaultIssueFinderTest.java27
2 files changed, 12 insertions, 26 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueFinder.java b/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueFinder.java
index d7aa0dc89a0..f7682b6693c 100644
--- a/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueFinder.java
+++ b/sonar-server/src/main/java/org/sonar/server/issue/DefaultIssueFinder.java
@@ -97,20 +97,17 @@ public class DefaultIssueFinder implements IssueFinder {
LOG.debug("IssueQuery : {}", query);
SqlSession sqlSession = myBatis.openSession();
try {
- // 1. Select all authorized root project ids for the user
- Collection<Integer> rootProjectIds = authorizationDao.selectAuthorizedRootProjectsIds(UserSession.get().userId(), query.requiredRole(), sqlSession);
-
- // 2. Select the authorized ids of all the issues that match the query
+ // 1. Select the authorized ids of all the issues that match the query
List<IssueDto> authorizedIssues = issueDao.selectIssues(query, UserSession.get().userId(), sqlSession);
- // 3. Sort all authorized issues
+ // 2. Sort all authorized issues
List<IssueDto> authorizedSortedIssues = sort(authorizedIssues, query, authorizedIssues.size());
- // 4. Apply pagination
+ // 3. Apply pagination
Paging paging = Paging.create(query.pageSize(), query.pageIndex(), authorizedSortedIssues.size());
Set<Long> pagedIssueIds = pagedIssueIds(authorizedSortedIssues, paging);
- // 5. Load issues and their related data (rules, components, projects, comments, action plans, ...) and sort then again
+ // 4. Load issues and their related data (rules, components, projects, comments, action plans, ...) and sort then again
List<IssueDto> pagedIssues = issueDao.selectByIds(pagedIssueIds, sqlSession);
List<IssueDto> pagedSortedIssues = sort(pagedIssues, query, authorizedIssues.size());
diff --git a/sonar-server/src/test/java/org/sonar/server/issue/DefaultIssueFinderTest.java b/sonar-server/src/test/java/org/sonar/server/issue/DefaultIssueFinderTest.java
index b3de5336538..d3419a8082e 100644
--- a/sonar-server/src/test/java/org/sonar/server/issue/DefaultIssueFinderTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/issue/DefaultIssueFinderTest.java
@@ -47,7 +47,6 @@ import static org.fest.assertions.Assertions.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyCollection;
import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.*;
@@ -65,8 +64,6 @@ public class DefaultIssueFinderTest {
@Test
public void should_find_issues() {
- when(authorizationDao.selectAuthorizedRootProjectsIds(anyInt(), anyString(), any(SqlSession.class)))
- .thenReturn(newHashSet(100));
IssueQuery query = IssueQuery.builder().build();
IssueDto issue1 = new IssueDto().setId(1L).setRuleId(50).setComponentId(123).setRootComponentId(100)
@@ -94,9 +91,6 @@ public class DefaultIssueFinderTest {
@Test
public void should_find_paginate_result() {
- when(authorizationDao.selectAuthorizedRootProjectsIds(anyInt(), anyString(), any(SqlSession.class)))
- .thenReturn(newHashSet(100));
-
IssueQuery query = IssueQuery.builder().pageSize(1).pageIndex(1).build();
IssueDto issue1 = new IssueDto().setId(1L).setRuleId(50).setComponentId(123).setRootComponentId(100)
@@ -200,15 +194,15 @@ public class DefaultIssueFinderTest {
IssueQuery query = IssueQuery.builder().build();
IssueDto issue1 = new IssueDto().setId(1L).setRuleId(50).setComponentId(123).setRootComponentId(100)
- .setComponentKey_unit_test_only("Action.java")
- .setRootComponentKey_unit_test_only("struts")
- .setRuleKey_unit_test_only("squid", "AvoidCycle")
- .setStatus("OPEN").setResolution("OPEN");
+ .setComponentKey_unit_test_only("Action.java")
+ .setRootComponentKey_unit_test_only("struts")
+ .setRuleKey_unit_test_only("squid", "AvoidCycle")
+ .setStatus("OPEN").setResolution("OPEN");
IssueDto issue2 = new IssueDto().setId(2L).setRuleId(50).setComponentId(123).setRootComponentId(100)
- .setComponentKey_unit_test_only("Action.java")
- .setRootComponentKey_unit_test_only("struts")
- .setRuleKey_unit_test_only("squid", "AvoidCycle")
- .setStatus("OPEN").setResolution("OPEN");
+ .setComponentKey_unit_test_only("Action.java")
+ .setRootComponentKey_unit_test_only("struts")
+ .setRuleKey_unit_test_only("squid", "AvoidCycle")
+ .setStatus("OPEN").setResolution("OPEN");
List<IssueDto> dtoList = newArrayList(issue1, issue2);
when(issueDao.selectByIds(anyCollection(), any(SqlSession.class))).thenReturn(dtoList);
@@ -249,7 +243,6 @@ public class DefaultIssueFinderTest {
@Test
public void should_get_empty_result_when_no_issue() {
- grantAccessRights();
IssueQuery query = IssueQuery.builder().build();
when(issueDao.selectIssues(eq(query), anyInt(), any(SqlSession.class))).thenReturn(Collections.<IssueDto>emptyList());
when(issueDao.selectByIds(anyCollection(), any(SqlSession.class))).thenReturn(Collections.<IssueDto>emptyList());
@@ -261,8 +254,4 @@ public class DefaultIssueFinderTest {
assertThat(results.actionPlans()).isEmpty();
}
- private void grantAccessRights() {
- when(authorizationDao.selectAuthorizedRootProjectsIds(anyInt(), anyString(), any(SqlSession.class)))
- .thenReturn(newHashSet(100));
- }
}