summaryrefslogtreecommitdiffstats
path: root/server/sonar-webserver-es
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2019-10-23 15:33:39 -0500
committerSonarTech <sonartech@sonarsource.com>2020-01-31 20:46:09 +0100
commitace9a50d55d831ec71b7db421aa04d1198392c6c (patch)
tree3bf598bfe3f760d45310b2a65d014a53370a9930 /server/sonar-webserver-es
parent1ff9a01fd6e822793ef223f9ce259b15d17eecc4 (diff)
downloadsonarqube-ace9a50d55d831ec71b7db421aa04d1198392c6c.tar.gz
sonarqube-ace9a50d55d831ec71b7db421aa04d1198392c6c.zip
SONAR-12689 Separate storage of projects/apps from their components and branches
Diffstat (limited to 'server/sonar-webserver-es')
-rw-r--r--server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexerDao.java66
-rw-r--r--server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexFiltersTest.java6
-rw-r--r--server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexProjectStatisticsTest.java4
-rw-r--r--server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java6
-rw-r--r--server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java4
5 files changed, 43 insertions, 43 deletions
diff --git a/server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexerDao.java b/server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexerDao.java
index 84fb3799091..90d7c5e3a5b 100644
--- a/server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexerDao.java
+++ b/server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexerDao.java
@@ -55,35 +55,35 @@ public class PermissionIndexerDao {
// users
" SELECT '" + RowKind.USER + "' as kind," +
- " projects.uuid AS project, " +
- " projects.qualifier AS qualifier, " +
+ " c.uuid AS project, " +
+ " c.qualifier AS qualifier, " +
" user_roles.user_id AS user_id, " +
" NULL AS group_id " +
- " FROM projects " +
- " INNER JOIN user_roles ON user_roles.resource_id = projects.id AND user_roles.role = 'user' " +
+ " FROM components c " +
+ " INNER JOIN user_roles ON user_roles.resource_id = c.id AND user_roles.role = 'user' " +
" WHERE " +
- " (projects.qualifier = 'TRK' " +
- " or projects.qualifier = 'VW' " +
- " or projects.qualifier = 'APP') " +
- " AND projects.copy_component_uuid is NULL " +
+ " (c.qualifier = 'TRK' " +
+ " or c.qualifier = 'VW' " +
+ " or c.qualifier = 'APP') " +
+ " AND c.copy_component_uuid is NULL " +
" {projectsCondition} " +
" UNION " +
// groups
" SELECT '" + RowKind.GROUP + "' as kind," +
- " projects.uuid AS project, " +
- " projects.qualifier AS qualifier, " +
+ " c.uuid AS project, " +
+ " c.qualifier AS qualifier, " +
" NULL AS user_id, " +
" groups.id AS group_id " +
- " FROM projects " +
- " INNER JOIN group_roles ON group_roles.resource_id = projects.id AND group_roles.role = 'user' " +
+ " FROM components c " +
+ " INNER JOIN group_roles ON group_roles.resource_id = c.id AND group_roles.role = 'user' " +
" INNER JOIN groups ON groups.id = group_roles.group_id " +
" WHERE " +
- " (projects.qualifier = 'TRK' " +
- " or projects.qualifier = 'VW' " +
- " or projects.qualifier = 'APP') " +
- " AND projects.copy_component_uuid is NULL " +
+ " (c.qualifier = 'TRK' " +
+ " or c.qualifier = 'VW' " +
+ " or c.qualifier = 'APP') " +
+ " AND c.copy_component_uuid is NULL " +
" {projectsCondition} " +
" AND group_id IS NOT NULL " +
" UNION " +
@@ -91,33 +91,33 @@ public class PermissionIndexerDao {
// public projects are accessible to any one
" SELECT '" + RowKind.ANYONE + "' as kind," +
- " projects.uuid AS project, " +
- " projects.qualifier AS qualifier, " +
+ " c.uuid AS project, " +
+ " c.qualifier AS qualifier, " +
" NULL AS user_id, " +
" NULL AS group_id " +
- " FROM projects " +
+ " FROM components c " +
" WHERE " +
- " (projects.qualifier = 'TRK' " +
- " or projects.qualifier = 'VW' " +
- " or projects.qualifier = 'APP') " +
- " AND projects.copy_component_uuid is NULL " +
- " AND projects.private = ? " +
+ " (c.qualifier = 'TRK' " +
+ " or c.qualifier = 'VW' " +
+ " or c.qualifier = 'APP') " +
+ " AND c.copy_component_uuid is NULL " +
+ " AND c.private = ? " +
" {projectsCondition} " +
" UNION " +
// private project is returned when no authorization
" SELECT '" + RowKind.NONE + "' as kind," +
- " projects.uuid AS project, " +
- " projects.qualifier AS qualifier, " +
+ " c.uuid AS project, " +
+ " c.qualifier AS qualifier, " +
" NULL AS user_id, " +
" NULL AS group_id " +
- " FROM projects " +
+ " FROM components c " +
" WHERE " +
- " (projects.qualifier = 'TRK' " +
- " or projects.qualifier = 'VW' " +
- " or projects.qualifier = 'APP') " +
- " AND projects.copy_component_uuid is NULL " +
- " AND projects.private = ? " +
+ " (c.qualifier = 'TRK' " +
+ " or c.qualifier = 'VW' " +
+ " or c.qualifier = 'APP') " +
+ " AND c.copy_component_uuid is NULL " +
+ " AND c.private = ? " +
" {projectsCondition} " +
" ) project_authorization";
@@ -150,7 +150,7 @@ public class PermissionIndexerDao {
if (projectUuids.isEmpty()) {
sql = StringUtils.replace(SQL_TEMPLATE, "{projectsCondition}", "");
} else {
- sql = StringUtils.replace(SQL_TEMPLATE, "{projectsCondition}", " AND projects.uuid in (" + repeat("?", ", ", projectUuids.size()) + ")");
+ sql = StringUtils.replace(SQL_TEMPLATE, "{projectsCondition}", " AND c.uuid in (" + repeat("?", ", ", projectUuids.size()) + ")");
}
PreparedStatement stmt = dbClient.getMyBatis().newScrollingSelectStatement(session, sql);
int index = 1;
diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexFiltersTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexFiltersTest.java
index 5e5cdabaa30..1bde99b73d9 100644
--- a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexFiltersTest.java
+++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexFiltersTest.java
@@ -245,7 +245,7 @@ public class IssueIndexFiltersTest {
@Test
public void do_not_return_issues_from_project_branch_when_filtering_by_portfolios() {
ComponentDto portfolio = db.components().insertPrivateApplication(db.getDefaultOrganization());
- ComponentDto project = db.components().insertMainBranch();
+ ComponentDto project = db.components().insertPublicProject();
ComponentDto projectBranch = db.components().insertProjectBranch(project);
ComponentDto fileOnProjectBranch = db.components().insertComponent(newFileDto(projectBranch));
indexView(portfolio.uuid(), singletonList(project.uuid()));
@@ -359,7 +359,7 @@ public class IssueIndexFiltersTest {
@Test
public void filter_by_application_branch() {
- ComponentDto application = db.components().insertMainBranch(c -> c.setQualifier(APP));
+ ComponentDto application = db.components().insertPublicProject(c -> c.setQualifier(APP));
ComponentDto branch1 = db.components().insertProjectBranch(application);
ComponentDto branch2 = db.components().insertProjectBranch(application);
ComponentDto project1 = db.components().insertPrivateProject();
@@ -385,7 +385,7 @@ public class IssueIndexFiltersTest {
@Test
public void filter_by_application_branch_having_project_branches() {
- ComponentDto application = db.components().insertMainBranch(c -> c.setQualifier(APP).setDbKey("app"));
+ ComponentDto application = db.components().insertPublicProject(c -> c.setQualifier(APP).setDbKey("app"));
ComponentDto applicationBranch1 = db.components().insertProjectBranch(application, a -> a.setKey("app-branch1"));
ComponentDto applicationBranch2 = db.components().insertProjectBranch(application, a -> a.setKey("app-branch2"));
ComponentDto project1 = db.components().insertPrivateProject(p -> p.setDbKey("prj1"));
diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexProjectStatisticsTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexProjectStatisticsTest.java
index e71d84133b9..2ccf3703050 100644
--- a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexProjectStatisticsTest.java
+++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexProjectStatisticsTest.java
@@ -45,7 +45,7 @@ import static org.mockito.Mockito.mock;
import static org.sonar.api.resources.Qualifiers.PROJECT;
import static org.sonar.db.component.ComponentTesting.newBranchDto;
import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
-import static org.sonar.db.component.ComponentTesting.newProjectBranch;
+import static org.sonar.db.component.ComponentTesting.newBranchComponent;
import static org.sonar.db.organization.OrganizationTesting.newOrganizationDto;
import static org.sonar.server.issue.IssueDocTesting.newDoc;
@@ -246,7 +246,7 @@ public class IssueIndexProjectStatisticsTest {
public void searchProjectStatistics_return_branch_issues() {
OrganizationDto organization = newOrganizationDto();
ComponentDto project = newPrivateProjectDto(organization);
- ComponentDto branch = newProjectBranch(project, newBranchDto(project).setKey("branch"));
+ ComponentDto branch = newBranchComponent(project, newBranchDto(project).setKey("branch"));
String userUuid = randomAlphanumeric(40);
long from = 1_111_234_567_890L;
indexIssues(
diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java
index a2055da067c..fcba3067c1b 100644
--- a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java
+++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java
@@ -289,7 +289,7 @@ public class IssueIndexTest {
@Test
public void searchBranchStatistics() {
- ComponentDto project = db.components().insertMainBranch();
+ ComponentDto project = db.components().insertPublicProject();
ComponentDto branch1 = db.components().insertProjectBranch(project);
ComponentDto branch2 = db.components().insertProjectBranch(project);
ComponentDto branch3 = db.components().insertProjectBranch(project);
@@ -310,7 +310,7 @@ public class IssueIndexTest {
@Test
public void searchBranchStatistics_on_many_branches() {
- ComponentDto project = db.components().insertMainBranch();
+ ComponentDto project = db.components().insertPublicProject();
List<String> branchUuids = new ArrayList<>();
List<Tuple> expectedResult = new ArrayList<>();
IntStream.range(0, 15).forEach(i -> {
@@ -330,7 +330,7 @@ public class IssueIndexTest {
@Test
public void searchBranchStatistics_on_empty_list() {
- ComponentDto project = db.components().insertMainBranch();
+ ComponentDto project = db.components().insertPublicProject();
assertThat(underTest.searchBranchStatistics(project.uuid(), emptyList())).isEmpty();
assertThat(underTest.searchBranchStatistics(project.uuid(), singletonList("unknown"))).isEmpty();
diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java
index 702e71257f9..28922bbf6dc 100644
--- a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java
+++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java
@@ -445,7 +445,7 @@ public class IssueQueryFactoryTest {
@Test
public void search_issues_from_main_branch() {
- ComponentDto project = db.components().insertMainBranch();
+ ComponentDto project = db.components().insertPublicProject();
ComponentDto branch = db.components().insertProjectBranch(project);
assertThat(underTest.create(new SearchRequest()
@@ -476,7 +476,7 @@ public class IssueQueryFactoryTest {
@Test
public void search_by_application_key_and_branch() {
- ComponentDto application = db.components().insertMainBranch(c -> c.setQualifier(APP).setDbKey("app"));
+ ComponentDto application = db.components().insertPublicProject(c -> c.setQualifier(APP).setDbKey("app"));
ComponentDto applicationBranch1 = db.components().insertProjectBranch(application, a -> a.setKey("app-branch1"));
ComponentDto applicationBranch2 = db.components().insertProjectBranch(application, a -> a.setKey("app-branch2"));
ComponentDto project1 = db.components().insertPrivateProject(p -> p.setDbKey("prj1"));