diff options
author | Julien Lancelot <julien.lancelot@gmail.com> | 2013-05-29 18:01:38 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@gmail.com> | 2013-05-29 18:01:38 +0200 |
commit | 7cd778260833ff4ebeee9fbbdf84cc2fc44cf500 (patch) | |
tree | dcfb352db082353dbe7d2425e2ffb10572e9b0fc /sonar-core/src | |
parent | ca124374cae601975cca342e125652f41b70e309 (diff) | |
download | sonarqube-7cd778260833ff4ebeee9fbbdf84cc2fc44cf500.tar.gz sonarqube-7cd778260833ff4ebeee9fbbdf84cc2fc44cf500.zip |
SONAR-4301 Replace snapshot by project in query used to select authorized root project ids
Diffstat (limited to 'sonar-core/src')
7 files changed, 29 insertions, 36 deletions
diff --git a/sonar-core/src/main/resources/org/sonar/core/user/AuthorizationMapper.xml b/sonar-core/src/main/resources/org/sonar/core/user/AuthorizationMapper.xml index bcbf7ca3545..3cb464c72ca 100644 --- a/sonar-core/src/main/resources/org/sonar/core/user/AuthorizationMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/user/AuthorizationMapper.xml @@ -52,30 +52,27 @@ <sql id="selectAuthorizedRootProjectsIdsQuery"> <choose> <when test="userId != null"> - SELECT s.root_project_id - FROM group_roles gr, snapshots s + SELECT p.id as root_project_id + FROM group_roles gr + INNER JOIN projects p on p.id = gr.resource_id AND p.scope = 'PRJ' AND p.qualifier = 'TRK' WHERE gr.role=#{role} and (gr.group_id is null or gr.group_id in (select gu.group_id from groups_users gu where gu.user_id=#{userId})) - and gr.resource_id = s.root_project_id - and s.islast = ${_true} UNION - SELECT s.root_project_id - FROM user_roles ur, snapshots s + SELECT p.id as root_project_id + FROM user_roles ur + INNER JOIN projects p on p.id = ur.resource_id AND p.scope = 'PRJ' AND p.qualifier = 'TRK' WHERE ur.role=#{role} - and ur.user_id=#{userId} and s.project_id=ur.resource_id - and s.islast = ${_true} - group by s.root_project_id + and ur.user_id = #{userId} </when> <otherwise> - SELECT s.root_project_id - FROM group_roles gr, snapshots s + SELECT p.id as root_project_id + FROM group_roles gr + INNER JOIN projects p on p.id = gr.resource_id AND p.scope = 'PRJ' AND p.qualifier = 'TRK' WHERE gr.role=#{role} and gr.group_id is null - and gr.resource_id = s.root_project_id - group by s.root_project_id </otherwise> </choose> </sql> diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/shared.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/shared.xml index 5c18a9ce477..49364f57eb6 100644 --- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/shared.xml +++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/shared.xml @@ -2,10 +2,10 @@ <group_roles id="1" group_id="[null]" resource_id="399" role="user"/> - <projects id="399" kee="struts" root_id="[null]" qualifier="TRK" /> - <projects id="400" kee="struts-core" root_id="399" qualifier="BRC" /> - <projects id="401" kee="Action.java" root_id="400" qualifier="CLA" /> - <projects id="402" kee="Filter.java" root_id="400" qualifier="CLA" /> + <projects id="399" kee="struts" root_id="[null]" qualifier="TRK" scope="PRJ" /> + <projects id="400" kee="struts-core" root_id="399" qualifier="BRC" scope="PRJ" /> + <projects id="401" kee="Action.java" root_id="400" qualifier="CLA" scope="PRJ" /> + <projects id="402" kee="Filter.java" root_id="400" qualifier="CLA" scope="PRJ" /> <snapshots id="100" project_id="399" root_snapshot_id="[null]" parent_snapshot_id="[null]" root_project_id="399" path="" islast="[true]" /> <snapshots id="101" project_id="400" root_snapshot_id="100" parent_snapshot_id="100" root_project_id="399" path="100." islast="[true]" /> diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issues_for_authorized_projects.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issues_for_authorized_projects.xml index 0cca72c2f7c..84f401ef8aa 100644 --- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issues_for_authorized_projects.xml +++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issues_for_authorized_projects.xml @@ -4,12 +4,8 @@ <user_roles id="1" user_id="100" resource_id="399" role="user"/> <groups_users user_id="100" group_id="200"/> - <projects id="399" kee="struts" root_id="[null]" qualifier="TRK" /> - <snapshots id="100" project_id="399" root_snapshot_id="[null]" parent_snapshot_id="[null]" root_project_id="399" path="" islast="[true]" /> - - <projects id="400" kee="sonar" root_id="[null]" qualifier="TRK" /> - <snapshots id="101" project_id="400" root_snapshot_id="[null]" parent_snapshot_id="[null]" root_project_id="400" path="" islast="[true]" /> - + <projects id="399" kee="struts" root_id="[null]" qualifier="TRK" scope="PRJ"/> + <projects id="400" kee="sonar" root_id="[null]" qualifier="TRK" scope="PRJ"/> <!-- project struts --> <issues diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStatsDaoTest/should_select_assignees.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStatsDaoTest/should_select_assignees.xml index 313895235a4..71624f7d596 100644 --- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStatsDaoTest/should_select_assignees.xml +++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStatsDaoTest/should_select_assignees.xml @@ -1,7 +1,7 @@ <dataset> <group_roles id="1" group_id="[null]" resource_id="399" role="user"/> - <snapshots id="100" project_id="399" root_snapshot_id="[null]" parent_snapshot_id="[null]" root_project_id="399" path="" islast="[true]" /> + <projects id="399" root_id="[null]" qualifier="TRK" scope="PRJ"/> <issues id="100" diff --git a/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_anonymous.xml b/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_anonymous.xml index a474a8ad168..78751463f13 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_anonymous.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_anonymous.xml @@ -4,10 +4,10 @@ <groups_users user_id="100" group_id="200"/> <group_roles id="1" group_id="[null]" resource_id="300" role="user"/> - <snapshots id="1" project_id="300" root_project_id="300" islast="[true]"/> - <snapshots id="2" project_id="301" root_project_id="300" islast="[true]"/> - <snapshots id="3" project_id="302" root_project_id="300" islast="[true]"/> + <projects id="300" scope="PRJ" qualifier="TRK" enabled="[true]"/> + <projects id="301" scope="PRJ" qualifier="TRK" enabled="[true]"/> + <projects id="302" scope="PRJ" qualifier="TRK" enabled="[true]"/> - <snapshots id="4" project_id="303" root_project_id="301" islast="[true]"/> + <projects id="303" scope="PRJ" qualifier="TRK" enabled="[true]"/> </dataset> diff --git a/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_group.xml b/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_group.xml index 73a034687d7..8ed4eaf95e0 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_group.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_group.xml @@ -6,10 +6,10 @@ <groups_users user_id="100" group_id="200"/> <group_roles id="1" group_id="200" resource_id="300" role="user"/> - <snapshots id="1" project_id="300" root_project_id="300" islast="[true]"/> - <snapshots id="2" project_id="301" root_project_id="300" islast="[true]"/> - <snapshots id="3" project_id="302" root_project_id="300" islast="[true]"/> + <projects id="300" scope="PRJ" qualifier="TRK" enabled="[true]"/> + <projects id="301" scope="PRJ" qualifier="TRK" enabled="[true]"/> + <projects id="302" scope="PRJ" qualifier="TRK" enabled="[true]"/> - <snapshots id="4" project_id="303" root_project_id="301" islast="[true]"/> + <projects id="303" scope="PRJ" qualifier="TRK" enabled="[true]"/> </dataset> diff --git a/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_user.xml b/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_user.xml index 036563f4f9d..b3154f594d2 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_user.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_user.xml @@ -5,10 +5,10 @@ <groups_users user_id="100" group_id="200"/> <group_roles id="1" group_id="200" resource_id="999" role="user"/> - <snapshots id="1" project_id="300" root_project_id="300" islast="[true]"/> - <snapshots id="2" project_id="301" root_project_id="300" islast="[true]"/> - <snapshots id="3" project_id="302" root_project_id="300" islast="[true]"/> + <projects id="300" scope="PRJ" qualifier="TRK" enabled="[true]"/> + <projects id="301" scope="PRJ" qualifier="TRK" enabled="[true]"/> + <projects id="302" scope="PRJ" qualifier="TRK" enabled="[true]"/> - <snapshots id="4" project_id="303" root_project_id="301" islast="[true]"/> + <projects id="303" scope="PRJ" qualifier="TRK" enabled="[true]"/> </dataset> |