aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core/src
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@gmail.com>2013-05-29 18:01:38 +0200
committerJulien Lancelot <julien.lancelot@gmail.com>2013-05-29 18:01:38 +0200
commit7cd778260833ff4ebeee9fbbdf84cc2fc44cf500 (patch)
treedcfb352db082353dbe7d2425e2ffb10572e9b0fc /sonar-core/src
parentca124374cae601975cca342e125652f41b70e309 (diff)
downloadsonarqube-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')
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/user/AuthorizationMapper.xml23
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/shared.xml8
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issues_for_authorized_projects.xml8
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStatsDaoTest/should_select_assignees.xml2
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_anonymous.xml8
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_group.xml8
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/user/AuthorizationDaoTest/should_return_root_project_ids_for_user.xml8
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>