diff options
author | Julien Lancelot <julien.lancelot@gmail.com> | 2013-05-27 13:59:10 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@gmail.com> | 2013-05-27 13:59:10 +0200 |
commit | 5a11afa5916286b034c2309671e4bb7b9260c3b9 (patch) | |
tree | 216a5043adcc21995a33c5adae7321547bfdcd12 /sonar-server/src | |
parent | 59193935832caf91e534a46b523593cc9dcc4ba8 (diff) | |
download | sonarqube-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.java | 11 | ||||
-rw-r--r-- | sonar-server/src/test/java/org/sonar/server/issue/DefaultIssueFinderTest.java | 27 |
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)); - } } |