aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-db
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-06-14 15:22:05 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-06-16 13:49:19 +0200
commitbdd0de3b9ff7a92ec55c271ca28be72b5347aa98 (patch)
tree85e9664be1e3a7c151110b73e2d2fd451980e290 /sonar-db
parentf5ba27efa5e59cfbc9b3395b402812971f266aa8 (diff)
downloadsonarqube-bdd0de3b9ff7a92ec55c271ca28be72b5347aa98.tar.gz
sonarqube-bdd0de3b9ff7a92ec55c271ca28be72b5347aa98.zip
SONAR-7738 support in code use of *_UUID instead of PROJECTS._*ID
Diffstat (limited to 'sonar-db')
-rw-r--r--sonar-db/src/main/java/org/sonar/db/component/ComponentDto.java39
-rw-r--r--sonar-db/src/main/java/org/sonar/db/component/ComponentDtoFunctions.java12
-rw-r--r--sonar-db/src/main/java/org/sonar/db/component/ResourceDao.java32
-rw-r--r--sonar-db/src/main/java/org/sonar/db/component/ResourceDto.java34
-rw-r--r--sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterDao.java34
-rw-r--r--sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterMapper.java7
-rw-r--r--sonar-db/src/main/java/org/sonar/db/component/ResourceMapper.java4
-rw-r--r--sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java12
-rw-r--r--sonar-db/src/main/java/org/sonar/db/purge/PurgeDao.java2
-rw-r--r--sonar-db/src/main/resources/org/sonar/db/component/ComponentMapper.xml41
-rw-r--r--sonar-db/src/main/resources/org/sonar/db/component/ResourceIndexMapper.xml4
-rw-r--r--sonar-db/src/main/resources/org/sonar/db/component/ResourceKeyUpdaterMapper.xml15
-rw-r--r--sonar-db/src/main/resources/org/sonar/db/component/ResourceMapper.xml44
-rw-r--r--sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml39
-rw-r--r--sonar-db/src/main/resources/org/sonar/db/purge/PurgeMapper.xml4
-rw-r--r--sonar-db/src/main/resources/org/sonar/db/user/AuthorizationMapper.xml33
-rw-r--r--sonar-db/src/test/java/org/sonar/db/component/ComponentDaoTest.java45
-rw-r--r--sonar-db/src/test/java/org/sonar/db/component/ComponentDtoTest.java10
-rw-r--r--sonar-db/src/test/java/org/sonar/db/component/ComponentTesting.java10
-rw-r--r--sonar-db/src/test/java/org/sonar/db/component/ResourceDaoTest.java23
-rw-r--r--sonar-db/src/test/java/org/sonar/db/component/ResourceIndexDaoTest.java2
-rw-r--r--sonar-db/src/test/java/org/sonar/db/component/ResourceKeyUpdaterDaoTest.java22
-rw-r--r--sonar-db/src/test/java/org/sonar/db/issue/IssueDaoTest.java47
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert-result.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert_disabled_component-result.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/multi-modules.xml32
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_ghost_projects.xml32
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_module_files_tree.xml24
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_provisioned_projects.xml32
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared.xml28
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared_views.xml26
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update-result.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoWithDuplicatedKeysTest/schema.sql14
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture-including-ghost-projects-and-technical-project.xml32
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture.xml16
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date-result.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/select_project_ids_from_query_and_view_or_sub_view_uuid.xml10
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldIndexMultiModulesProject.xml16
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldNotIndexPackages.xml12
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexNewTwoLettersLongResource.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexTwoLettersLongResource.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReindexProjectAfterRenaming.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shared.xml34
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml32
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml32
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml28
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml28
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldUpdateKey-result.xml32
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/has_last_snapshot_by_component_uuid.xml12
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_previous_version_snapshots.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_snapshots_by_query.xml16
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/insert.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/select_candidates.xml12
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/issue/IssueDaoTest/shared.xml16
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures.xml6
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures_with_person_id.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/select_by_snapshot_and_metric_keys.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/shared.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/with_some_measures_for_developer.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/apply_default_permission_template.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission-result.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_apply_permission_template.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission-result.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission-result.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission-result.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission-result.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/delete_project_property.xml6
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/findNotificationSubscribers.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/selectProjectProperties.xml6
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/select_module_properties_tree.xml20
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/shouldFindUsersForNotification.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeCommandsTest/shouldDeleteResource.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_file_sources_of_disabled_resources.xml16
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_project_in_ce_activity_when_deleting_project.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml12
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml12
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds-result.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml12
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml12
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteProject.xml16
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject-result.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml2
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/view_sub_view_and_tech_project.xml16
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest/shared.xml14
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/qualityprofile/QualityProfileDaoTest/projects.xml6
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/anonymous_should_be_authorized.xml10
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/group_should_be_authorized.xml10
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_anonymous.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_group.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_user.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_anonymous.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_group.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_user.xml4
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_anonymous.xml8
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_group.xml8
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_user.xml8
-rw-r--r--sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/user_should_be_authorized.xml4
109 files changed, 631 insertions, 758 deletions
diff --git a/sonar-db/src/main/java/org/sonar/db/component/ComponentDto.java b/sonar-db/src/main/java/org/sonar/db/component/ComponentDto.java
index d1ba2e6b605..9df936cbf36 100644
--- a/sonar-db/src/main/java/org/sonar/db/component/ComponentDto.java
+++ b/sonar-db/src/main/java/org/sonar/db/component/ComponentDto.java
@@ -42,9 +42,9 @@ public class ComponentDto implements Component {
private String projectUuid;
private String moduleUuid;
private String moduleUuidPath;
- private Long parentProjectId;
- private Long copyResourceId;
- private Long developerId;
+ private String rootUuid;
+ private String copyComponentUuid;
+ private String developerUuid;
private String path;
private String deprecatedKey;
@@ -197,13 +197,12 @@ public class ComponentDto implements Component {
return this;
}
- @CheckForNull
- public Long parentProjectId() {
- return parentProjectId;
+ public String getRootUuid() {
+ return rootUuid;
}
- public ComponentDto setParentProjectId(@Nullable Long parentProjectId) {
- this.parentProjectId = parentProjectId;
+ public ComponentDto setRootUuid(String rootUuid) {
+ this.rootUuid = rootUuid;
return this;
}
@@ -216,21 +215,23 @@ public class ComponentDto implements Component {
return this;
}
- public Long getCopyResourceId() {
- return copyResourceId;
+ @CheckForNull
+ public String getCopyResourceUuid() {
+ return copyComponentUuid;
}
- public ComponentDto setCopyResourceId(Long copyResourceId) {
- this.copyResourceId = copyResourceId;
+ public ComponentDto setCopyComponentUuid(@Nullable String copyComponentUuid) {
+ this.copyComponentUuid = copyComponentUuid;
return this;
}
- public Long getDeveloperId() {
- return developerId;
+ @CheckForNull
+ public String getDeveloperUuid() {
+ return developerUuid;
}
- public ComponentDto setDeveloperId(Long developerId) {
- this.developerId = developerId;
+ public ComponentDto setDeveloperUuid(@Nullable String developerUuid) {
+ this.developerUuid = developerUuid;
return this;
}
@@ -302,9 +303,9 @@ public class ComponentDto implements Component {
.append("projectUuid", projectUuid)
.append("moduleUuid", moduleUuid)
.append("moduleUuidPath", moduleUuidPath)
- .append("parentProjectId", parentProjectId)
- .append("copyResourceId", copyResourceId)
- .append("developerId", developerId)
+ .append("rootUuid", rootUuid)
+ .append("copyComponentUuid", copyComponentUuid)
+ .append("developerUuid", developerUuid)
.append("path", path)
.append("deprecatedKey", deprecatedKey)
.append("name", name)
diff --git a/sonar-db/src/main/java/org/sonar/db/component/ComponentDtoFunctions.java b/sonar-db/src/main/java/org/sonar/db/component/ComponentDtoFunctions.java
index 39244259134..03cb1623eeb 100644
--- a/sonar-db/src/main/java/org/sonar/db/component/ComponentDtoFunctions.java
+++ b/sonar-db/src/main/java/org/sonar/db/component/ComponentDtoFunctions.java
@@ -46,10 +46,6 @@ public final class ComponentDtoFunctions {
return ToUuid.INSTANCE;
}
- public static Function<ComponentDto, Long> toCopyResourceId() {
- return ToCopyResourceId.INSTANCE;
- }
-
private enum ToId implements Function<ComponentDto, Long> {
INSTANCE;
@@ -86,12 +82,4 @@ public final class ComponentDtoFunctions {
}
}
- private enum ToCopyResourceId implements Function<ComponentDto, Long> {
- INSTANCE;
-
- @Override
- public Long apply(ComponentDto input) {
- return input.getCopyResourceId();
- }
- }
}
diff --git a/sonar-db/src/main/java/org/sonar/db/component/ResourceDao.java b/sonar-db/src/main/java/org/sonar/db/component/ResourceDao.java
index d37fcd7da7b..9400dc07c2a 100644
--- a/sonar-db/src/main/java/org/sonar/db/component/ResourceDao.java
+++ b/sonar-db/src/main/java/org/sonar/db/component/ResourceDao.java
@@ -72,12 +72,17 @@ public class ResourceDao extends AbstractDao {
public ResourceDto selectResource(String componentUuid) {
SqlSession session = myBatis().openSession(false);
try {
- return session.getMapper(ResourceMapper.class).selectResourceByUuid(componentUuid);
+ return selectResource(componentUuid, session);
} finally {
MyBatis.closeQuietly(session);
}
}
+ @CheckForNull
+ private static ResourceDto selectResource(String componentUuid, SqlSession session) {
+ return session.getMapper(ResourceMapper.class).selectResourceByUuid(componentUuid);
+ }
+
public ResourceDto selectResource(long projectId, SqlSession session) {
return session.getMapper(ResourceMapper.class).selectResource(projectId);
}
@@ -112,11 +117,11 @@ public class ResourceDao extends AbstractDao {
private ResourceDto getRootProjectByComponentKey(DbSession session, String componentKey) {
ResourceDto component = selectResource(ResourceQuery.create().setKey(componentKey), session);
if (component != null) {
- Long rootId = component.getRootId();
- if (rootId != null) {
- return getParentModuleByComponentId(rootId, session);
- } else {
+ String rootUuid = component.getRootUuid();
+ if (rootUuid.equals(component.getUuid())) {
return component;
+ } else {
+ return getParentModuleByComponentUuid(rootUuid, session);
}
}
return null;
@@ -133,14 +138,14 @@ public class ResourceDao extends AbstractDao {
}
@CheckForNull
- private ResourceDto getParentModuleByComponentId(Long componentId, DbSession session) {
- ResourceDto component = selectResource(componentId, session);
+ private static ResourceDto getParentModuleByComponentUuid(String componentUUid, DbSession session) {
+ ResourceDto component = selectResource(componentUUid, session);
if (component != null) {
- Long rootId = component.getRootId();
- if (rootId != null) {
- return getParentModuleByComponentId(rootId, session);
- } else {
+ String rootUuid = component.getRootUuid();
+ if (rootUuid.equals(component.getUuid())) {
return component;
+ } else {
+ return getParentModuleByComponentUuid(rootUuid, session);
}
}
return null;
@@ -227,11 +232,6 @@ public class ResourceDao extends AbstractDao {
return newArrayList(Iterables.transform(resourceDto, ToComponent.INSTANCE));
}
- public void insertUsingExistingSession(ResourceDto resourceDto, SqlSession session) {
- ResourceMapper resourceMapper = session.getMapper(ResourceMapper.class);
- resourceMapper.insert(resourceDto);
- }
-
private enum ToComponent implements Function<ResourceDto, Component> {
INSTANCE;
diff --git a/sonar-db/src/main/java/org/sonar/db/component/ResourceDto.java b/sonar-db/src/main/java/org/sonar/db/component/ResourceDto.java
index 84480314295..01aea4e456d 100644
--- a/sonar-db/src/main/java/org/sonar/db/component/ResourceDto.java
+++ b/sonar-db/src/main/java/org/sonar/db/component/ResourceDto.java
@@ -20,6 +20,8 @@
package org.sonar.db.component;
import java.util.Date;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
import static org.sonar.db.component.ComponentValidator.checkComponentKey;
import static org.sonar.db.component.ComponentValidator.checkComponentName;
@@ -35,15 +37,15 @@ public class ResourceDto {
private String deprecatedKey;
private String name;
private String longName;
- private Long rootId;
+ private String rootUuid;
private String path;
private String scope;
private String qualifier;
private boolean enabled = true;
private String description;
private String language;
- private Long copyResourceId;
- private Long personId;
+ private String copyComponentUuid;
+ private String developerUuid;
private Date createdAt;
private Long authorizationUpdatedAt;
@@ -119,12 +121,12 @@ public class ResourceDto {
return this;
}
- public Long getRootId() {
- return rootId;
+ public String getRootUuid() {
+ return rootUuid;
}
- public ResourceDto setRootId(Long rootId) {
- this.rootId = rootId;
+ public ResourceDto setRootUuid(String rootUuid) {
+ this.rootUuid = rootUuid;
return this;
}
@@ -191,21 +193,23 @@ public class ResourceDto {
return this;
}
- public Long getCopyResourceId() {
- return copyResourceId;
+ @CheckForNull
+ public String getCopyComponentUuid() {
+ return copyComponentUuid;
}
- public ResourceDto setCopyResourceId(Long copyResourceId) {
- this.copyResourceId = copyResourceId;
+ public ResourceDto setCopyComponentUuid(@Nullable String copyComponentUuid) {
+ this.copyComponentUuid = copyComponentUuid;
return this;
}
- public Long getPersonId() {
- return personId;
+ @CheckForNull
+ public String getDeveloperUuid() {
+ return developerUuid;
}
- public ResourceDto setPersonId(Long personId) {
- this.personId = personId;
+ public ResourceDto setDeveloperUuid(@Nullable String developerUuid) {
+ this.developerUuid = developerUuid;
return this;
}
diff --git a/sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterDao.java b/sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterDao.java
index a5b4f7db04d..c675163fc76 100644
--- a/sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterDao.java
+++ b/sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterDao.java
@@ -44,7 +44,7 @@ public class ResourceKeyUpdaterDao implements Dao {
this.mybatis = mybatis;
}
- public void updateKey(long projectId, String newKey) {
+ public void updateKey(String projectUuid, String newKey) {
DbSession session = mybatis.openSession(true);
ResourceKeyUpdaterMapper mapper = session.getMapper(ResourceKeyUpdaterMapper.class);
try {
@@ -53,9 +53,9 @@ public class ResourceKeyUpdaterDao implements Dao {
}
// must SELECT first everything
- ResourceDto project = mapper.selectProject(projectId);
+ ResourceDto project = mapper.selectProject(projectUuid);
String projectOldKey = project.getKey();
- List<ResourceDto> resources = mapper.selectProjectResources(projectId);
+ List<ResourceDto> resources = mapper.selectProjectResources(projectUuid);
resources.add(project);
// and then proceed with the batch UPDATE at once
@@ -67,12 +67,12 @@ public class ResourceKeyUpdaterDao implements Dao {
}
}
- public Map<String, String> checkModuleKeysBeforeRenaming(long projectId, String stringToReplace, String replacementString) {
+ public Map<String, String> checkModuleKeysBeforeRenaming(String projectUuid, String stringToReplace, String replacementString) {
SqlSession session = mybatis.openSession(false);
ResourceKeyUpdaterMapper mapper = session.getMapper(ResourceKeyUpdaterMapper.class);
Map<String, String> result = Maps.newHashMap();
try {
- Set<ResourceDto> modules = collectAllModules(projectId, stringToReplace, mapper);
+ Set<ResourceDto> modules = collectAllModules(projectUuid, stringToReplace, mapper);
for (ResourceDto module : modules) {
String newKey = computeNewKey(module, stringToReplace, replacementString);
if (mapper.countResourceByKey(newKey) > 0) {
@@ -87,14 +87,14 @@ public class ResourceKeyUpdaterDao implements Dao {
return result;
}
- public void bulkUpdateKey(DbSession session, long projectId, String stringToReplace, String replacementString) {
+ public void bulkUpdateKey(DbSession session, String projectUuid, String stringToReplace, String replacementString) {
ResourceKeyUpdaterMapper mapper = session.getMapper(ResourceKeyUpdaterMapper.class);
// must SELECT first everything
- Set<ResourceDto> modules = collectAllModules(projectId, stringToReplace, mapper);
+ Set<ResourceDto> modules = collectAllModules(projectUuid, stringToReplace, mapper);
checkNewNameOfAllModules(modules, stringToReplace, replacementString, mapper);
Map<ResourceDto, List<ResourceDto>> allResourcesByModuleMap = Maps.newHashMap();
for (ResourceDto module : modules) {
- allResourcesByModuleMap.put(module, mapper.selectProjectResources(module.getId()));
+ allResourcesByModuleMap.put(module, mapper.selectProjectResources(module.getUuid()));
}
// and then proceed with the batch UPDATE at once
@@ -107,16 +107,6 @@ public class ResourceKeyUpdaterDao implements Dao {
}
}
- public void bulkUpdateKey(long projectId, String stringToReplace, String replacementString) {
- DbSession session = mybatis.openSession(true);
- try {
- bulkUpdateKey(session, projectId, stringToReplace, replacementString);
- session.commit();
- } finally {
- MyBatis.closeQuietly(session);
- }
- }
-
private static String computeNewKey(ResourceDto resource, String stringToReplace, String replacementString) {
return resource.getKey().replaceAll(stringToReplace, replacementString);
}
@@ -135,14 +125,14 @@ public class ResourceKeyUpdaterDao implements Dao {
}
}
- private static Set<ResourceDto> collectAllModules(long projectId, String stringToReplace, ResourceKeyUpdaterMapper mapper) {
- ResourceDto project = mapper.selectProject(projectId);
+ private static Set<ResourceDto> collectAllModules(String projectUuid, String stringToReplace, ResourceKeyUpdaterMapper mapper) {
+ ResourceDto project = mapper.selectProject(projectUuid);
Set<ResourceDto> modules = Sets.newHashSet();
if (project.getKey().contains(stringToReplace)) {
modules.add(project);
}
- for (ResourceDto submodule : mapper.selectDescendantProjects(projectId)) {
- modules.addAll(collectAllModules(submodule.getId(), stringToReplace, mapper));
+ for (ResourceDto submodule : mapper.selectDescendantProjects(projectUuid)) {
+ modules.addAll(collectAllModules(submodule.getUuid(), stringToReplace, mapper));
}
return modules;
}
diff --git a/sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterMapper.java b/sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterMapper.java
index 6511e765202..c38ee177cf1 100644
--- a/sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterMapper.java
+++ b/sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterMapper.java
@@ -20,6 +20,7 @@
package org.sonar.db.component;
import java.util.List;
+import org.apache.ibatis.annotations.Param;
/**
* @since 3.2
@@ -28,11 +29,11 @@ public interface ResourceKeyUpdaterMapper {
int countResourceByKey(String key);
- ResourceDto selectProject(long projectId);
+ ResourceDto selectProject(@Param("uuid") String uuid);
- List<ResourceDto> selectProjectResources(long projectId);
+ List<ResourceDto> selectProjectResources(@Param("rootUuid") String rootUuid);
- List<ResourceDto> selectDescendantProjects(long projectId);
+ List<ResourceDto> selectDescendantProjects(@Param("rootUuid") String rootUuid);
void update(ResourceDto resource);
diff --git a/sonar-db/src/main/java/org/sonar/db/component/ResourceMapper.java b/sonar-db/src/main/java/org/sonar/db/component/ResourceMapper.java
index a77f240dad3..86e1f747c27 100644
--- a/sonar-db/src/main/java/org/sonar/db/component/ResourceMapper.java
+++ b/sonar-db/src/main/java/org/sonar/db/component/ResourceMapper.java
@@ -62,10 +62,6 @@ public interface ResourceMapper {
ResourceDto selectProvisionedProject(@Param("key") String key);
- void insert(ResourceDto resource);
-
- void update(ResourceDto resource);
-
void updateAuthorizationDate(@Param("projectId") Long projectId, @Param("authorizationDate") Long authorizationDate);
}
diff --git a/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java b/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java
index b2c521bfac7..d5a0eef5d9a 100644
--- a/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java
+++ b/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java
@@ -29,8 +29,6 @@ import java.util.Map;
import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import org.apache.ibatis.session.ResultHandler;
-import org.apache.ibatis.session.SqlSession;
import org.sonar.db.Dao;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
@@ -47,16 +45,6 @@ public class IssueDao implements Dao {
this.mybatis = mybatis;
}
- public void selectNonClosedIssuesByModule(long componentId, ResultHandler handler) {
- SqlSession session = mybatis.openSession(false);
- try {
- session.select("org.sonar.db.issue.IssueMapper.selectNonClosedIssuesByModule", componentId, handler);
-
- } finally {
- MyBatis.closeQuietly(session);
- }
- }
-
public Optional<IssueDto> selectByKey(DbSession session, String key) {
return Optional.fromNullable(mapper(session).selectByKey(key));
}
diff --git a/sonar-db/src/main/java/org/sonar/db/purge/PurgeDao.java b/sonar-db/src/main/java/org/sonar/db/purge/PurgeDao.java
index 403b991e530..6e77444075a 100644
--- a/sonar-db/src/main/java/org/sonar/db/purge/PurgeDao.java
+++ b/sonar-db/src/main/java/org/sonar/db/purge/PurgeDao.java
@@ -132,7 +132,7 @@ public class PurgeDao implements Dao {
private void disableOrphanResources(final ResourceDto project, final SqlSession session, final PurgeMapper purgeMapper, final PurgeListener purgeListener) {
final List<IdUuidPair> componentIdUuids = new ArrayList<>();
- session.select("org.sonar.db.purge.PurgeMapper.selectComponentIdUuidsToDisable", project.getId(),
+ session.select("org.sonar.db.purge.PurgeMapper.selectComponentIdUuidsToDisable", project.getUuid(),
resultContext -> {
IdUuidPair componentIdUuid = (IdUuidPair) resultContext.getResultObject();
if (componentIdUuid.getId() != null) {
diff --git a/sonar-db/src/main/resources/org/sonar/db/component/ComponentMapper.xml b/sonar-db/src/main/resources/org/sonar/db/component/ComponentMapper.xml
index 59d9e0397b3..5129d2e2681 100644
--- a/sonar-db/src/main/resources/org/sonar/db/component/ComponentMapper.xml
+++ b/sonar-db/src/main/resources/org/sonar/db/component/ComponentMapper.xml
@@ -16,11 +16,11 @@
p.qualifier as qualifier,
p.scope as scope,
p.language as language,
- p.root_id as parentProjectId,
+ p.root_uuid as rootUuid,
p.path as path,
p.enabled as enabled,
- p.copy_resource_id as copyResourceId,
- p.person_id as developerId,
+ p.copy_component_uuid as copyComponentUuid,
+ p.developer_uuid as developerUuid,
p.authorization_updated_at as authorizationUpdatedAt,
p.created_at as createdAt
</sql>
@@ -32,7 +32,7 @@
p.kee as kee,
p.qualifier as qualifier,
p.scope as scope,
- P.copy_resource_id as copyResourceId,
+ P.copy_component_uuid as copyComponentUuid,
p.module_uuid as moduleUuid
</sql>
@@ -151,7 +151,7 @@
SELECT
<include refid="componentColumns"/>
FROM projects p
- INNER JOIN projects child ON child.root_id=p.id AND child.enabled=${_true}
+ INNER JOIN projects child ON child.root_uuid=p.uuid AND child.enabled=${_true}
<where>
AND p.enabled=${_true}
AND p.scope='PRJ'
@@ -248,7 +248,7 @@
from projects p
<where>
AND p.enabled=${_true}
- AND p.copy_resource_id is null
+ AND p.copy_component_uuid is null
AND p.qualifier in
<foreach collection="qualifiers" open="(" close=")" item="qualifier" separator=",">
#{qualifier}
@@ -279,7 +279,7 @@
from projects p
<where>
AND p.enabled=${_true}
- AND p.copy_resource_id is null
+ AND p.copy_component_uuid is null
<if test="query.qualifiers!=null">
AND p.qualifier in
<foreach collection="query.qualifiers" item="qualifier" open="(" close=")" separator=",">
@@ -373,11 +373,10 @@
WHERE ri.kee like #{query.nameOrKeyQueryToSqlForResourceIndex} ESCAPE '/'
)
OR
- p.copy_resource_id IN (
- SELECT p1.id
- FROM resource_index ri, projects p1
+ p.copy_component_uuid IN (
+ SELECT ri.component_uuid
+ FROM resource_index ri
WHERE ri.kee like #{query.nameOrKeyQueryToSqlForResourceIndex} ESCAPE '/'
- and p1.uuid = ri.component_uuid
)
)
</if>
@@ -388,7 +387,7 @@
from projects p
<where>
p.enabled=${_true}
- AND p.copy_resource_id is null
+ AND p.copy_component_uuid is null
AND p.qualifier in
<foreach collection="qualifiers" open="(" close=")" item="qualifier" separator=",">
#{qualifier}
@@ -413,7 +412,7 @@
<select id="selectProjectsFromView" resultType="String">
SELECT p.uuid FROM projects technical_projects
- INNER JOIN projects p on p.id=technical_projects.copy_resource_id AND p.enabled=${_true}
+ INNER JOIN projects p on p.uuid=technical_projects.copy_component_uuid AND p.enabled=${_true}
<where>
technical_projects.enabled=${_true} AND technical_projects.project_uuid=#{projectViewUuid}
AND technical_projects.module_uuid_path LIKE #{viewUuidLikeQuery}
@@ -454,7 +453,7 @@
s.id is null
and p.enabled=${_true}
and p.qualifier=#{qualifier}
- and p.copy_resource_id is null
+ and p.copy_component_uuid is null
<if test="query!=null">
and (
UPPER(p.name) like #{query}
@@ -482,7 +481,7 @@
where
s2.id is null
and p.qualifier=#{qualifier}
- and p.copy_resource_id is null
+ and p.copy_component_uuid is null
<if test="query!=null">
and (
UPPER(p.name) like #{query}
@@ -493,14 +492,14 @@
<sql id="insertSql">
INSERT INTO projects (kee, deprecated_kee, uuid, project_uuid, module_uuid, module_uuid_path, name, long_name,
- qualifier, scope, language, description, root_id, path, copy_resource_id, person_id, enabled,
+ qualifier, scope, language, description, root_uuid, path, copy_component_uuid, developer_uuid, enabled,
created_at, authorization_updated_at)
VALUES (#{kee,jdbcType=VARCHAR}, #{deprecatedKey,jdbcType=VARCHAR}, #{uuid,jdbcType=VARCHAR},
#{projectUuid,jdbcType=VARCHAR}, #{moduleUuid,jdbcType=VARCHAR}, #{moduleUuidPath,jdbcType=VARCHAR},
#{name,jdbcType=VARCHAR}, #{longName,jdbcType=VARCHAR}, #{qualifier,jdbcType=VARCHAR}, #{scope,jdbcType=VARCHAR},
#{language,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR},
- #{parentProjectId,jdbcType=BIGINT}, #{path,jdbcType=VARCHAR}, #{copyResourceId,jdbcType=BIGINT},
- #{developerId,jdbcType=BIGINT},
+ #{rootUuid,jdbcType=VARCHAR}, #{path,jdbcType=VARCHAR}, #{copyComponentUuid,jdbcType=VARCHAR},
+ #{developerUuid,jdbcType=VARCHAR},
#{enabled,jdbcType=BOOLEAN},
#{createdAt,jdbcType=TIMESTAMP}, #{authorizationUpdatedAt,jdbcType=BIGINT})
</sql>
@@ -526,10 +525,10 @@
scope=#{scope,jdbcType=VARCHAR},
language=#{language,jdbcType=VARCHAR},
description=#{description,jdbcType=VARCHAR},
- root_id=#{parentProjectId,jdbcType=BIGINT},
+ root_uuid=#{rootUuid,jdbcType=VARCHAR},
path=#{path,jdbcType=VARCHAR},
- copy_resource_id=#{copyResourceId,jdbcType=BIGINT},
- person_id=#{developerId,jdbcType=BIGINT},
+ copy_component_uuid=#{copyComponentUuid,jdbcType=VARCHAR},
+ developer_uuid=#{developerUuid,jdbcType=VARCHAR},
enabled=#{enabled,jdbcType=BOOLEAN},
authorization_updated_at=#{authorizationUpdatedAt,jdbcType=BIGINT}
WHERE uuid=#{uuid}
diff --git a/sonar-db/src/main/resources/org/sonar/db/component/ResourceIndexMapper.xml b/sonar-db/src/main/resources/org/sonar/db/component/ResourceIndexMapper.xml
index de993ded498..9e79c6417cb 100644
--- a/sonar-db/src/main/resources/org/sonar/db/component/ResourceIndexMapper.xml
+++ b/sonar-db/src/main/resources/org/sonar/db/component/ResourceIndexMapper.xml
@@ -5,7 +5,7 @@
<select id="selectProjectIdsFromQueryAndViewOrSubViewUuid" parameterType="map" resultType="long">
SELECT original.id FROM resource_index r
INNER JOIN projects original ON r.component_uuid = original.uuid
- INNER JOIN projects copy ON original.id = copy.copy_resource_id
+ INNER JOIN projects copy ON original.uuid = copy.copy_component_uuid
<where>
AND copy.module_uuid_path LIKE #{viewUuidQuery}
AND r.kee LIKE #{query}
@@ -23,7 +23,7 @@
from projects p, projects root, snapshots s
<where>
p.enabled=${_true}
- and p.copy_resource_id is null
+ and p.copy_component_uuid is null
and p.uuid=s.component_uuid
and s.islast=${_true}
<if test="scopes != null">
diff --git a/sonar-db/src/main/resources/org/sonar/db/component/ResourceKeyUpdaterMapper.xml b/sonar-db/src/main/resources/org/sonar/db/component/ResourceKeyUpdaterMapper.xml
index 463b3c06a62..0d6bd0f1b6c 100644
--- a/sonar-db/src/main/resources/org/sonar/db/component/ResourceKeyUpdaterMapper.xml
+++ b/sonar-db/src/main/resources/org/sonar/db/component/ResourceKeyUpdaterMapper.xml
@@ -6,8 +6,9 @@
<resultMap id="resourceResultMap" type="Resource">
<id property="id" column="id"/>
<result property="key" column="kee"/>
+ <result property="uuid" column="uuid"/>
<result property="deprecatedKey" column="deprecated_kee"/>
- <result property="rootId" column="root_id"/>
+ <result property="rootUuid" column="root_uuid"/>
<result property="scope" column="scope"/>
</resultMap>
@@ -17,16 +18,16 @@
WHERE kee = #{key}
</select>
- <select id="selectProject" parameterType="long" resultMap="resourceResultMap">
- select * from projects where id=#{id}
+ <select id="selectProject" parameterType="String" resultMap="resourceResultMap">
+ select * from projects where uuid=#{uuid}
</select>
- <select id="selectProjectResources" parameterType="long" resultMap="resourceResultMap">
- select * from projects where root_id=#{id} AND scope!='PRJ'
+ <select id="selectProjectResources" parameterType="String" resultMap="resourceResultMap">
+ select * from projects where root_uuid=#{rootUuid} AND scope!='PRJ'
</select>
- <select id="selectDescendantProjects" parameterType="long" resultMap="resourceResultMap">
- select * from projects where scope='PRJ' and root_id=#{id}
+ <select id="selectDescendantProjects" parameterType="String" resultMap="resourceResultMap">
+ select * from projects where scope='PRJ' and root_uuid=#{rootUuid} and uuid!=#{rootUuid}
</select>
<update id="update" parameterType="Resource">
diff --git a/sonar-db/src/main/resources/org/sonar/db/component/ResourceMapper.xml b/sonar-db/src/main/resources/org/sonar/db/component/ResourceMapper.xml
index ef0fce32d24..4b317231e88 100644
--- a/sonar-db/src/main/resources/org/sonar/db/component/ResourceMapper.xml
+++ b/sonar-db/src/main/resources/org/sonar/db/component/ResourceMapper.xml
@@ -47,14 +47,14 @@
<result property="path" column="path"/>
<result property="name" column="name"/>
<result property="longName" column="long_name"/>
- <result property="rootId" column="root_id"/>
+ <result property="rootUuid" column="root_uuid"/>
<result property="scope" column="scope"/>
<result property="qualifier" column="qualifier"/>
<result property="enabled" column="enabled"/>
<result property="description" column="description"/>
<result property="language" column="language"/>
- <result property="copyResourceId" column="copy_resource_id"/>
- <result property="personId" column="person_id"/>
+ <result property="copyComponentUuid" column="copy_component_uuid"/>
+ <result property="developerUuid" column="developer_uuid"/>
<result property="createdAt" column="created_at"/>
<result property="authorizationUpdatedAt" column="authorization_updated_at"/>
</resultMap>
@@ -111,7 +111,7 @@
<select id="selectLastSnapshotByResourceKey" parameterType="string" resultMap="snapshotResultMap">
SELECT s.* FROM snapshots s
- INNER JOIN projects p on p.uuid=s.component_uuid AND p.enabled=${_true} AND p.copy_resource_id IS NULL
+ INNER JOIN projects p on p.uuid=s.component_uuid AND p.enabled=${_true} AND p.copy_component_uuid is null
<where>
AND p.kee=#{id}
AND s.islast=${_true}
@@ -120,7 +120,7 @@
<select id="selectLastSnapshotByResourceUuid" parameterType="string" resultMap="snapshotResultMap">
SELECT s.* from snapshots s
- INNER JOIN projects p on p.uuid=s.component_uuid AND p.enabled=${_true} AND p.copy_resource_id IS NULL
+ INNER JOIN projects p on p.uuid=s.component_uuid AND p.enabled=${_true} AND p.copy_component_uuid is null
<where>
AND p.uuid=#{uuid}
AND s.islast=${_true}
@@ -147,7 +147,7 @@
</foreach>
</if>
and p.enabled=${_true}
- and p.copy_resource_id is null
+ and p.copy_component_uuid is null
</where>
</select>
@@ -166,7 +166,7 @@
</foreach>
</if>
and p.enabled=${_true}
- and p.copy_resource_id is null
+ and p.copy_component_uuid is null
and s.islast=${_true}
</where>
</sql>
@@ -183,7 +183,7 @@
p.qualifier=#{qualifier}
</foreach>
</if>
- and p.copy_resource_id is null
+ and p.copy_component_uuid is null
</where>
</select>
@@ -198,7 +198,7 @@
p.qualifier=#{qualifier}
</foreach>
</if>
- and p.copy_resource_id is null
+ and p.copy_component_uuid is null
</where>
</select>
@@ -207,33 +207,9 @@
left join snapshots s on s.component_uuid=p.uuid
where s.id is null
and p.kee = #{key}
- and p.copy_resource_id is null
+ and p.copy_component_uuid is null
</select>
- <insert id="insert" parameterType="Resource" keyColumn="id" useGeneratedKeys="true" keyProperty="id">
- insert into projects
- (uuid, project_uuid, module_uuid, module_uuid_path, name, long_name, description, scope, qualifier, kee,
- deprecated_kee, path, language, root_id, copy_resource_id, person_id,
- enabled, authorization_updated_at, created_at)
- values (
- #{uuid,jdbcType=VARCHAR}, #{projectUuid,jdbcType=VARCHAR}, #{moduleUuid,jdbcType=VARCHAR},
- #{moduleUuidPath,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
- #{longName,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{scope,jdbcType=VARCHAR},
- #{qualifier,jdbcType=VARCHAR},
- #{key,jdbcType=VARCHAR}, #{deprecatedKey,jdbcType=VARCHAR}, #{path,jdbcType=VARCHAR}, #{language,jdbcType=VARCHAR},
- #{rootId,jdbcType=INTEGER}, #{copyResourceId,jdbcType=INTEGER},
- #{personId,jdbcType=INTEGER}, #{enabled,jdbcType=BOOLEAN}, #{authorizationUpdatedAt,jdbcType=BIGINT},
- #{createdAt,jdbcType=TIMESTAMP}
- )
- </insert>
-
- <update id="update" parameterType="Resource">
- update projects set name=#{name}, long_name=#{longName}, description=#{description},
- scope=#{scope}, qualifier=#{qualifier}, kee=#{key}, deprecated_kee=#{deprecatedKey}, path=#{path},
- language=#{language}, root_id=#{rootId}, copy_resource_id=#{copyResourceId},
- person_id=#{personId}, enabled=#{enabled} where id=#{id}
- </update>
-
<update id="updateAuthorizationDate" parameterType="map">
update projects set authorization_updated_at=#{authorizationDate}
where id=#{projectId}
diff --git a/sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml b/sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml
index 2888c9aa272..909ba71449f 100644
--- a/sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml
+++ b/sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml
@@ -162,45 +162,6 @@
i.status &lt;&gt; 'CLOSED'
</select>
- <select id="selectNonClosedIssuesByModule" parameterType="long" resultType="Issue">
- select
- i.id,
- i.kee as kee,
- i.rule_id as ruleId,
- i.component_uuid as componentUuid,
- i.project_uuid as projectUuid,
- i.severity as severity,
- i.manual_severity as manualSeverity,
- i.message as message,
- i.line as line,
- i.locations as locations,
- i.gap as gap,
- i.effort as effort,
- i.status as status,
- i.resolution as resolution,
- i.checksum as checksum,
- i.assignee as assignee,
- i.author_login as authorLogin,
- i.tags as tagsString,
- i.issue_attributes as issueAttributes,
- i.issue_creation_date as issueCreationTime,
- i.issue_update_date as issueUpdateTime,
- i.issue_close_date as issueCloseTime,
- i.created_at as createdAt,
- i.updated_at as updatedAt,
- i.issue_type as type,
- r.plugin_rule_key as ruleKey,
- r.plugin_name as ruleRepo,
- p.kee as componentKey,
- root.kee as projectKey
- from issues i
- inner join (select p.id, p.uuid,p.kee from projects p where (p.root_id=#{id} and p.qualifier &lt;&gt; 'BRC') or
- (p.id=#{id})) p on p.uuid=i.component_uuid
- inner join rules r on r.id=i.rule_id
- left outer join projects root on root.uuid=i.project_uuid
- where i.status &lt;&gt; 'CLOSED'
- </select>
-
<select id="selectComponentUuidsOfOpenIssuesForProjectUuid" parameterType="string" resultType="string">
select distinct(i.component_uuid)
from issues i
diff --git a/sonar-db/src/main/resources/org/sonar/db/purge/PurgeMapper.xml b/sonar-db/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
index 3b39f3fad05..8c4cce48c0d 100644
--- a/sonar-db/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
+++ b/sonar-db/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
@@ -72,9 +72,9 @@
not exists(select e.id from events e where e.snapshot_id=s.id)
</select>
- <select id="selectComponentIdUuidsToDisable" resultType="org.sonar.db.purge.IdUuidPair" parameterType="long">
+ <select id="selectComponentIdUuidsToDisable" resultType="org.sonar.db.purge.IdUuidPair" parameterType="String">
select p.id, p.uuid from projects p
- where (p.id=#{id} or p.root_id=#{id}) and p.enabled=${_true}
+ where p.root_uuid=#{uuid} and p.enabled=${_true}
and not exists(select s.component_uuid from snapshots s where s.islast=${_true} and s.component_uuid=p.uuid)
</select>
diff --git a/sonar-db/src/main/resources/org/sonar/db/user/AuthorizationMapper.xml b/sonar-db/src/main/resources/org/sonar/db/user/AuthorizationMapper.xml
index 12bef99c2fd..f670e71ecc8 100644
--- a/sonar-db/src/main/resources/org/sonar/db/user/AuthorizationMapper.xml
+++ b/sonar-db/src/main/resources/org/sonar/db/user/AuthorizationMapper.xml
@@ -9,7 +9,20 @@
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 = p.root_id or gr.resource_id = p.id) and
+ and gr.resource_id = p.id
+ and
+ <foreach collection="componentKeys" open="(" close=")" item="element" index="index" separator=" or ">
+ p.kee=#{element}
+ </foreach>
+ UNION
+ SELECT p.kee
+ FROM group_roles gr, projects root, projects p
+ 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 = root.id
+ and p.root_uuid = root.uuid
+ and
<foreach collection="componentKeys" open="(" close=")" item="element" index="index" separator=" or ">
p.kee=#{element}
</foreach>
@@ -19,7 +32,8 @@
INNER JOIN projects p on p.id = ur.resource_id
WHERE
ur.role=#{role}
- and ur.user_id=#{userId} and
+ and ur.user_id=#{userId}
+ and
<foreach collection="componentKeys" open="(" close=")" item="element" index="index" separator=" or ">
p.kee=#{element}
</foreach>
@@ -31,7 +45,20 @@
WHERE
gr.role=#{role}
and gr.group_id is null
- and (gr.resource_id = p.root_id or gr.resource_id = p.id) and
+ and gr.resource_id = p.id
+ and
+ <foreach collection="componentKeys" open="(" close=")" item="element" index="index" separator=" or ">
+ p.kee=#{element}
+ </foreach>
+ UNION
+ SELECT p.kee
+ FROM group_roles gr, projects root, projects p
+ WHERE
+ gr.role=#{role}
+ and gr.group_id is null
+ and gr.resource_id = root.id
+ and p.root_uuid = root.uuid
+ and
<foreach collection="componentKeys" open="(" close=")" item="element" index="index" separator=" or ">
p.kee=#{element}
</foreach>
diff --git a/sonar-db/src/test/java/org/sonar/db/component/ComponentDaoTest.java b/sonar-db/src/test/java/org/sonar/db/component/ComponentDaoTest.java
index c477dc064a3..2acc84c106d 100644
--- a/sonar-db/src/test/java/org/sonar/db/component/ComponentDaoTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/component/ComponentDaoTest.java
@@ -68,7 +68,7 @@ public class ComponentDaoTest {
assertThat(result.uuid()).isEqualTo("KLMN");
assertThat(result.moduleUuid()).isEqualTo("EFGH");
assertThat(result.moduleUuidPath()).isEqualTo(".ABCD.EFGH.");
- assertThat(result.parentProjectId()).isEqualTo(2);
+ assertThat(result.getRootUuid()).isEqualTo("EFGH");
assertThat(result.projectUuid()).isEqualTo("ABCD");
assertThat(result.key()).isEqualTo("org.struts:struts-core:src/org/struts/RequestContext.java");
assertThat(result.path()).isEqualTo("src/org/struts/RequestContext.java");
@@ -77,7 +77,8 @@ public class ComponentDaoTest {
assertThat(result.qualifier()).isEqualTo("FIL");
assertThat(result.scope()).isEqualTo("FIL");
assertThat(result.language()).isEqualTo("java");
- assertThat(result.getCopyResourceId()).isNull();
+ assertThat(result.getCopyResourceUuid()).isNull();
+ assertThat(result.getDeveloperUuid()).isNull();
assertThat(underTest.selectByUuid(dbSession, "UNKNOWN")).isAbsent();
}
@@ -91,7 +92,7 @@ public class ComponentDaoTest {
assertThat(result.uuid()).isEqualTo("STUV");
assertThat(result.moduleUuid()).isEqualTo("OPQR");
assertThat(result.moduleUuidPath()).isEqualTo(".OPQR.");
- assertThat(result.parentProjectId()).isEqualTo(11);
+ assertThat(result.getRootUuid()).isEqualTo("OPQR");
assertThat(result.projectUuid()).isEqualTo("OPQR");
assertThat(result.key()).isEqualTo("DEV:anakin@skywalker.name:org.struts:struts");
assertThat(result.path()).isNull();
@@ -100,7 +101,8 @@ public class ComponentDaoTest {
assertThat(result.qualifier()).isEqualTo("DEV_PRJ");
assertThat(result.scope()).isEqualTo("PRJ");
assertThat(result.language()).isNull();
- assertThat(result.getCopyResourceId()).isEqualTo(1L);
+ assertThat(result.getCopyResourceUuid()).isEqualTo("ABCD");
+ assertThat(result.getDeveloperUuid()).isEqualTo("OPQR");
}
@Test
@@ -108,7 +110,7 @@ public class ComponentDaoTest {
db.prepareDbUnit(getClass(), "shared.xml");
ComponentDto result = underTest.selectByUuid(dbSession, "STUV").get();
- assertThat(result.getDeveloperId()).isEqualTo(11L);
+ assertThat(result.getDeveloperUuid()).isEqualTo("OPQR");
}
@Test
@@ -144,7 +146,8 @@ public class ComponentDaoTest {
assertThat(result.qualifier()).isEqualTo("FIL");
assertThat(result.scope()).isEqualTo("FIL");
assertThat(result.language()).isEqualTo("java");
- assertThat(result.parentProjectId()).isEqualTo(2);
+ assertThat(result.uuid()).isEqualTo("KLMN");
+ assertThat(result.getRootUuid()).isEqualTo("EFGH");
assertThat(underTest.selectByKey(dbSession, "unknown")).isAbsent();
}
@@ -180,7 +183,7 @@ public class ComponentDaoTest {
assertThat(result.qualifier()).isEqualTo("TRK");
assertThat(result.scope()).isEqualTo("PRJ");
assertThat(result.language()).isNull();
- assertThat(result.parentProjectId()).isNull();
+ assertThat(result.getRootUuid()).isEqualTo("ABCD");
assertThat(result.getAuthorizationUpdatedAt()).isEqualTo(123456789L);
}
@@ -200,7 +203,7 @@ public class ComponentDaoTest {
assertThat(result.qualifier()).isEqualTo("FIL");
assertThat(result.scope()).isEqualTo("FIL");
assertThat(result.language()).isEqualTo("java");
- assertThat(result.parentProjectId()).isEqualTo(2);
+ assertThat(result.getRootUuid()).isEqualTo("EFGH");
assertThat(underTest.selectByKeys(dbSession, singletonList("unknown"))).isEmpty();
}
@@ -221,7 +224,7 @@ public class ComponentDaoTest {
assertThat(result.qualifier()).isEqualTo("FIL");
assertThat(result.scope()).isEqualTo("FIL");
assertThat(result.language()).isEqualTo("java");
- assertThat(result.parentProjectId()).isEqualTo(2);
+ assertThat(result.getRootUuid()).isEqualTo("EFGH");
assertThat(underTest.selectByIds(dbSession, newArrayList(555L))).isEmpty();
}
@@ -238,7 +241,7 @@ public class ComponentDaoTest {
assertThat(result.uuid()).isEqualTo("KLMN");
assertThat(result.moduleUuid()).isEqualTo("EFGH");
assertThat(result.moduleUuidPath()).isEqualTo(".ABCD.EFGH.");
- assertThat(result.parentProjectId()).isEqualTo(2);
+ assertThat(result.getRootUuid()).isEqualTo("EFGH");
assertThat(result.projectUuid()).isEqualTo("ABCD");
assertThat(result.key()).isEqualTo("org.struts:struts-core:src/org/struts/RequestContext.java");
assertThat(result.path()).isEqualTo("src/org/struts/RequestContext.java");
@@ -358,7 +361,7 @@ public class ComponentDaoTest {
assertThat(results.get(0).getKey()).isEqualTo("org.struts:struts");
// Sub project of a project
- assertThat(underTest.selectSubProjectsByComponentUuids(dbSession, newArrayList("ABCD"))).isEmpty();
+ assertThat(underTest.selectSubProjectsByComponentUuids(dbSession, newArrayList("ABCD"))).extracting("uuid").containsOnly("ABCD");
// SUb projects of a component and a sub module
assertThat(underTest.selectSubProjectsByComponentUuids(dbSession, newArrayList("HIJK", "FGHI"))).hasSize(2);
@@ -569,9 +572,9 @@ public class ComponentDaoTest {
.setLanguage("java")
.setDescription("description")
.setPath("src/org/struts/RequestContext.java")
- .setParentProjectId(3L)
- .setCopyResourceId(5L)
- .setDeveloperId(7L)
+ .setRootUuid("uuid_3")
+ .setCopyComponentUuid("uuid_5")
+ .setDeveloperUuid("uuid_7")
.setEnabled(true)
.setCreatedAt(DateUtils.parseDate("2014-06-18"))
.setAuthorizationUpdatedAt(123456789L);
@@ -602,9 +605,9 @@ public class ComponentDaoTest {
.setLanguage("java")
.setDescription("description")
.setPath("src/org/struts/RequestContext.java")
- .setParentProjectId(3L)
- .setCopyResourceId(5L)
- .setDeveloperId(7L)
+ .setRootUuid("uuid_3")
+ .setCopyComponentUuid("uuid_5")
+ .setDeveloperUuid("uuid_7")
.setEnabled(true)
.setCreatedAt(DateUtils.parseDate("2014-06-18"))
.setAuthorizationUpdatedAt(123456789L);
@@ -634,7 +637,7 @@ public class ComponentDaoTest {
.setScope("FIL")
.setLanguage("java")
.setPath("src/org/struts/RequestContext.java")
- .setParentProjectId(3L)
+ .setRootUuid("uuid_3")
.setEnabled(false)
.setCreatedAt(DateUtils.parseDate("2014-06-18"))
.setAuthorizationUpdatedAt(123456789L);
@@ -664,9 +667,9 @@ public class ComponentDaoTest {
.setLanguage("java2")
.setDescription("description2")
.setPath("src/org/struts/RequestContext2.java")
- .setParentProjectId(4L)
- .setCopyResourceId(6L)
- .setDeveloperId(9L)
+ .setRootUuid("uuid_4")
+ .setCopyComponentUuid("uuid_6")
+ .setDeveloperUuid("uuid_9")
.setEnabled(false)
.setAuthorizationUpdatedAt(12345678910L);
diff --git a/sonar-db/src/test/java/org/sonar/db/component/ComponentDtoTest.java b/sonar-db/src/test/java/org/sonar/db/component/ComponentDtoTest.java
index 836149e3277..09b1ffc597b 100644
--- a/sonar-db/src/test/java/org/sonar/db/component/ComponentDtoTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/component/ComponentDtoTest.java
@@ -40,8 +40,9 @@ public class ComponentDtoTest {
.setLanguage("java")
.setDescription("desc")
.setPath("src/org/struts/RequestContext.java")
- .setCopyResourceId(5L)
- .setParentProjectId(3L)
+ .setCopyComponentUuid("uuid_5")
+ .setRootUuid("uuid_3")
+ .setDeveloperUuid("uuid_6")
.setAuthorizationUpdatedAt(123456789L);
assertThat(componentDto.getId()).isEqualTo(1L);
@@ -54,8 +55,9 @@ public class ComponentDtoTest {
assertThat(componentDto.path()).isEqualTo("src/org/struts/RequestContext.java");
assertThat(componentDto.language()).isEqualTo("java");
assertThat(componentDto.description()).isEqualTo("desc");
- assertThat(componentDto.parentProjectId()).isEqualTo(3L);
- assertThat(componentDto.getCopyResourceId()).isEqualTo(5L);
+ assertThat(componentDto.getRootUuid()).isEqualTo("uuid_3");
+ assertThat(componentDto.getCopyResourceUuid()).isEqualTo("uuid_5");
+ assertThat(componentDto.getDeveloperUuid()).isEqualTo("uuid_6");
assertThat(componentDto.getAuthorizationUpdatedAt()).isEqualTo(123456789L);
}
diff --git a/sonar-db/src/test/java/org/sonar/db/component/ComponentTesting.java b/sonar-db/src/test/java/org/sonar/db/component/ComponentTesting.java
index 90b42a41772..cc5904b0b5e 100644
--- a/sonar-db/src/test/java/org/sonar/db/component/ComponentTesting.java
+++ b/sonar-db/src/test/java/org/sonar/db/component/ComponentTesting.java
@@ -94,7 +94,7 @@ public class ComponentTesting {
.setUuid(uuid)
.setProjectUuid(uuid)
.setModuleUuidPath(MODULE_UUID_PATH_SEP + uuid + MODULE_UUID_PATH_SEP)
- .setParentProjectId(null)
+ .setRootUuid(uuid)
.setKey("KEY_" + uuid)
.setName("NAME_" + uuid)
.setLongName("LONG_NAME_" + uuid)
@@ -111,7 +111,7 @@ public class ComponentTesting {
.setUuid(uuid)
.setProjectUuid(uuid)
.setModuleUuidPath(MODULE_UUID_PATH_SEP + uuid + MODULE_UUID_PATH_SEP)
- .setParentProjectId(null)
+ .setRootUuid(uuid)
.setKey(uuid)
.setName(name)
.setLongName(name)
@@ -141,7 +141,7 @@ public class ComponentTesting {
.setKey(view.key() + project.key())
.setName(project.name())
.setLongName(project.longName())
- .setCopyResourceId(project.getId())
+ .setCopyComponentUuid(project.uuid())
.setScope(Scopes.FILE)
.setQualifier(Qualifiers.PROJECT)
.setPath(null)
@@ -155,7 +155,7 @@ public class ComponentTesting {
.setKey(developer.key() + ":" + project.key())
.setName(project.name())
.setLongName(project.longName())
- .setCopyResourceId(project.getId())
+ .setCopyComponentUuid(project.uuid())
.setScope(Scopes.PROJECT)
.setQualifier("DEV_PRJ")
.setPath(null)
@@ -168,7 +168,7 @@ public class ComponentTesting {
.setProjectUuid(module.projectUuid())
.setModuleUuid(module.uuid())
.setModuleUuidPath(module.moduleUuidPath())
- .setParentProjectId(module.getId())
+ .setRootUuid(module.uuid())
.setCreatedAt(new Date())
.setEnabled(true);
}
diff --git a/sonar-db/src/test/java/org/sonar/db/component/ResourceDaoTest.java b/sonar-db/src/test/java/org/sonar/db/component/ResourceDaoTest.java
index 0c13476bde8..60bd033b741 100644
--- a/sonar-db/src/test/java/org/sonar/db/component/ResourceDaoTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/component/ResourceDaoTest.java
@@ -27,8 +27,6 @@ import javax.annotation.Nullable;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.api.component.Component;
-import org.sonar.api.resources.Qualifiers;
-import org.sonar.api.resources.Scopes;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
@@ -88,27 +86,6 @@ public class ResourceDaoTest {
}
@Test
- public void should_insert_using_existing_session() {
- dbTester.prepareDbUnit(getClass(), "insert.xml");
-
- ResourceDto file1 = new ResourceDto().setUuid("ABCD")
- .setKey("org.struts:struts:/src/main/java/org/struts/Action.java")
- .setDeprecatedKey("org.struts:struts:org.struts.Action").setScope(Scopes.FILE).setQualifier(Qualifiers.FILE)
- .setLanguage("java").setName("Action").setLongName("org.struts.Action");
- ResourceDto file2 = new ResourceDto().setUuid("BCDE")
- .setKey("org.struts:struts:/src/main/java/org/struts/Filter.java")
- .setDeprecatedKey("org.struts:struts:org.struts.Filter").setScope(Scopes.FILE).setQualifier(Qualifiers.FILE)
- .setLanguage("java").setName("Filter").setLongName("org.struts.Filter");
-
- underTest.insertUsingExistingSession(file1, dbTester.getSession());
- underTest.insertUsingExistingSession(file2, dbTester.getSession());
-
- dbTester.getSession().rollback();
-
- assertThat(dbTester.countRowsOfTable("projects")).isZero();
- }
-
- @Test
public void should_find_component_by_key() {
dbTester.prepareDbUnit(getClass(), "fixture.xml");
diff --git a/sonar-db/src/test/java/org/sonar/db/component/ResourceIndexDaoTest.java b/sonar-db/src/test/java/org/sonar/db/component/ResourceIndexDaoTest.java
index cdcce31fb4b..ecf6a506df5 100644
--- a/sonar-db/src/test/java/org/sonar/db/component/ResourceIndexDaoTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/component/ResourceIndexDaoTest.java
@@ -147,7 +147,7 @@ public class ResourceIndexDaoTest {
@Test
public void restrict_indexed_combinations_to_400_characters() {
String longName = repeat("a", 2_000);
- ComponentDto project = new ComponentDto().setUuid(ROOT_UUID).setKey("the_key").setName(longName).setScope(Scopes.PROJECT).setQualifier(Qualifiers.PROJECT);
+ ComponentDto project = new ComponentDto().setUuid(ROOT_UUID).setRootUuid(ROOT_UUID).setKey("the_key").setName(longName).setScope(Scopes.PROJECT).setQualifier(Qualifiers.PROJECT);
DbSession session = dbTester.getSession();
dbTester.getDbClient().componentDao().insert(session, project);
dbTester.getDbClient().snapshotDao().insert(session, new SnapshotDto().setComponentUuid(project.uuid()).setRootComponentUuid(project.uuid()).setLast(true));
diff --git a/sonar-db/src/test/java/org/sonar/db/component/ResourceKeyUpdaterDaoTest.java b/sonar-db/src/test/java/org/sonar/db/component/ResourceKeyUpdaterDaoTest.java
index c44ee35e9e4..971aab92c4d 100644
--- a/sonar-db/src/test/java/org/sonar/db/component/ResourceKeyUpdaterDaoTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/component/ResourceKeyUpdaterDaoTest.java
@@ -25,6 +25,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.sonar.api.utils.System2;
+import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import static org.assertj.core.api.Assertions.assertThat;
@@ -38,6 +39,7 @@ public class ResourceKeyUpdaterDaoTest {
@Rule
public DbTester db = DbTester.create(System2.INSTANCE);
+ private DbSession dbSession = db.getSession();
ComponentDbTester componentDb = new ComponentDbTester(db);
ResourceKeyUpdaterDao underTest = db.getDbClient().resourceKeyUpdaterDao();
@@ -46,7 +48,7 @@ public class ResourceKeyUpdaterDaoTest {
public void shouldUpdateKey() {
db.prepareDbUnit(getClass(), "shared.xml");
- underTest.updateKey(2, "struts:core");
+ underTest.updateKey("B", "struts:core");
db.assertDbUnit(getClass(), "shouldUpdateKey-result.xml", "projects");
}
@@ -58,14 +60,15 @@ public class ResourceKeyUpdaterDaoTest {
thrown.expect(IllegalStateException.class);
thrown.expectMessage("Impossible to update key: a resource with \"org.struts:struts-ui\" key already exists.");
- underTest.updateKey(2, "org.struts:struts-ui");
+ underTest.updateKey("B", "org.struts:struts-ui");
}
@Test
public void shouldBulkUpdateKey() {
db.prepareDbUnit(getClass(), "shared.xml");
- underTest.bulkUpdateKey(1, "org.struts", "org.apache.struts");
+ underTest.bulkUpdateKey(dbSession, "A", "org.struts", "org.apache.struts");
+ dbSession.commit();
db.assertDbUnit(getClass(), "shouldBulkUpdateKey-result.xml", "projects");
}
@@ -74,7 +77,8 @@ public class ResourceKeyUpdaterDaoTest {
public void shouldBulkUpdateKeyOnOnlyOneSubmodule() {
db.prepareDbUnit(getClass(), "shared.xml");
- underTest.bulkUpdateKey(1, "struts-ui", "struts-web");
+ underTest.bulkUpdateKey(dbSession, "A", "struts-ui", "struts-web");
+ dbSession.commit();
db.assertDbUnit(getClass(), "shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml", "projects");
}
@@ -86,14 +90,16 @@ public class ResourceKeyUpdaterDaoTest {
thrown.expect(IllegalStateException.class);
thrown.expectMessage("Impossible to update key: a resource with \"foo:struts-core\" key already exists.");
- underTest.bulkUpdateKey(1, "org.struts", "foo");
+ underTest.bulkUpdateKey(dbSession, "A", "org.struts", "foo");
+ dbSession.commit();
}
@Test
public void shouldNotUpdateAllSubmodules() {
db.prepareDbUnit(getClass(), "shouldNotUpdateAllSubmodules.xml");
- underTest.bulkUpdateKey(1, "org.struts", "org.apache.struts");
+ underTest.bulkUpdateKey(dbSession, "A", "org.struts", "org.apache.struts");
+ dbSession.commit();
db.assertDbUnit(getClass(), "shouldNotUpdateAllSubmodules-result.xml", "projects");
}
@@ -107,14 +113,14 @@ public class ResourceKeyUpdaterDaoTest {
thrown.expect(IllegalArgumentException.class);
thrown.expectMessage("Component key length (405) is longer than the maximum authorized (400). '" + newLongProjectKey + ":file' was provided.");
- underTest.updateKey(project.getId(), newLongProjectKey);
+ underTest.updateKey(project.uuid(), newLongProjectKey);
}
@Test
public void shouldCheckModuleKeysBeforeRenaming() {
db.prepareDbUnit(getClass(), "shared.xml");
- Map<String, String> checkResults = underTest.checkModuleKeysBeforeRenaming(1, "org.struts", "foo");
+ Map<String, String> checkResults = underTest.checkModuleKeysBeforeRenaming("A", "org.struts", "foo");
assertThat(checkResults.size()).isEqualTo(3);
assertThat(checkResults.get("org.struts:struts")).isEqualTo("foo:struts");
assertThat(checkResults.get("org.struts:struts-core")).isEqualTo("#duplicate_key#");
diff --git a/sonar-db/src/test/java/org/sonar/db/issue/IssueDaoTest.java b/sonar-db/src/test/java/org/sonar/db/issue/IssueDaoTest.java
index 4b48ebbce04..9fe992fd17e 100644
--- a/sonar-db/src/test/java/org/sonar/db/issue/IssueDaoTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/issue/IssueDaoTest.java
@@ -20,7 +20,6 @@
package org.sonar.db.issue;
import java.util.List;
-import org.apache.ibatis.executor.result.DefaultResultHandler;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -52,52 +51,6 @@ public class IssueDaoTest {
IssueDao underTest = dbTester.getDbClient().issueDao();
@Test
- public void select_non_closed_issues_by_module() {
- dbTester.prepareDbUnit(getClass(), "shared.xml", "should_select_non_closed_issues_by_module.xml");
-
- // 400 is a non-root module, we should find 2 issues from classes and one on itself
- DefaultResultHandler handler = new DefaultResultHandler();
- underTest.selectNonClosedIssuesByModule(400, handler);
- assertThat(handler.getResultList()).hasSize(3);
-
- IssueDto issue = (IssueDto) handler.getResultList().get(0);
- assertThat(issue.getRuleRepo()).isNotNull();
- assertThat(issue.getRule()).isNotNull();
- assertThat(issue.getComponentKey()).isNotNull();
- assertThat(issue.getProjectKey()).isEqualTo("struts");
-
- // 399 is the root module, we should only find 1 issue on itself
- handler = new DefaultResultHandler();
- underTest.selectNonClosedIssuesByModule(399, handler);
- assertThat(handler.getResultList()).hasSize(1);
-
- issue = (IssueDto) handler.getResultList().get(0);
- assertThat(issue.getComponentKey()).isEqualTo("struts");
- assertThat(issue.getProjectKey()).isEqualTo("struts");
- }
-
- /**
- * SONAR-5218
- */
- @Test
- public void select_non_closed_issues_by_module_on_removed_project() {
- // All issues are linked on a project that is not existing anymore
-
- dbTester.prepareDbUnit(getClass(), "shared.xml", "should_select_non_closed_issues_by_module_on_removed_project.xml");
-
- // 400 is a non-root module, we should find 2 issues from classes and one on itself
- DefaultResultHandler handler = new DefaultResultHandler();
- underTest.selectNonClosedIssuesByModule(400, handler);
- assertThat(handler.getResultList()).hasSize(3);
-
- IssueDto issue = (IssueDto) handler.getResultList().get(0);
- assertThat(issue.getRuleRepo()).isNotNull();
- assertThat(issue.getRule()).isNotNull();
- assertThat(issue.getComponentKey()).isNotNull();
- assertThat(issue.getProjectKey()).isNull();
- }
-
- @Test
public void selectByKeyOrFail() {
prepareTables();
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert-result.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert-result.xml
index 3097967ba2b..8d70ce24e52 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert-result.xml
@@ -3,8 +3,8 @@
<projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" deprecated_kee="org.struts:struts-core:src/org/struts/RequestContext.java"
name="RequestContext.java" long_name="org.struts.RequestContext"
uuid="GHIJ" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- qualifier="FIL" scope="FIL" language="java" path="src/org/struts/RequestContext.java" root_id="3"
- description="description" enabled="[true]" copy_resource_id="5" person_id="7"
+ qualifier="FIL" scope="FIL" language="java" path="src/org/struts/RequestContext.java" root_uuid="uuid_3"
+ description="description" enabled="[true]" copy_component_uuid="uuid_5" developer_uuid="uuid_7"
authorization_updated_at="123456789" created_at="2014-06-18"
/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert_disabled_component-result.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert_disabled_component-result.xml
index a7021383b33..3fe7c2f0512 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert_disabled_component-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert_disabled_component-result.xml
@@ -2,8 +2,8 @@
<projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" name="RequestContext.java" long_name="org.struts.RequestContext"
uuid="GHIJ" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- qualifier="FIL" scope="FIL" language="java" path="src/org/struts/RequestContext.java" root_id="3"
- description="[null]" enabled="[false]" copy_resource_id="[null]" person_id="[null]" deprecated_kee="[null]"
+ qualifier="FIL" scope="FIL" language="java" path="src/org/struts/RequestContext.java" root_uuid="uuid_3"
+ description="[null]" enabled="[false]" copy_component_uuid="[null]" developer_uuid="[null]" deprecated_kee="[null]"
authorization_updated_at="123456789" created_at="2014-06-18"
/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/multi-modules.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/multi-modules.xml
index 81f5bde319d..a60d785a90a 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/multi-modules.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/multi-modules.xml
@@ -1,57 +1,57 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
scope="PRJ" qualifier="TRK" long_name="Apache Struts" description="the description"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="[null]"/>
<snapshots id="1" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]" islast="[true]" scope="PRJ" qualifier="TRK"/>
<snapshots id="10" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]" islast="[false]" scope="PRJ" qualifier="TRK"/>
<!-- module -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Core" description="[null]"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]"/>
<snapshots id="2" component_uuid="EFGH" parent_snapshot_id="1" root_component_uuid="ABCD" root_snapshot_id="1" islast="[true]" scope="PRJ" qualifier="BRC"/>
<!-- sub module -->
- <projects id="3" root_id="1" kee="org.struts:struts-data" name="Struts Data"
+ <projects id="3" root_uuid="ABCD" kee="org.struts:struts-data" name="Struts Data"
uuid="FGHI" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH.FGHI."
scope="PRJ" qualifier="BRC" long_name="Struts Data" description="[null]"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]"/>
<snapshots id="3" component_uuid="FGHI" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="1" islast="[true]" scope="PRJ" qualifier="BRC"/>
<!-- directory -->
- <projects id="4" root_id="3" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts"
+ <projects id="4" root_uuid="FGHI" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts"
uuid="GHIJ" project_uuid="ABCD" module_uuid="FGHI" module_uuid_path=".ABCD.EFGH.FGHI."
name="src/org/struts" long_name="org.struts" description="[null]"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
<snapshots id="4" component_uuid="GHIJ" parent_snapshot_id="3" root_component_uuid="ABCD" root_snapshot_id="1" islast="[true]" scope="DIR" qualifier="DIR"/>
<!-- file -->
- <projects id="5" root_id="3" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:src/org/struts/RequestContext.java"
+ <projects id="5" root_uuid="FGHI" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:src/org/struts/RequestContext.java"
uuid="HIJK" project_uuid="ABCD" module_uuid="FGHI" module_uuid_path=".ABCD.EFGH.FGHI."
name="RequestContext.java" long_name="org.struts.RequestContext" description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
<snapshots id="5" component_uuid="HIJK" parent_snapshot_id="4" root_component_uuid="ABCD" root_snapshot_id="1" islast="[true]" scope="FIL" qualifier="FIL"/>
<!-- removed sub module -->
- <projects id="10" root_id="1" kee="org.struts:struts-data-removed" name="Struts Data Removed"
+ <projects id="10" root_uuid="ABCD" kee="org.struts:struts-data-removed" name="Struts Data Removed"
uuid="IHGF" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH.IHGF."
scope="PRJ" qualifier="BRC" long_name="Struts Data" description="[null]"
- enabled="[false]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]"/>
+ enabled="[false]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]"/>
<!-- removed directory -->
- <projects id="11" root_id="10" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts-removed"
+ <projects id="11" root_uuid="IHGF" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts-removed"
uuid="JIHG" project_uuid="ABCD" module_uuid="FGHI" module_uuid_path=".ABCD.EFGH.IHGF."
name="src/org/struts" long_name="org.struts" description="[null]"
- enabled="[false]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
+ enabled="[false]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
<!-- removed file -->
- <projects id="12" root_id="10" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:src/org/struts/RequestContextRemoved.java"
+ <projects id="12" root_uuid="IHGF" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:src/org/struts/RequestContextRemoved.java"
uuid="KJIH" project_uuid="ABCD" module_uuid="FGHI" module_uuid_path=".ABCD.EFGH.IHGF."
name="RequestContext.java" long_name="org.struts.RequestContext" description="[null]"
- enabled="[false]" language="java" copy_resource_id="[null]" person_id="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
+ enabled="[false]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_ghost_projects.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_ghost_projects.xml
index c7ad5d723ec..934d4757f1f 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_ghost_projects.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_ghost_projects.xml
@@ -4,16 +4,16 @@
<group_roles id="1" group_id="[null]" resource_id="1" role="user"/>
<!-- Ghost project -->
- <projects id="42" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.ghost.project" name="Ghost Project"
+ <projects id="42" root_uuid="PPAA" scope="PRJ" qualifier="TRK" kee="org.ghost.project" name="Ghost Project"
uuid="PPAA" project_uuid="PPAA" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Ghost Project"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" deprecated_kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" deprecated_kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
<snapshots id="1" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -43,10 +43,10 @@
version="[null]" path=""/>
<!-- module -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]"/>
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]"/>
<snapshots id="2" component_uuid="EFGH" parent_snapshot_id="1" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -60,9 +60,9 @@
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts"
uuid="GHIJ" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- name="src/org/struts" root_id="2"
+ name="src/org/struts" root_uuid="EFGH"
description="[null]"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
<snapshots id="3" component_uuid="GHIJ" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -76,9 +76,9 @@
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:src/org/struts/RequestContext.java"
uuid="KLMN" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- name="RequestContext.java" root_id="2"
+ name="RequestContext.java" root_uuid="EFGH"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
<snapshots id="4" component_uuid="KLMN" parent_snapshot_id="3" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
@@ -91,19 +91,19 @@
version="[null]" path="1.2.3."/>
<!-- Disabled projects -->
- <projects id="10" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.disabled.project" name="Disabled Project"
+ <projects id="10" root_uuid="DCBA" scope="PRJ" qualifier="TRK" kee="org.disabled.project" name="Disabled Project"
uuid="DCBA" project_uuid="DCBA" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Disabled project"
- enabled="[false]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[false]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
<!-- Developer and technical project copy -->
- <projects id="11" root_id="[null]" scope="PRJ" qualifier="DEV" kee="DEV:anakin@skywalker.name" name="Anakin Skywalker"
+ <projects id="11" root_uuid="OPQR" scope="PRJ" qualifier="DEV" kee="DEV:anakin@skywalker.name" name="Anakin Skywalker"
uuid="OPQR" project_uuid="OPQR" module_uuid="[null]" module_uuid_path=".OPQR."
description="the description" long_name="Anakin Skywalker"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
- <projects id="12" root_id="11" scope="PRJ" qualifier="DEV_PRJ" kee="DEV:anakin@skywalker.name:org.struts:struts" name="Apache Struts"
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
+ <projects id="12" root_uuid="OPQR" scope="PRJ" qualifier="DEV_PRJ" kee="DEV:anakin@skywalker.name:org.struts:struts" name="Apache Struts"
uuid="STUV" project_uuid="OPQR" module_uuid="OPQR" module_uuid_path=".OPQR."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="1" person_id="11" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[true]" language="[null]" copy_component_uuid="ABCD" developer_uuid="OPQR" path="[null]" authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_module_files_tree.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_module_files_tree.xml
index 703f88968ac..7aab8b98265 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_module_files_tree.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_module_files_tree.xml
@@ -1,23 +1,23 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="[null]"/>
<!-- module -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]"/>
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]"/>
<!-- file attached directly on module -->
<projects id="3" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:pom.xml"
uuid="EFGHI" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- name="pom.xml" long_name="pom.xml" root_id="3"
+ name="pom.xml" long_name="pom.xml" root_uuid="EFGHI"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="src/org/struts/pom.xml" authorization_updated_at="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts/pom.xml" authorization_updated_at="[null]"/>
<file_sources id="101" project_uuid="ABCD" file_uuid="EFGHI"
binary_data=",,,,,,,,,,,,,,,unchanged&#13;&#10;,,,,,,,,,,,,,,,content&#13;&#10;"
@@ -27,24 +27,24 @@
created_at="1412952242000" updated_at="1412952242000" data_type="SOURCE"/>
<!-- sub module -->
- <projects id="4" root_id="1" kee="org.struts:struts-data" name="Struts Data"
+ <projects id="4" root_uuid="ABCD" kee="org.struts:struts-data" name="Struts Data"
uuid="FGHI" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH.FGHI."
scope="PRJ" qualifier="BRC" long_name="Struts Data"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]"/>
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]"/>
<!-- directory -->
<projects id="5" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts"
uuid="GHIJ" project_uuid="ABCD" module_uuid="FGHI" module_uuid_path=".ABCD.EFGH.FGHI."
- name="src/org/struts" long_name="org.struts" root_id="3"
+ name="src/org/struts" long_name="org.struts" root_uuid="EFGHI"
description="[null]"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
<!-- file -->
<projects id="6" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:src/org/struts/RequestContext.java"
uuid="HIJK" project_uuid="ABCD" module_uuid="FGHI" module_uuid_path=".ABCD.EFGH.FGHI."
- name="RequestContext.java" long_name="org.struts.RequestContext" root_id="3"
+ name="RequestContext.java" long_name="org.struts.RequestContext" root_uuid="EFGHI"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
<file_sources id="102" project_uuid="ABCD" file_uuid="HIJK"
binary_data=",,,,,,,,,,,,,,,unchanged&#13;&#10;,,,,,,,,,,,,,,,content&#13;&#10;"
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_provisioned_projects.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_provisioned_projects.xml
index 2e2ae8bad5c..cae57657d27 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_provisioned_projects.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_provisioned_projects.xml
@@ -4,16 +4,16 @@
<group_roles id="1" group_id="[null]" resource_id="1" role="user"/>
<!-- Provisioned project -->
- <projects id="42" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.provisioned.project" name="Provisioned Project"
+ <projects id="42" root_uuid="PPAA" scope="PRJ" qualifier="TRK" kee="org.provisioned.project" name="Provisioned Project"
uuid="PPAA" project_uuid="PPAA" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Provisioned Project"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" deprecated_kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" deprecated_kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
<snapshots id="1" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -34,10 +34,10 @@
version="[null]" path=""/>
<!-- module -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]"/>
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]"/>
<snapshots id="2" component_uuid="EFGH" parent_snapshot_id="1" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -51,9 +51,9 @@
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts"
uuid="GHIJ" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- name="src/org/struts" root_id="2"
+ name="src/org/struts" root_uuid="EFGH"
description="[null]"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
<snapshots id="3" component_uuid="GHIJ" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -67,9 +67,9 @@
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:src/org/struts/RequestContext.java"
uuid="KLMN" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- name="RequestContext.java" root_id="2"
+ name="RequestContext.java" root_uuid="EFGH"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
<snapshots id="4" component_uuid="KLMN" parent_snapshot_id="3" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
@@ -82,19 +82,19 @@
version="[null]" path="1.2.3."/>
<!-- Disabled projects -->
- <projects id="10" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.disabled.project" name="Disabled Project"
+ <projects id="10" root_uuid="DCBA" scope="PRJ" qualifier="TRK" kee="org.disabled.project" name="Disabled Project"
uuid="DCBA" project_uuid="DCBA" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Disabled project"
- enabled="[false]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[false]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
<!-- Developer and technical project copy -->
- <projects id="11" root_id="[null]" scope="PRJ" qualifier="DEV" kee="DEV:anakin@skywalker.name" name="Anakin Skywalker"
+ <projects id="11" root_uuid="OPQR" scope="PRJ" qualifier="DEV" kee="DEV:anakin@skywalker.name" name="Anakin Skywalker"
uuid="OPQR" project_uuid="OPQR" module_uuid="[null]" module_uuid_path=".OPQR."
description="the description" long_name="Anakin Skywalker"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
- <projects id="12" root_id="11" scope="PRJ" qualifier="DEV_PRJ" kee="DEV:anakin@skywalker.name:org.struts:struts" name="Apache Struts"
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
+ <projects id="12" root_uuid="OPQR" scope="PRJ" qualifier="DEV_PRJ" kee="DEV:anakin@skywalker.name:org.struts:struts" name="Apache Struts"
uuid="STUV" project_uuid="OPQR" module_uuid="OPQR" module_uuid_path=".OPQR."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="1" person_id="11" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[true]" language="[null]" copy_component_uuid="ABCD" developer_uuid="OPQR" path="[null]" authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared.xml
index adaa8d388ef..5fd182fab66 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared.xml
@@ -5,10 +5,10 @@
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" deprecated_kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" deprecated_kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
<snapshots id="1" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -29,10 +29,10 @@
version="[null]" path=""/>
<!-- module -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]"/>
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]"/>
<snapshots id="2" component_uuid="EFGH" parent_snapshot_id="1" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -46,9 +46,9 @@
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts"
uuid="GHIJ" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- name="src/org/struts" root_id="2"
+ name="src/org/struts" root_uuid="EFGH"
description="[null]"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts" authorization_updated_at="[null]"/>
<snapshots id="3" component_uuid="GHIJ" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -62,9 +62,9 @@
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="FIL" kee="org.struts:struts-core:src/org/struts/RequestContext.java"
uuid="KLMN" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- name="RequestContext.java" root_id="2"
+ name="RequestContext.java" root_uuid="EFGH"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
<snapshots id="4" component_uuid="KLMN" parent_snapshot_id="3" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
@@ -77,19 +77,19 @@
version="[null]" path="1.2.3."/>
<!-- Disabled projects -->
- <projects id="10" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.disabled.project" name="Disabled Project"
+ <projects id="10" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.disabled.project" name="Disabled Project"
uuid="DCBA" project_uuid="DCBA" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Disabled project"
- enabled="[false]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[false]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
<!-- Developer and technical project copy -->
- <projects id="11" root_id="[null]" scope="PRJ" qualifier="DEV" kee="DEV:anakin@skywalker.name" name="Anakin Skywalker"
+ <projects id="11" root_uuid="OPQR" scope="PRJ" qualifier="DEV" kee="DEV:anakin@skywalker.name" name="Anakin Skywalker"
uuid="OPQR" project_uuid="OPQR" module_uuid="[null]" module_uuid_path=".OPQR."
description="the description" long_name="Anakin Skywalker"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="123456789"/>
- <projects id="12" root_id="11" scope="PRJ" qualifier="DEV_PRJ" kee="DEV:anakin@skywalker.name:org.struts:struts" name="Apache Struts"
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="123456789"/>
+ <projects id="12" root_uuid="OPQR" scope="PRJ" qualifier="DEV_PRJ" kee="DEV:anakin@skywalker.name:org.struts:struts" name="Apache Struts"
uuid="STUV" project_uuid="OPQR" module_uuid="OPQR" module_uuid_path=".OPQR."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="1" person_id="11" path="[null]" authorization_updated_at="123456789"/>
+ enabled="[true]" language="[null]" copy_component_uuid="ABCD" developer_uuid="OPQR" path="[null]" authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared_views.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared_views.xml
index 1eca3522d69..3f62fc3ad78 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared_views.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared_views.xml
@@ -1,35 +1,35 @@
<dataset>
<!-- Simple View -->
- <projects id="10" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD." copy_resource_id="[null]" enabled="[true]"
+ <projects id="10" uuid="ABCD" root_uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD." copy_component_uuid="[null]" enabled="[true]"
kee="MASTER_PROJECT" scope="PRJ" qualifier="VW" name="All projects" path="[null]"/>
- <projects id="110" uuid="BCDE" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD." copy_resource_id="100" enabled="[true]"
+ <projects id="110" uuid="BCDE" root_uuid="ABCD" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD." copy_component_uuid="JKLM" enabled="[true]"
kee="MASTER_PROJECTorg.struts:struts" scope="FIL" qualifier="TRK" name="Struts" path="[null]"/>
<!-- View with sub view -->
- <projects id="11" uuid="EFGH" project_uuid="EFGH" module_uuid="[null]" module_uuid_path=".EFGH." copy_resource_id="[null]" enabled="[true]"
+ <projects id="11" uuid="EFGH" root_uuid="EFGH" project_uuid="EFGH" module_uuid="[null]" module_uuid_path=".EFGH." copy_component_uuid="[null]" enabled="[true]"
kee="LANGUAGE_VIEW" scope="PRJ" qualifier="VW" name="By Language" path="[null]"/>
- <projects id="112" uuid="GHIJ" project_uuid="EFGH" module_uuid="EFGH" module_uuid_path=".EFGH." copy_resource_id="101" enabled="[true]"
+ <projects id="112" uuid="GHIJ" root_uuid="EFGH" project_uuid="EFGH" module_uuid="EFGH" module_uuid_path=".EFGH." copy_component_uuid="KLMN" enabled="[true]"
kee="VIEW2org.elasticsearch:elasticsearch" scope="FIL" qualifier="TRK" name="SSLR" path="[null]"/>
<!-- Sub view -->
- <projects id="13" uuid="FGHI" project_uuid="EFGH" module_uuid="EFGH" module_uuid_path=".EFGH.FGHI." copy_resource_id="[null]" enabled="[true]"
+ <projects id="13" uuid="FGHI" root_uuid="FGHI" project_uuid="EFGH" module_uuid="EFGH" module_uuid_path=".EFGH.FGHI." copy_component_uuid="[null]" enabled="[true]"
kee="JAVA_PROJECTS" scope="PRJ" qualifier="SVW" name="Java projects" path="[null]"/>
- <projects id="113" uuid="HIJK" project_uuid="EFGH" module_uuid="FGHI" module_uuid_path=".EFGH.FGHI." copy_resource_id="100" enabled="[true]"
+ <projects id="113" uuid="HIJK" root_uuid="EFGH" project_uuid="EFGH" module_uuid="FGHI" module_uuid_path=".EFGH.FGHI." copy_component_uuid="JKLM" enabled="[true]"
kee="VIEW2org.struts:struts" scope="FIL" qualifier="TRK" name="Struts" path="[null]"/>
<!-- View without project -->
- <projects id="14" uuid="IJKL" project_uuid="IJKL" module_uuid="[null]" module_uuid_path=".IJKL." copy_resource_id="[null]" enabled="[true]"
+ <projects id="14" uuid="IJKL" root_uuid="IJKL" project_uuid="IJKL" module_uuid="[null]" module_uuid_path=".IJKL." copy_component_uuid="[null]" enabled="[true]"
kee="OTHER" scope="PRJ" qualifier="VW" name="Other projects" path="[null]"/>
<!-- Real projects -->
- <projects id="100" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
- uuid="JKLM" project_uuid="JKLM" module_uuid="[null]" module_uuid_path=".JKLM."
- enabled="[true]" copy_resource_id="[null]" path="[null]"/>
- <projects id="101" scope="PRJ" qualifier="TRK" kee="org.elasticsearch:elasticsearch" name="Elasticsearch"
- uuid="KLMN" project_uuid="KLMN" module_uuid="[null]" module_uuid_path=".KLMN."
- enabled="[true]" copy_resource_id="[null]" path="[null]"/>
+ <projects id="100" uuid="JKLM" root_uuid="JKLM" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ project_uuid="JKLM" module_uuid="[null]" module_uuid_path=".JKLM."
+ enabled="[true]" copy_component_uuid="[null]" path="[null]"/>
+ <projects id="101" uuid="KLMN" root_uuid="KLMN" scope="PRJ" qualifier="TRK" kee="org.elasticsearch:elasticsearch" name="Elasticsearch"
+ project_uuid="KLMN" module_uuid="[null]" module_uuid_path=".KLMN."
+ enabled="[true]" copy_component_uuid="[null]" path="[null]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update-result.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update-result.xml
index 62196600389..6a23654e9ff 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update-result.xml
@@ -3,8 +3,8 @@
<projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext2.java" deprecated_kee="org.struts:struts-core:src/org/struts/RequestContext2.java"
name="RequestContext2.java" long_name="org.struts.RequestContext2"
uuid="GHIJ" project_uuid="DCBA" module_uuid="HGFE" module_uuid_path=".DCBA.HGFE."
- qualifier="LIF" scope="LIF" language="java2" path="src/org/struts/RequestContext2.java" root_id="4"
- description="description2" enabled="[false]" copy_resource_id="6" person_id="9"
+ qualifier="LIF" scope="LIF" language="java2" path="src/org/struts/RequestContext2.java" root_uuid="uuid_4"
+ description="description2" enabled="[false]" copy_component_uuid="uuid_6" developer_uuid="uuid_9"
authorization_updated_at="12345678910" created_at="2014-06-18"
/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update.xml b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update.xml
index fe171ca4441..68b1156822d 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoTest/update.xml
@@ -3,8 +3,8 @@
<projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" deprecated_kee="org.struts:struts-core:src/org/struts/RequestContext.java"
name="RequestContext.java" long_name="org.struts.RequestContext"
uuid="GHIJ" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- qualifier="FIL" scope="FIL" language="java" path="src/org/struts/RequestContext.java" root_id="3"
- description="description" enabled="[true]" copy_resource_id="5" person_id="[null]"
+ qualifier="FIL" scope="FIL" language="java" path="src/org/struts/RequestContext.java" root_uuid="uuid_3"
+ description="description" enabled="[true]" copy_component_uuid="uuid_5" developer_uuid="[null]"
authorization_updated_at="123456789" created_at="2014-06-18"
/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoWithDuplicatedKeysTest/schema.sql b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoWithDuplicatedKeysTest/schema.sql
index 5b314d137e7..7a309ca3e32 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoWithDuplicatedKeysTest/schema.sql
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ComponentDaoWithDuplicatedKeysTest/schema.sql
@@ -1,12 +1,12 @@
CREATE TABLE "PROJECTS" (
"ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),
"KEE" VARCHAR(400),
- "ROOT_ID" INTEGER,
- "UUID" VARCHAR(50),
+ "UUID" VARCHAR(50) NOT NULL,
+ "ROOT_UUID" VARCHAR(50) NOT NULL,
"PROJECT_UUID" VARCHAR(50),
"MODULE_UUID" VARCHAR(50),
"MODULE_UUID_PATH" VARCHAR(4000),
- "NAME" VARCHAR(256),
+ "NAME" VARCHAR(2000),
"DESCRIPTION" VARCHAR(2000),
"ENABLED" BOOLEAN NOT NULL DEFAULT TRUE,
"SCOPE" VARCHAR(3),
@@ -14,16 +14,16 @@ CREATE TABLE "PROJECTS" (
"DEPRECATED_KEE" VARCHAR(400),
"PATH" VARCHAR(2000),
"LANGUAGE" VARCHAR(20),
- "COPY_RESOURCE_ID" INTEGER,
- "LONG_NAME" VARCHAR(256),
- "PERSON_ID" INTEGER,
+ "COPY_COMPONENT_UUID" VARCHAR(50),
+ "LONG_NAME" VARCHAR(2000),
+ "DEVELOPER_UUID" VARCHAR(50),
"CREATED_AT" TIMESTAMP,
"AUTHORIZATION_UPDATED_AT" BIGINT
);
CREATE INDEX "PROJECTS_KEE" ON "PROJECTS" ("KEE");
-CREATE INDEX "PROJECTS_ROOT_ID" ON "PROJECTS" ("ROOT_ID");
+CREATE INDEX "PROJECTS_ROOT_UUID" ON "PROJECTS" ("ROOT_UUID");
CREATE UNIQUE INDEX "PROJECTS_UUID" ON "PROJECTS" ("UUID");
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture-including-ghost-projects-and-technical-project.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture-including-ghost-projects-and-technical-project.xml
index 490e8fa0cbe..958c16c1150 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture-including-ghost-projects-and-technical-project.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture-including-ghost-projects-and-technical-project.xml
@@ -1,10 +1,10 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="1" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
@@ -26,10 +26,10 @@
version="[null]" path=""/>
<!-- project -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
scope="PRJ" qualifier="BRC" long_name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="2" component_uuid="EFGH" parent_snapshot_id="1" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
@@ -43,10 +43,10 @@
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="PAC" kee="org.struts:struts:org.struts"
- name="org.struts" root_id="1"
+ name="org.struts" root_uuid="ABCD"
description="[null]"
uuid="GHIJ" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="3" component_uuid="GHIJ" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
@@ -61,10 +61,10 @@
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="CLA"
kee="org.struts:struts:org.struts.RequestContext"
- name="RequestContext" root_id="1"
+ name="RequestContext" root_uuid="ABCD"
uuid="KLMN" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="4" component_uuid="KLMN" parent_snapshot_id="3" root_component_uuid="ABCD" root_snapshot_id="1"
@@ -78,16 +78,16 @@
version="[null]" path="1.2.3."/>
<!-- technical project -->
- <projects id="5" root_id="[null]" scope="PRJ" qualifier="TRK" kee="COPYorg.struts:struts" name="Struts"
+ <projects id="5" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="COPYorg.struts:struts" name="Struts"
uuid="TECHPROJECT" project_uuid="[null]" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="1" person_id="[null]" authorization_updated_at="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="ABCD" developer_uuid="[null]" authorization_updated_at="[null]"/>
<!-- project without snapshot status=P-->
- <projects id="6" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.apache.shindig" name="Shinding"
+ <projects id="6" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.apache.shindig" name="Shinding"
uuid="ONLYERRORS" project_uuid="[null]" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Shinding"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"/>
<snapshots id="6" component_uuid="ONLYERRORS" parent_snapshot_id="[null]" root_component_uuid="ONLYERRORS" root_snapshot_id="[null]"
status="U" islast="[false]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -109,17 +109,17 @@
<!-- project without snapshot -->
- <projects id="7" root_id="[null]" kee="org.sample:sample" name="Sample"
+ <projects id="7" root_uuid="ABCD" kee="org.sample:sample" name="Sample"
scope="PRJ" qualifier="TRK" long_name="Sample"
uuid="NOSNAPSHOT" project_uuid="[null]" module_uuid="[null]" module_uuid_path="."
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<!-- project not enabled -->
- <projects id="8" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.apache:tika" name="Tika"
+ <projects id="8" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.apache:tika" name="Tika"
description="the description" long_name="Tika"
uuid="DISABLED" project_uuid="[null]" module_uuid="[null]" module_uuid_path="."
- enabled="[false]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[false]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"/>
<snapshots id="8" component_uuid="DISABLED" parent_snapshot_id="[null]" root_component_uuid="DISABLED" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture.xml
index 98acd8645c7..d4133fab3b5 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/fixture.xml
@@ -5,10 +5,10 @@
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
created_at="2008-12-02" authorization_updated_at="123456789"/>
<snapshots id="1" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
@@ -30,10 +30,10 @@
version="[null]" path=""/>
<!-- module -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="BCDE" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
created_at="2008-12-02" authorization_updated_at="[null]"/>
<snapshots id="2" component_uuid="BCDE" parent_snapshot_id="1" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
@@ -48,9 +48,9 @@
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts"
uuid="CDEF" project_uuid="ABCD" module_uuid="BCDE" module_uuid_path=".ABCD.BCDE."
- name="src/org/struts" root_id="2"
+ name="src/org/struts" root_uuid="BCDE"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="src/org/struts"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts"
created_at="2008-12-02" authorization_updated_at="[null]"/>
<snapshots id="3" component_uuid="CDEF" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[true]" purge_status="[null]"
@@ -66,9 +66,9 @@
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="FIL"
kee="org.struts:struts-core:src/org/struts/RequestContext.java"
uuid="DEFG" project_uuid="ABCD" module_uuid="BCDE" module_uuid_path=".ABCD.BCDE."
- name="RequestContext.java" root_id="2"
+ name="RequestContext.java" root_uuid="BCDE"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
path="src/org/struts/RequestContext.java"
created_at="2008-12-02" authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date-result.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date-result.xml
index a6abf2fab1b..95b4c5b19cc 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date-result.xml
@@ -1,9 +1,9 @@
<dataset>
- <projects id="1" root_id="200" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
+ <projects id="1" root_uuid="uuid_200" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
scope="PRJ" qualifier="TRK" kee="old key" name="old name"
description="old name" long_name="old long name"
- enabled="[false]" language="old" copy_resource_id="2" person_id="3" created_at="[null]" path="/old/foo/bar"
+ enabled="[false]" language="old" copy_component_uuid="uuid_2" developer_uuid="uuid_3" created_at="[null]" path="/old/foo/bar"
deprecated_kee="old deprecated key"
authorization_updated_at="987654321"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date.xml
index 69e73cdb6df..239dcf719b1 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date.xml
@@ -1,9 +1,9 @@
<dataset>
- <projects id="1" root_id="200" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
+ <projects id="1" root_uuid="uuid_200" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
scope="PRJ" qualifier="TRK" kee="old key" name="old name"
description="old name" long_name="old long name"
- enabled="[false]" language="old" copy_resource_id="2" person_id="3" created_at="[null]" path="/old/foo/bar"
+ enabled="[false]" language="old" copy_component_uuid="uuid_2" developer_uuid="uuid_3" created_at="[null]" path="/old/foo/bar"
deprecated_kee="old deprecated key"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/select_project_ids_from_query_and_view_or_sub_view_uuid.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/select_project_ids_from_query_and_view_or_sub_view_uuid.xml
index e0cc9bc51f3..221eb458280 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/select_project_ids_from_query_and_view_or_sub_view_uuid.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/select_project_ids_from_query_and_view_or_sub_view_uuid.xml
@@ -1,15 +1,15 @@
<dataset>IncreasePrecisionOfNumericsTest.update_column_types:48
<!-- Real projects -->
- <projects id="1" uuid="ABCD" project_uuid="ABCD" module_uuid_path=".ABCD." kee="project-one" copy_resource_id="[null]" name="Project One" qualifier="TRK" scope="PRJ"/>
- <projects id="2" uuid="BCDE" project_uuid="BCDE" module_uuid_path=".BCDE." kee="project-two" copy_resource_id="[null]" name="Project Two" qualifier="TRK" scope="PRJ"/>
+ <projects id="1" uuid="ABCD" root_uuid="ABCD" project_uuid="ABCD" module_uuid_path=".ABCD." kee="project-one" copy_component_uuid="[null]" name="Project One" qualifier="TRK" scope="PRJ"/>
+ <projects id="2" uuid="BCDE" root_uuid="BCDE" project_uuid="BCDE" module_uuid_path=".BCDE." kee="project-two" copy_component_uuid="[null]" name="Project Two" qualifier="TRK" scope="PRJ"/>
<!-- Copy projects -->
- <projects id="3" uuid="CDEF" project_uuid="EFGH" module_uuid_path=".EFGH." kee="copy-project-one" copy_resource_id="1" name="Copy Project One" qualifier="TRK" scope="FIL"/>
- <projects id="4" uuid="DEFG" project_uuid="EFGH" module_uuid_path=".EFGH." kee="copy-project-two" copy_resource_id="2" name="Copy Project One" qualifier="TRK" scope="FIL"/>
+ <projects id="3" uuid="CDEF" root_uuid="EFGH" project_uuid="EFGH" module_uuid_path=".EFGH." kee="copy-project-one" copy_component_uuid="ABCD" name="Copy Project One" qualifier="TRK" scope="FIL"/>
+ <projects id="4" uuid="DEFG" root_uuid="EFGH" project_uuid="EFGH" module_uuid_path=".EFGH." kee="copy-project-two" copy_component_uuid="BCDE" name="Copy Project One" qualifier="TRK" scope="FIL"/>
<!-- View containing all projects -->
- <projects id="5" uuid="EFGH" project_uuid="EFGH" module_uuid_path=".EFGH." kee="all-projects" copy_resource_id="[null]" name="All projects" qualifier="VW" scope="PRJ"/>
+ <projects id="5" uuid="EFGH" root_uuid="EFGH" project_uuid="EFGH" module_uuid_path=".EFGH." kee="all-projects" copy_component_uuid="[null]" name="All projects" qualifier="VW" scope="PRJ"/>
<resource_index id="1" kee="project one" component_uuid="ABCD" root_component_uuid="ABCD" position="0" name_size="11" qualifier="TRK"/>
<resource_index id="2" kee="roject one" component_uuid="ABCD" root_component_uuid="ABCD" position="1" name_size="11" qualifier="TRK"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldIndexMultiModulesProject.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldIndexMultiModulesProject.xml
index d88fef9f1b4..ff0f36d95e6 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldIndexMultiModulesProject.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldIndexMultiModulesProject.xml
@@ -3,29 +3,29 @@
<!-- project "struts" -> module "struts-core" -> package org.struts -> file "RequestContext" -->
<projects long_name="[null]" id="1" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
- root_id="[null]"
+ root_uuid="ABCD"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<projects long_name="[null]" id="2" scope="PRJ" qualifier="BRC" kee="org.struts:struts-core" name="Struts Core"
uuid="BCDE" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD."
- root_id="1"
+ root_uuid="ABCD"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<!-- note that the root_id of package/file is wrong. It references the module but not the root project -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="PAC" kee="org.struts:struts-core:org.struts"
uuid="CDEF" project_uuid="ABCD" module_uuid="BCDE" module_uuid_path=".ABCD.BCDE"
- name="org.struts" root_id="2"
+ name="org.struts" root_uuid="BCDE"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="CLA"
uuid="DEFG" project_uuid="ABCD" module_uuid="BCDE" module_uuid_path=".ABCD.BCDE"
kee="org.struts:struts-core:org.struts.RequestContext"
- name="RequestContext" root_id="2"
+ name="RequestContext" root_uuid="BCDE"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<snapshots purge_status="[null]" id="1" islast="[true]" root_component_uuid="ABCD" component_uuid="ABCD"/>
<snapshots purge_status="[null]" id="2" islast="[true]" root_component_uuid="ABCD" component_uuid="BCDE"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldNotIndexPackages.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldNotIndexPackages.xml
index 1072f211a68..7e76208a0ee 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldNotIndexPackages.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldNotIndexPackages.xml
@@ -3,24 +3,24 @@
<!-- project -->
<projects long_name="[null]" id="1" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
- root_id="[null]"
+ root_uuid="ABCD"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<!-- directory -->
<projects long_name="org.struts" id="2" scope="DIR" qualifier="PAC" kee="org.struts:struts:org.struts"
uuid="BCDE" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD."
- name="org.struts" root_id="1"
+ name="org.struts" root_uuid="ABCD"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<!-- file -->
<projects long_name="org.struts.RequestContext" id="3" scope="FIL" qualifier="CLA"
kee="org.struts:struts:org.struts.RequestContext"
uuid="CDEF" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD."
- name="RequestContext" root_id="1"
+ name="RequestContext" root_uuid="1"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<snapshots purge_status="[null]" id="1" islast="[true]" root_component_uuid="ABCD" component_uuid="ABCD" scope="PRJ"
qualifier="TRK"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexNewTwoLettersLongResource.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexNewTwoLettersLongResource.xml
index 268953293f7..1c7036cd095 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexNewTwoLettersLongResource.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexNewTwoLettersLongResource.xml
@@ -2,9 +2,9 @@
<projects long_name="[null]" id="1" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="AS"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
- root_id="[null]"
+ root_uuid="ABCD"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java"/>
<snapshots purge_status="[null]" id="1" islast="[true]" root_component_uuid="ABCD" component_uuid="ABCD" scope="PRJ"
qualifier="TRK"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexTwoLettersLongResource.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexTwoLettersLongResource.xml
index 5b1c5fa7a1a..c7faa7de4ce 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexTwoLettersLongResource.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReIndexTwoLettersLongResource.xml
@@ -2,9 +2,9 @@
<projects long_name="[null]" id="1" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="AS"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
- root_id="[null]"
+ root_uuid="ABCD"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<snapshots purge_status="[null]" id="1" islast="[true]" root_component_uuid="ABCD" component_uuid="ABCD" scope="PRJ"
qualifier="TRK"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReindexProjectAfterRenaming.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReindexProjectAfterRenaming.xml
index e00a7602607..6b1066004b3 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReindexProjectAfterRenaming.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceIndexDaoTest/shouldReindexProjectAfterRenaming.xml
@@ -2,9 +2,9 @@
<projects long_name="[null]" id="1" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Apache Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
- root_id="[null]"
+ root_uuid="ABCD"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" />
<snapshots purge_status="[null]" id="1" islast="[true]" root_component_uuid="ABCD" component_uuid="ABCD" scope="PRJ"
qualifier="TRK"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shared.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shared.xml
index 400243b4d19..9e8d45b55c0 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shared.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shared.xml
@@ -1,71 +1,71 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts" uuid="A"
+ <projects id="1" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts" uuid="A"
project_uuid="A" module_uuid="[null]" module_uuid_path="."
description="[null]" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts"
authorization_updated_at="[null]"/>
-
<!-- **************** First sub project **************** -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
+ <projects id="2" root_uuid="A" kee="org.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
module_uuid="[null]" module_uuid_path=".A."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="org.struts:struts-core"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:/src/org/struts"
- name="org.struts" root_id="2" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="org.struts" root_uuid="B" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-core:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="CLA"
kee="org.struts:struts-core:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="2" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="RequestContext" root_uuid="B" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-core:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Second sub project **************** -->
- <projects id="5" root_id="1" kee="org.struts:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]"
+ <projects id="5" root_uuid="A" kee="org.struts:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]"
module_uuid="[null]" module_uuid_path=".E."
scope="PRJ" qualifier="BRC" long_name="Struts UI"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="org.struts:struts-ui"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="6" scope="DIR" qualifier="DIR" kee="org.struts:struts-ui:/src/org/struts"
- name="org.struts" root_id="5" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="org.struts" root_uuid="E" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-ui:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="7" scope="FIL" qualifier="CLA"
kee="org.struts:struts-ui:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="5" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="RequestContext" root_uuid="E" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-ui:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Another independent project **************** -->
- <projects id="8" root_id="[null]" kee="foo:struts-core" name="Foo Struts Core" uuid="H" project_uuid="[null]"
+ <projects id="8" root_uuid="A" kee="foo:struts-core" name="Foo Struts Core" uuid="H" project_uuid="[null]"
module_uuid="[null]" module_uuid_path=".H."
scope="PRJ" qualifier="BRC" long_name="Foo Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="foo:struts-core"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml
index 962995f42b6..6227c606fc2 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml
@@ -1,72 +1,72 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.apache.struts:struts" name="Struts" uuid="A"
+ <projects id="1" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.apache.struts:struts" name="Struts" uuid="A"
project_uuid="A" module_uuid="[null]" module_uuid_path="."
description="[null]" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.apache.struts:struts"
authorization_updated_at="[null]"/>
<!-- **************** First sub project **************** -->
- <projects id="2" root_id="1" kee="org.apache.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
+ <projects id="2" root_uuid="A" kee="org.apache.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
module_uuid="[null]" module_uuid_path=".A."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
created_at="[null]" path="[null]" deprecated_kee="org.apache.struts:struts-core"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="DIR"
kee="org.apache.struts:struts-core:/src/org/struts"
- name="org.struts" root_id="2" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="org.struts" root_uuid="B" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.apache.struts:struts-core:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="CLA"
kee="org.apache.struts:struts-core:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="2" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="RequestContext" root_uuid="B" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.apache.struts:struts-core:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Second sub project **************** -->
- <projects id="5" root_id="1" kee="org.apache.struts:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]"
+ <projects id="5" root_uuid="A" kee="org.apache.struts:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]"
module_uuid="[null]" module_uuid_path=".E."
scope="PRJ" qualifier="BRC" long_name="Struts UI"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
created_at="[null]" path="[null]" deprecated_kee="org.apache.struts:struts-ui"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="6" scope="DIR" qualifier="DIR" kee="org.apache.struts:struts-ui:/src/org/struts"
- name="org.struts" root_id="5" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="org.struts" root_uuid="E" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.apache.struts:struts-ui:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="7" scope="FIL" qualifier="CLA"
kee="org.apache.struts:struts-ui:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="5" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="RequestContext" root_uuid="E" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.apache.struts:struts-ui:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Another independent project **************** -->
- <projects id="8" root_id="[null]" kee="foo:struts-core" name="Foo Struts Core" uuid="H" project_uuid="[null]"
+ <projects id="8" root_uuid="A" kee="foo:struts-core" name="Foo Struts Core" uuid="H" project_uuid="[null]"
module_uuid="[null]" module_uuid_path=".H."
scope="PRJ" qualifier="BRC" long_name="Foo Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
created_at="[null]" path="[null]" deprecated_kee="foo:struts-core"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml
index 81e4290832e..1f15cb2d042 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml
@@ -1,71 +1,71 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts" uuid="A"
+ <projects id="1" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts" uuid="A"
project_uuid="A" module_uuid="[null]" module_uuid_path="."
description="[null]" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts"
authorization_updated_at="[null]"/>
<!-- **************** First sub project **************** -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
+ <projects id="2" root_uuid="A" kee="org.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
module_uuid="[null]" module_uuid_path=".A."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
created_at="[null]" path="[null]" deprecated_kee="org.struts:struts-core"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:/src/org/struts"
- name="org.struts" root_id="2" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="org.struts" root_uuid="B" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-core:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="CLA"
kee="org.struts:struts-core:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="2" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="RequestContext" root_uuid="B" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-core:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Second sub project **************** -->
- <projects id="5" root_id="1" kee="org.struts:struts-web" name="Struts UI" uuid="E" project_uuid="[null]"
+ <projects id="5" root_uuid="A" kee="org.struts:struts-web" name="Struts UI" uuid="E" project_uuid="[null]"
module_uuid="[null]" module_uuid_path=".E."
scope="PRJ" qualifier="BRC" long_name="Struts UI"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
created_at="[null]" path="[null]" deprecated_kee="org.struts:struts-web"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="6" scope="DIR" qualifier="DIR" kee="org.struts:struts-web:/src/org/struts"
- name="org.struts" root_id="5" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="org.struts" root_uuid="E" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-web:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="7" scope="FIL" qualifier="CLA"
kee="org.struts:struts-web:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="5" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="RequestContext" root_uuid="E" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-web:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Another independent project **************** -->
- <projects id="8" root_id="[null]" kee="foo:struts-core" name="Foo Struts Core" uuid="H" project_uuid="[null]"
+ <projects id="8" root_uuid="A" kee="foo:struts-core" name="Foo Struts Core" uuid="H" project_uuid="[null]"
module_uuid="[null]" module_uuid_path=".H."
scope="PRJ" qualifier="BRC" long_name="Foo Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
created_at="[null]" path="[null]" deprecated_kee="foo:struts-core"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml
index 83686f2ba90..85e1a75fe6c 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml
@@ -1,63 +1,63 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.apache.struts:struts" name="Struts" uuid="A"
+ <projects id="1" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.apache.struts:struts" name="Struts" uuid="A"
project_uuid="A" module_uuid="[null]" module_uuid_path="."
description="[null]" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.apache.struts:struts"
authorization_updated_at="[null]"/>
<!-- **************** First sub project **************** -->
- <projects id="2" root_id="1" kee="org.apache.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
+ <projects id="2" root_uuid="A" kee="org.apache.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
module_uuid="[null]" module_uuid_path=".A."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="org.apache.struts:struts-core"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="PAC"
kee="org.apache.struts:struts-core:/src/org/struts"
- name="org.struts" root_id="2" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="org.struts" root_uuid="B" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.apache.struts:struts-core:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="CLA"
kee="org.apache.struts:struts-core:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="2" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="RequestContext" root_uuid="B" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.apache.struts:struts-core:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Second sub project THAT HAS A DIFFERENT GROUP ID => MUST NOT BE UPDATED **************** -->
- <projects id="5" root_id="1" kee="foo:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]" module_uuid="[null]"
+ <projects id="5" root_uuid="A" kee="foo:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]" module_uuid="[null]"
module_uuid_path=".E."
scope="PRJ" qualifier="BRC" long_name="Struts UI"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="foo:struts-ui"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="6" scope="DIR" qualifier="PAC" kee="foo:struts-ui:/src/org/struts"
- name="org.struts" root_id="5" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="org.struts" root_uuid="E" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="foo:struts-ui:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="7" scope="FIL" qualifier="CLA"
kee="foo:struts-ui:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="5" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="RequestContext" root_uuid="E" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="foo:struts-ui:org.struts.RequestContext"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml
index 5021b0c56bc..226d5faaa08 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml
@@ -1,62 +1,62 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts" uuid="A"
+ <projects id="1" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts" uuid="A"
project_uuid="A" module_uuid="[null]" module_uuid_path="."
description="[null]" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts"
authorization_updated_at="[null]"/>
<!-- **************** First sub project **************** -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
+ <projects id="2" root_uuid="A" kee="org.struts:struts-core" name="Struts Core" uuid="B" project_uuid="A"
module_uuid="[null]" module_uuid_path=".A."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="org.struts:struts-core"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="PAC" kee="org.struts:struts-core:/src/org/struts"
- name="org.struts" root_id="2" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="org.struts" root_uuid="B" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-core:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="CLA"
kee="org.struts:struts-core:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="2" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="RequestContext" root_uuid="B" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-core:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Second sub project THAT HAS A DIFFERENT GROUP ID => MUST NOT BE UPDATED **************** -->
- <projects id="5" root_id="1" kee="foo:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]" module_uuid="[null]"
+ <projects id="5" root_uuid="A" kee="foo:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]" module_uuid="[null]"
module_uuid_path=".E."
scope="PRJ" qualifier="BRC" long_name="Struts UI"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="foo:struts-ui"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="6" scope="DIR" qualifier="PAC" kee="foo:struts-ui:/src/org/struts"
- name="org.struts" root_id="5" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="org.struts" root_uuid="E" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="foo:struts-ui:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="7" scope="FIL" qualifier="CLA"
kee="foo:struts-ui:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="5" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="RequestContext" root_uuid="E" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="foo:struts-ui:org.struts.RequestContext"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldUpdateKey-result.xml b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldUpdateKey-result.xml
index a7a9d68d42a..b5e560f47e5 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldUpdateKey-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldUpdateKey-result.xml
@@ -1,10 +1,10 @@
<dataset>
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts" uuid="A"
+ <projects id="1" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts" uuid="A"
project_uuid="A" module_uuid="[null]" module_uuid_path="."
description="[null]" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts"
authorization_updated_at="[null]"/>
@@ -12,62 +12,62 @@
<!-- **************** First sub project **************** -->
<!-- ONLY THIS PROJECT MUST HAVE BEEN UPDATED -->
<!-- -->
- <projects id="2" root_id="1" kee="struts:core" name="Struts Core" uuid="B" project_uuid="A" module_uuid="[null]"
+ <projects id="2" root_uuid="A" kee="struts:core" name="Struts Core" uuid="B" project_uuid="A" module_uuid="[null]"
module_uuid_path=".A."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="struts:core"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="3" scope="DIR" qualifier="DIR" kee="struts:core:/src/org/struts"
- name="org.struts" root_id="2" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="org.struts" root_uuid="B" uuid="C" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="struts:core:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="4" scope="FIL" qualifier="CLA"
kee="struts:core:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="2" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
+ name="RequestContext" root_uuid="B" uuid="D" project_uuid="A" module_uuid="B" module_uuid_path=".A.B."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="struts:core:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Second sub project **************** -->
- <projects id="5" root_id="1" kee="org.struts:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]"
+ <projects id="5" root_uuid="A" kee="org.struts:struts-ui" name="Struts UI" uuid="E" project_uuid="[null]"
module_uuid="[null]" module_uuid_path=".E."
scope="PRJ" qualifier="BRC" long_name="Struts UI"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="org.struts:struts-ui"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="6" scope="DIR" qualifier="DIR" kee="org.struts:struts-ui:/src/org/struts"
- name="org.struts" root_id="5" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="org.struts" root_uuid="E" uuid="F" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-ui:org.struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="7" scope="FIL" qualifier="CLA"
kee="org.struts:struts-ui:/src/org/struts/RequestContext.java"
- name="RequestContext" root_id="5" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
+ name="RequestContext" root_uuid="E" uuid="G" project_uuid="[null]" module_uuid="[null]" module_uuid_path=".E."
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" created_at="[null]"
+ enabled="[true]" language="java" created_at="[null]"
path="[null]" deprecated_kee="org.struts:struts-ui:org.struts.RequestContext"
authorization_updated_at="[null]"/>
<!-- **************** Another independent project **************** -->
- <projects id="8" root_id="[null]" kee="foo:struts-core" name="Foo Struts Core" uuid="H" project_uuid="[null]"
+ <projects id="8" root_uuid="A" kee="foo:struts-core" name="Foo Struts Core" uuid="H" project_uuid="[null]"
module_uuid="[null]" module_uuid_path=".H."
scope="PRJ" qualifier="BRC" long_name="Foo Struts Core"
- description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="java"
created_at="[null]" path="[null]" deprecated_kee="foo:struts-core"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/has_last_snapshot_by_component_uuid.xml b/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/has_last_snapshot_by_component_uuid.xml
index 3a4404377a3..84aeaa27387 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/has_last_snapshot_by_component_uuid.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/has_last_snapshot_by_component_uuid.xml
@@ -1,10 +1,10 @@
<dataset>
<!-- Has last snapshot -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" authorization_updated_at="[null]" />
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]" authorization_updated_at="[null]" />
<snapshots id="1" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
@@ -25,16 +25,16 @@
version="[null]" path=""/>
<!-- No snapshot -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]" />
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]" />
<!-- No last snapshot -->
- <projects id="3" root_id="1" kee="org.struts:struts-data" name="Struts Data"
+ <projects id="3" root_uuid="ABCD" kee="org.struts:struts-data" name="Struts Data"
uuid="FGHI" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Data"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" authorization_updated_at="[null]" />
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" authorization_updated_at="[null]" />
<snapshots id="3" component_uuid="FGHI" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="1"
status="P" islast="[false]" purge_status="[null]"
period1_mode="[null]" period1_param="[null]" period1_date="[null]"
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_previous_version_snapshots.xml b/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_previous_version_snapshots.xml
index 2c4dad9044c..8a2c1fb2f95 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_previous_version_snapshots.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_previous_version_snapshots.xml
@@ -1,9 +1,9 @@
<dataset>
<projects long_name="[null]" id="1" scope="PRJ" qualifier="TRK" kee="project" name="project"
- root_id="[null]" uuid="ABCD"
+ root_uuid="ABCD" uuid="ABCD"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"/>
<!-- version 1.0 -->
<snapshots id="1000" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
diff --git a/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_snapshots_by_query.xml b/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_snapshots_by_query.xml
index 8b4cba62605..d0d026f6e4a 100644
--- a/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_snapshots_by_query.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_snapshots_by_query.xml
@@ -1,10 +1,10 @@
<dataset>
<!-- PROJECT_ID = 1 -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="[null]"/>
<snapshots id="1" component_uuid="ABCD" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="1"
@@ -36,10 +36,10 @@
version="2.2-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 2 -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="4" component_uuid="EFGH" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="3"
@@ -63,10 +63,10 @@
version="2.1-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 3 - no last snapshot -->
- <projects id="3" root_id="1" kee="org.struts:struts-data" name="Struts Data"
+ <projects id="3" root_uuid="ABCD" kee="org.struts:struts-data" name="Struts Data"
uuid="FGHI" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Data"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="6" component_uuid="FGHI" parent_snapshot_id="2" root_component_uuid="ABCD" root_snapshot_id="3"
@@ -80,10 +80,10 @@
version="2.1-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 4 - no snapshot -->
- <projects id="4" root_id="1" kee="org.struts:struts-deprecated" name="Struts Deprecated"
+ <projects id="4" root_uuid="ABCD" kee="org.struts:struts-deprecated" name="Struts Deprecated"
uuid="GHIJ" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Deprecated"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/insert.xml b/sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/insert.xml
index 1a168293765..02a6e33afa7 100644
--- a/sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/insert.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/insert.xml
@@ -2,6 +2,6 @@
<snapshots purge_status="[null]" id="1" status="U" islast="0" component_uuid="0" root_component_uuid="0"/>
<snapshots purge_status="[null]" id="2" status="U" islast="0" component_uuid="uuid_1" root_component_uuid="uuid_1"/>
- <projects id="1" uuid="uuid_1" kee="foo" enabled="1" scope="FIL" qualifier="CLA"/>
+ <projects id="1" uuid="uuid_1" root_uuid="uuid_root" kee="foo" enabled="1" scope="FIL" qualifier="CLA"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/select_candidates.xml b/sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/select_candidates.xml
index e03ca58794e..d2eca360488 100644
--- a/sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/select_candidates.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/select_candidates.xml
@@ -2,26 +2,26 @@
<snapshots id="1" component_uuid="uuid_1" status="P" islast="[false]" purge_status="[null]" root_component_uuid="uuid_1"/>
<snapshots id="2" component_uuid="uuid_1" status="P" islast="[false]" purge_status="[null]" root_component_uuid="uuid_1"/>
- <projects id="1" uuid="uuid_1" kee="bar-old" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
+ <projects id="1" uuid="uuid_1" root_uuid="uuid_root" kee="bar-old" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
<snapshots id="3" component_uuid="uuid_2" status="P" islast="[true]" purge_status="[null]" root_component_uuid="uuid_1"/>
<snapshots id="4" component_uuid="uuid_2" status="P" islast="[true]" purge_status="[null]" root_component_uuid="uuid_1"/>
- <projects id="2" uuid="uuid_2" kee="bar-last" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
+ <projects id="2" uuid="uuid_2" root_uuid="uuid_root" kee="bar-last" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
<snapshots id="5" component_uuid="uuid_3" status="P" islast="[false]" purge_status="[null]" root_component_uuid="uuid_1"/>
<snapshots id="6" component_uuid="uuid_3" status="P" islast="[false]" purge_status="[null]" root_component_uuid="uuid_1"/>
- <projects id="3" uuid="uuid_3" kee="foo-old" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
+ <projects id="3" uuid="uuid_3" root_uuid="uuid_root" kee="foo-old" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
<snapshots id="7" component_uuid="uuid_4" status="P" islast="[true]" purge_status="[null]" root_component_uuid="uuid_1"/>
<snapshots id="8" component_uuid="uuid_4" status="P" islast="[true]" purge_status="[null]" root_component_uuid="uuid_1"/>
- <projects id="4" uuid="uuid_4" kee="foo-last" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
+ <projects id="4" uuid="uuid_4" root_uuid="uuid_root" kee="foo-last" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
<snapshots id="9" component_uuid="uuid_5" status="U" islast="[false]" purge_status="[null]" root_component_uuid="uuid_1"/>
<snapshots id="10" component_uuid="uuid_5" status="U" islast="[false]" purge_status="[null]" root_component_uuid="uuid_1"/>
- <projects id="5" uuid="uuid_5" kee="foo" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
+ <projects id="5" uuid="uuid_5" root_uuid="uuid_root" kee="foo" enabled="[true]" scope="FIL" qualifier="CLA" language="java"/>
<snapshots id="11" component_uuid="uuid_6" purge_status="[null]" status="P" islast="1" root_component_uuid="uuid_1"/>
- <projects id="6" uuid="uuid_6" kee="baz" enabled="[true]" scope="FIL" qualifier="CLA" language="grvy"/>
+ <projects id="6" uuid="uuid_6" root_uuid="uuid_root" kee="baz" enabled="[true]" scope="FIL" qualifier="CLA" language="grvy"/>
<!-- Old snapshot of another project -->
<!-- bar-old -->
diff --git a/sonar-db/src/test/resources/org/sonar/db/issue/IssueDaoTest/shared.xml b/sonar-db/src/test/resources/org/sonar/db/issue/IssueDaoTest/shared.xml
index f6825ce7056..306aa5b1217 100644
--- a/sonar-db/src/test/resources/org/sonar/db/issue/IssueDaoTest/shared.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/issue/IssueDaoTest/shared.xml
@@ -2,14 +2,14 @@
<group_roles id="1" group_id="[null]" resource_id="399" role="user"/>
- <projects id="399" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="." kee="struts"
- root_id="[null]" qualifier="TRK" scope="PRJ"/>
- <projects id="400" uuid="BCDE" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD." kee="struts-core"
- root_id="399" qualifier="BRC" scope="PRJ"/>
- <projects id="401" uuid="CDEF" project_uuid="ABCD" module_uuid="BCDE" module_uuid_path=".ABCD.BCDE." kee="Action.java"
- root_id="400" qualifier="CLA" scope="PRJ"/>
- <projects id="402" uuid="DEFG" project_uuid="ABCD" module_uuid="BCDE" module_uuid_path=".ABCD.BCDE." kee="Filter.java"
- root_id="400" qualifier="CLA" scope="PRJ"/>
+ <projects id="399" uuid="ABCD" root_uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="." kee="struts"
+ qualifier="TRK" scope="PRJ"/>
+ <projects id="400" uuid="BCDE" root_uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD." kee="struts-core"
+ qualifier="BRC" scope="PRJ"/>
+ <projects id="401" uuid="CDEF" root_uuid="BCDE" project_uuid="ABCD" module_uuid="BCDE" module_uuid_path=".ABCD.BCDE." kee="Action.java"
+ qualifier="CLA" scope="PRJ"/>
+ <projects id="402" uuid="DEFG" root_uuid="CDEF" project_uuid="ABCD" module_uuid="BCDE" module_uuid_path=".ABCD.BCDE." kee="Filter.java"
+ qualifier="CLA" scope="PRJ"/>
<snapshots id="100" component_uuid="ABCD" root_snapshot_id="[null]" parent_snapshot_id="[null]" root_component_uuid="ABCD"
path="" islast="[true]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures.xml b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures.xml
index db64cefe322..ab4473adb1b 100644
--- a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures.xml
@@ -15,17 +15,17 @@
<!-- project -->
<projects long_name="[null]" id="1" scope="PRJ" qualifier="TRK" kee="project" name="project"
- root_id="[null]" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
+ root_uuid="ABCD" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
enabled="[true]"/>
<!-- package -->
<projects long_name="[null]" id="2" scope="DIR" qualifier="PAC" kee="project:org.foo" name="org.foo"
- root_id="1" uuid="BCDE" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD."
+ root_uuid="ABCD" uuid="BCDE" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD."
enabled="[true]"/>
<!-- file -->
<projects long_name="org.foo.Bar" id="3" scope="FIL" qualifier="CLA" kee="project:org.foo.Bar"
- name="Bar" root_id="[null]" uuid="CDEF" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD."
+ name="Bar" root_uuid="ABCD" uuid="CDEF" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD."
enabled="[true]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures_with_person_id.xml b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures_with_person_id.xml
index cc554e9e486..55744741a7f 100644
--- a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures_with_person_id.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/past_measures_with_person_id.xml
@@ -4,7 +4,7 @@
<!-- project -->
<projects long_name="[null]" id="1" scope="PRJ" qualifier="TRK" kee="project" name="project"
- root_id="[null]" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
+ root_uuid="ABCD" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
enabled="[true]"/>
<!-- snapshots -->
diff --git a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/select_by_snapshot_and_metric_keys.xml b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/select_by_snapshot_and_metric_keys.xml
index cf3af96ea09..67e00418372 100644
--- a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/select_by_snapshot_and_metric_keys.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/select_by_snapshot_and_metric_keys.xml
@@ -4,7 +4,7 @@
<metrics id="11" name="coverage_line_hits_data"/>
<metrics id="12" name="ncloc"/>
- <projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" enabled="[true]" uuid="FILE1"/>
+ <projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" enabled="[true]" uuid="FILE1" root_uuid="ABCD"/>
<snapshots id="5" component_uuid="ABCD" root_component_uuid="ABCD" islast="[true]" />
diff --git a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/shared.xml b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/shared.xml
index c9e5417e180..08a654e1d89 100644
--- a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/shared.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/shared.xml
@@ -4,7 +4,7 @@
<metrics id="11" name="coverage_line_hits_data"/>
<metrics id="12" name="ncloc"/>
- <projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" enabled="[true]" uuid="ABCD"/>
+ <projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" enabled="[true]" uuid="ABCD" root_uuid="ABCD"/>
<snapshots id="5" component_uuid="ABCD" root_component_uuid="ABCD" islast="[true]" />
diff --git a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/with_some_measures_for_developer.xml b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/with_some_measures_for_developer.xml
index d1fe38a34ee..d58ef14ab2e 100644
--- a/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/with_some_measures_for_developer.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/measure/MeasureDaoTest/with_some_measures_for_developer.xml
@@ -4,8 +4,8 @@
<metrics id="11" name="coverage_line_hits_data"/>
<metrics id="12" name="ncloc"/>
- <projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" enabled="[true]" uuid="uuid_1"/>
- <projects id="333" kee="dev:John-Doe" enabled="[true]" uuid="333"/>
+ <projects id="1" kee="org.struts:struts-core:src/org/struts/RequestContext.java" enabled="[true]" uuid="uuid_1" root_uuid="uuid_1"/>
+ <projects id="333" kee="dev:John-Doe" enabled="[true]" uuid="333" root_uuid="333"/>
<snapshots id="5" component_uuid="uuid_1" islast="[true]" root_component_uuid="uuid_1"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/apply_default_permission_template.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/apply_default_permission_template.xml
index f990d2158f9..0ed1f2d089b 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/apply_default_permission_template.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/apply_default_permission_template.xml
@@ -1,8 +1,8 @@
<dataset>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
<groups id="100" name="sonar-administrators"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission-result.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission-result.xml
index 793d16b3bae..242b2056066 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission-result.xml
@@ -7,7 +7,7 @@
<projects id="100" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission.xml
index 8f079ec590c..62435ee6f13 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_add_user_permission.xml
@@ -4,9 +4,9 @@
<user_roles id="1" user_id="200" resource_id="123" role="user"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_apply_permission_template.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_apply_permission_template.xml
index ef9212b8087..bf79d01e3e2 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_apply_permission_template.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_apply_permission_template.xml
@@ -1,8 +1,8 @@
<dataset>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
<groups id="100" name="sonar-administrators"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission-result.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission-result.xml
index e77f558dc36..4cb4facedaf 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission-result.xml
@@ -4,9 +4,9 @@
<group_roles id="1" group_id="100" resource_id="123" role="admin"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission.xml
index 9c3bcfce197..e577bd2633d 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_group_permission.xml
@@ -5,9 +5,9 @@
<group_roles id="1" group_id="100" resource_id="123" role="admin"/>
<group_roles id="2" group_id="100" resource_id="123" role="user"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+<projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission-result.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission-result.xml
index 8f079ec590c..62435ee6f13 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission-result.xml
@@ -4,9 +4,9 @@
<user_roles id="1" user_id="200" resource_id="123" role="user"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission.xml
index fe3e01186db..0150227ccee 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_delete_user_permission.xml
@@ -5,9 +5,9 @@
<user_roles id="1" user_id="200" resource_id="123" role="user"/>
<user_roles id="2" user_id="200" resource_id="123" role="admin"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission-result.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission-result.xml
index 276e8d7da3f..b94f939bf09 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission-result.xml
@@ -5,9 +5,9 @@
<group_roles id="1" group_id="100" resource_id="123" role="admin"/>
<group_roles id="2" group_id="[null]" resource_id="123" role="user"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission.xml
index 4552a5339ee..92fe2f87d9b 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_anyone_group_permission.xml
@@ -4,9 +4,9 @@
<group_roles id="1" group_id="100" resource_id="123" role="admin"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission-result.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission-result.xml
index 9c3bcfce197..574e36a9a6d 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission-result.xml
@@ -5,9 +5,9 @@
<group_roles id="1" group_id="100" resource_id="123" role="admin"/>
<group_roles id="2" group_id="100" resource_id="123" role="user"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission.xml b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission.xml
index e77f558dc36..4cb4facedaf 100644
--- a/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/permission/PermissionRepositoryTest/should_insert_group_permission.xml
@@ -4,9 +4,9 @@
<group_roles id="1" group_id="100" resource_id="123" role="admin"/>
- <projects id="123" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="123" uuid="A" root_uuid="A" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
description="the description" long_name="Apache Struts"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="123456789"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/delete_project_property.xml b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/delete_project_property.xml
index 99bd75917c1..f6e6099a954 100644
--- a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/delete_project_property.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/delete_project_property.xml
@@ -16,7 +16,7 @@
<properties id="7" prop_key="commonslang.one" text_value="one" resource_id="12" user_id="[null]"/>
- <projects id="10" uuid="A" kee="org.struts:struts"/>
- <projects id="11" uuid="B" kee="org.apache:commons-lang"/>
- <projects id="12" uuid="C" kee="other"/>
+ <projects id="10" uuid="A" root_uuid="A" kee="org.struts:struts"/>
+ <projects id="11" uuid="B" root_uuid="B" kee="org.apache:commons-lang"/>
+ <projects id="12" uuid="C" root_uuid="C" kee="other"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/findNotificationSubscribers.xml b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/findNotificationSubscribers.xml
index 9bfd1dc3001..08568ad0eee 100644
--- a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/findNotificationSubscribers.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/findNotificationSubscribers.xml
@@ -10,7 +10,7 @@
login="simon"
/>
- <projects id="42" uuid="PROJECT_A" kee="org.apache:struts"/>
+ <projects id="42" uuid="PROJECT_A" root_uuid="PROJECT_A" kee="org.apache:struts"/>
<!-- global subscription -->
<properties
diff --git a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/selectProjectProperties.xml b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/selectProjectProperties.xml
index 99bd75917c1..f6e6099a954 100644
--- a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/selectProjectProperties.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/selectProjectProperties.xml
@@ -16,7 +16,7 @@
<properties id="7" prop_key="commonslang.one" text_value="one" resource_id="12" user_id="[null]"/>
- <projects id="10" uuid="A" kee="org.struts:struts"/>
- <projects id="11" uuid="B" kee="org.apache:commons-lang"/>
- <projects id="12" uuid="C" kee="other"/>
+ <projects id="10" uuid="A" root_uuid="A" kee="org.struts:struts"/>
+ <projects id="11" uuid="B" root_uuid="B" kee="org.apache:commons-lang"/>
+ <projects id="12" uuid="C" root_uuid="C" kee="other"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/select_module_properties_tree.xml b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/select_module_properties_tree.xml
index 938910a0e01..5dd05ae8a5a 100644
--- a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/select_module_properties_tree.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/select_module_properties_tree.xml
@@ -20,41 +20,41 @@
<!-- root project -->
- <projects id="1" root_id="[null]" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
+ <projects id="1" root_uuid="ABCD" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="."
description="the description" long_name="Apache Struts"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
authorization_updated_at="[null]"/>
<!-- module -->
- <projects id="2" root_id="1" kee="org.struts:struts-core" name="Struts Core"
+ <projects id="2" root_uuid="ABCD" kee="org.struts:struts-core" name="Struts Core"
uuid="EFGH" project_uuid="ABCD" module_uuid="[null]" module_uuid_path=".ABCD."
scope="PRJ" qualifier="BRC" long_name="Struts Core"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<!-- sub module -->
- <projects id="3" root_id="1" kee="org.struts:struts-data" name="Struts Data"
+ <projects id="3" root_uuid="ABCD" kee="org.struts:struts-data" name="Struts Data"
uuid="FGHI" project_uuid="ABCD" module_uuid="EFGH" module_uuid_path=".ABCD.EFGH."
scope="PRJ" qualifier="BRC" long_name="Struts Data"
- description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<!-- directory -->
<projects long_name="org.struts" id="4" scope="DIR" qualifier="DIR" kee="org.struts:struts-core:src/org/struts"
uuid="GHIJ" project_uuid="ABCD" module_uuid="FGHI" module_uuid_path=".ABCD.EFGH.FGHI."
- name="src/org/struts" root_id="3"
+ name="src/org/struts" root_uuid="FGHI"
description="[null]"
- enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]" path="src/org/struts"
+ enabled="[true]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]" path="src/org/struts"
authorization_updated_at="[null]"/>
<!-- file -->
<projects long_name="org.struts.RequestContext" id="5" scope="FIL" qualifier="FIL"
kee="org.struts:struts-core:src/org/struts/RequestContext.java"
uuid="HIJK" project_uuid="ABCD" module_uuid="GHIJ" module_uuid_path=".ABCD.EFGH.FGHI."
- name="RequestContext.java" root_id="3"
+ name="RequestContext.java" root_uuid="FGHI"
description="[null]"
- enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
+ enabled="[true]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
path="src/org/struts/RequestContext.java" authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/shouldFindUsersForNotification.xml b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/shouldFindUsersForNotification.xml
index 63c723d4f57..b6926426ff1 100644
--- a/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/shouldFindUsersForNotification.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/property/PropertiesDaoTest/shouldFindUsersForNotification.xml
@@ -1,7 +1,7 @@
<dataset>
- <projects id="45" uuid="uuid_45" kee="45"/>
- <projects id="56" uuid="uuid_56" kee="46"/>
+ <projects id="45" uuid="uuid_45" root_uuid="uuid_45" kee="45"/>
+ <projects id="56" uuid="uuid_56" root_uuid="uuid_56" kee="46"/>
<properties
id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeCommandsTest/shouldDeleteResource.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeCommandsTest/shouldDeleteResource.xml
index 2230f63a43b..fa242513c85 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeCommandsTest/shouldDeleteResource.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeCommandsTest/shouldDeleteResource.xml
@@ -1,8 +1,8 @@
<dataset>
- <projects id="1" uuid="uuid_1" enabled="[true]" root_id="[null]"
+ <projects id="1" uuid="uuid_1" enabled="[true]" root_uuid="uuid_1"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"/>
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"/>
<snapshots id="1" component_uuid="uuid_1" parent_snapshot_id="[null]" root_component_uuid="uuid_1" root_snapshot_id="[null]"
status="P" islast="[false]" purge_status="[null]"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_file_sources_of_disabled_resources.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_file_sources_of_disabled_resources.xml
index 00546fd11e7..01da01c229e 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_file_sources_of_disabled_resources.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_file_sources_of_disabled_resources.xml
@@ -1,30 +1,30 @@
<dataset>
<!-- the project -->
- <projects id="1" enabled="[true]" root_id="[null]" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
+ <projects id="1" enabled="[true]" root_uuid="ABCD" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
module_uuid_path="." created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the directory -->
- <projects id="2" enabled="[true]" root_id="1" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD"
+ <projects id="2" enabled="[true]" root_uuid="ABCD" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD"
module_uuid_path="." created_at="[null]"
long_name="[null]" scope="DIR" qualifier="DIR" kee="project:my/dir" name="my/dir"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the files -->
- <projects id="3" enabled="[true]" root_id="1" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
+ <projects id="3" enabled="[true]" root_uuid="ABCD" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
module_uuid_path=".ABCD." created_at="[null]"
long_name="[null]" scope="FIL" qualifier="FIL" kee="project:my/dir/File.java" name="my/dir/File.java"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
- <projects id="4" enabled="[true]" root_id="1" uuid="KLMN" project_uuid="ABCD" module_uuid="ABCD"
+ <projects id="4" enabled="[true]" root_uuid="ABCD" uuid="KLMN" project_uuid="ABCD" module_uuid="ABCD"
module_uuid_path=".ABCD." created_at="[null]"
long_name="[null]" scope="FIL" qualifier="FIL" kee="project:my/dir/DeletedFile.java"
name="my/dir/DeletedFile.java"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<snapshots id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_project_in_ce_activity_when_deleting_project.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_project_in_ce_activity_when_deleting_project.xml
index b357e0afd7b..14aab1abc4e 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_project_in_ce_activity_when_deleting_project.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_project_in_ce_activity_when_deleting_project.xml
@@ -4,7 +4,7 @@
<projects id="1" enabled="[true]" root_id="[null]"
uuid="A" project_uuid="A" module_uuid="[null]" module_uuid_path=".A."
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml
index e9a7fbb175c..157ac6440f9 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml
@@ -9,24 +9,24 @@ What has been changed :
<dataset>
<!-- the project -->
- <projects id="1" enabled="[false]" root_id="[null]" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
+ <projects id="1" enabled="[false]" root_uuid="ABCD" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
module_uuid_path="." created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the directory -->
- <projects id="2" enabled="[false]" root_id="1" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path="."
+ <projects id="2" enabled="[false]" root_uuid="ABCD" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path="."
created_at="[null]"
long_name="[null]" scope="DIR" qualifier="DIR" kee="project:my/dir" name="my/dir"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the file -->
- <projects id="3" enabled="[false]" root_id="1" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
+ <projects id="3" enabled="[false]" root_uuid="ABCD" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
module_uuid_path=".ABCD." created_at="[null]"
long_name="[null]" scope="FIL" qualifier="FIL" kee="project:my/dir/File.java" name="my/dir/File.java"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<snapshots id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml
index c229efccb3b..e252c3f9689 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml
@@ -1,24 +1,24 @@
<dataset>
<!-- the project -->
- <projects id="1" enabled="[true]" root_id="[null]" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
+ <projects id="1" enabled="[true]" root_uuid="ABCD" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
module_uuid_path="." created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the directory -->
- <projects id="2" enabled="[true]" root_id="1" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path="."
+ <projects id="2" enabled="[true]" root_uuid="ABCD" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path="."
created_at="[null]"
long_name="[null]" scope="DIR" qualifier="DIR" kee="project:my/dir" name="my/dir"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the file -->
- <projects id="3" enabled="[true]" root_id="1" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
+ <projects id="3" enabled="[true]" root_uuid="ABCD" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
module_uuid_path=".ABCD." created_at="[null]"
long_name="[null]" scope="FIL" qualifier="FIL" kee="project:my/dir/File.java" name="my/dir/File.java"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<snapshots id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds-result.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds-result.xml
index 1165b2514bf..ade3fd7d21e 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds-result.xml
@@ -9,7 +9,7 @@ Snapshot 2 has been deleted
<projects id="1" enabled="[true]" root_id="[null]"
uuid="projectUUID" project_uuid="projectUUID"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<!-- past snapshot with status "processed" and already purged -->
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds.xml
index d80f257666d..9d795b7ea83 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds.xml
@@ -1,10 +1,10 @@
<dataset>
<!-- the project -->
- <projects id="1" enabled="[true]" root_id="[null]"
+ <projects id="1" enabled="[true]" root_uuid="projectUUID"
uuid="projectUUID" project_uuid="projectUUID"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<!-- past snapshot with status "processed" and already purged -->
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml
index 763a93149ce..13c04211962 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml
@@ -7,24 +7,24 @@ What has been changed : purge_status=1 on snapshot 4 (PRJ) and snapshots 5 and 6
<dataset>
<!-- the project -->
- <projects id="1" enabled="[true]" root_id="[null]" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
+ <projects id="1" enabled="[true]" root_uuid="ABCD" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
module_uuid_path="." created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the directory -->
- <projects id="2" enabled="[true]" root_id="1" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path="."
+ <projects id="2" enabled="[true]" root_uuid="ABCD" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path="."
created_at="[null]"
long_name="[null]" scope="DIR" qualifier="DIR" kee="project:my/dir" name="my/dir"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the file -->
- <projects id="3" enabled="[true]" root_id="1" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
+ <projects id="3" enabled="[true]" root_uuid="ABCD" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
module_uuid_path=".ABCD." created_at="[null]"
long_name="[null]" scope="FIL" qualifier="FIL" kee="project:my/dir/File.java" name="my/dir/File.java"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- do not purge last snapshots -->
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml
index 1a20054a9cd..52ea5d63dee 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml
@@ -1,24 +1,24 @@
<dataset>
<!-- the project -->
- <projects id="1" enabled="[true]" root_id="[null]" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
+ <projects id="1" enabled="[true]" root_uuid="ABCD" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]"
module_uuid_path="." created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the directory -->
- <projects id="2" enabled="[true]" root_id="1" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path="."
+ <projects id="2" enabled="[true]" root_uuid="ABCD" uuid="EFGH" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path="."
created_at="[null]"
long_name="[null]" scope="DIR" qualifier="DIR" kee="project:my/dir" name="my/dir"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- the file -->
- <projects id="3" enabled="[true]" root_id="1" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
+ <projects id="3" enabled="[true]" root_uuid="ABCD" uuid="GHIJ" project_uuid="ABCD" module_uuid="ABCD"
module_uuid_path=".ABCD." created_at="[null]"
long_name="[null]" scope="FIL" qualifier="FIL" kee="project:my/dir/File.java" name="my/dir/File.java"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]" path="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]" path="[null]"
deprecated_kee="[null]" authorization_updated_at="[null]"/>
<!-- do not purge last snapshots -->
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteProject.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteProject.xml
index 492010d763a..fb03c68f429 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteProject.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteProject.xml
@@ -1,10 +1,10 @@
<dataset>
<!-- root -->
- <projects id="1" enabled="[true]" root_id="[null]"
+ <projects id="1" enabled="[true]" root_uuid="A"
uuid="A" project_uuid="A" module_uuid="[null]" module_uuid_path=".A."
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="1" component_uuid="A" parent_snapshot_id="[null]" root_component_uuid="A" root_snapshot_id="[null]"
@@ -52,10 +52,10 @@
change_type="comment" change_data="abc"/>
<!-- modules -->
- <projects id="2" enabled="[true]" root_id="1"
+ <projects id="2" enabled="[true]" root_uuid="A"
uuid="B" project_uuid="A" module_uuid="A" module_uuid_path=".A.B."
long_name="[null]" scope="PRJ" qualifier="BRC" kee="module1" name="module1"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="2" component_uuid="B" parent_snapshot_id="1" root_component_uuid="A" root_snapshot_id="1"
@@ -70,10 +70,10 @@
version="[null]" path="[null]"/>
- <projects id="3" enabled="[false]" root_id="1"
+ <projects id="3" enabled="[false]" root_uuid="A"
uuid="C" project_uuid="A" module_uuid="A" module_uuid_path=".A.C."
long_name="[null]" scope="PRJ" qualifier="BRC" kee="module2" name="module2"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="3" component_uuid="C" parent_snapshot_id="1" root_component_uuid="A" root_snapshot_id="1"
@@ -88,10 +88,10 @@
version="[null]" path="[null]"/>
<!-- file of module 2-->
- <projects id="4" enabled="[false]" root_id="3"
+ <projects id="4" enabled="[false]" root_uuid="C"
uuid="D" project_uuid="A" module_uuid="C" module_uuid_path=".A.C."
long_name="[null]" scope="FIL" qualifier="FIL" kee="module2:File.java" name="File"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="4" component_uuid="D" parent_snapshot_id="3" root_component_uuid="A" root_snapshot_id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject-result.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject-result.xml
index 59212cb0831..3f85b38406c 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject-result.xml
@@ -4,7 +4,7 @@
<projects id="1" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="." enabled="[true]"
created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- root_id="[null]" description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ root_uuid="ABCD" description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
path="[null]" deprecated_kee="[null]"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject.xml
index c4b9ccba430..6d59eb0ff86 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject.xml
@@ -4,7 +4,7 @@
<projects id="1" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="." enabled="[true]"
created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- root_id="[null]" description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ root_uuid="ABCD" description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
path="[null]" deprecated_kee="[null]"
authorization_updated_at="[null]"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml
index ae336142fdf..89d73329dca 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml
@@ -7,7 +7,7 @@
<projects id="1" uuid="1" enabled="[true]" root_id="[null]" created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues.xml
index 348c6520e65..9e92f34618b 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues.xml
@@ -1,8 +1,8 @@
<dataset>
- <projects id="1" uuid="1" enabled="[true]" root_id="[null]" created_at="[null]"
+ <projects id="1" uuid="1" enabled="[true]" root_uuid="1" created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml
index 4dad1831f6c..ab94caed6e5 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml
@@ -2,7 +2,7 @@
<projects id="1" uuid="P1" enabled="[true]" root_id="[null]" created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues.xml
index 17230f4310e..7735736555a 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues.xml
@@ -1,8 +1,8 @@
<dataset>
- <projects id="1" uuid="P1" enabled="[true]" root_id="[null]" created_at="[null]"
+ <projects id="1" uuid="P1" enabled="[true]" root_uuid="P1" created_at="[null]"
long_name="[null]" scope="PRJ" qualifier="TRK" kee="project" name="project"
- description="[null]" language="java" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="java" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<snapshots id="1"
diff --git a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/view_sub_view_and_tech_project.xml b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/view_sub_view_and_tech_project.xml
index f2e519eb559..db564d7da73 100644
--- a/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/view_sub_view_and_tech_project.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/purge/PurgeDaoTest/view_sub_view_and_tech_project.xml
@@ -1,30 +1,30 @@
<dataset>
<!-- view -->
- <projects id="1" enabled="[true]" root_id="[null]"
+ <projects id="1" enabled="[true]" root_uuid="A"
uuid="A" project_uuid="A" module_uuid="[null]" module_uuid_path=".A."
long_name="[null]" scope="PRJ" qualifier="VW" kee="view" name="view"
- description="[null]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<!-- sub views -->
- <projects id="2" enabled="[true]" root_id="1"
+ <projects id="2" enabled="[true]" root_uuid="A"
uuid="B" project_uuid="A" module_uuid="A" module_uuid_path=".A.B."
long_name="[null]" scope="PRJ" qualifier="SVW" kee="subview1" name="subview2"
- description="[null]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
- <projects id="3" enabled="[false]" root_id="1"
+ <projects id="3" enabled="[false]" root_uuid="A"
uuid="C" project_uuid="A" module_uuid="A" module_uuid_path=".A.C."
long_name="[null]" scope="PRJ" qualifier="SVW" kee="subview2" name="subview2"
- description="[null]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
<!-- technical project of module 2-->
- <projects id="4" enabled="[false]" root_id="3"
+ <projects id="4" enabled="[false]" root_uuid="C"
uuid="D" project_uuid="A" module_uuid="C" module_uuid_path=".A.C."
long_name="[null]" scope="FIL" qualifier="TRK" kee="TechProject" name="TechProject"
- description="[null]" language="[null]" copy_resource_id="[null]" person_id="[null]"
+ description="[null]" language="[null]" copy_component_uuid="[null]" developer_uuid="[null]"
authorization_updated_at="[null]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest/shared.xml b/sonar-db/src/test/resources/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest/shared.xml
index c58db5391e2..8f719037338 100644
--- a/sonar-db/src/test/resources/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest/shared.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest/shared.xml
@@ -3,13 +3,13 @@
<quality_gates id="42" name="Golden"/>
<quality_gates id="43" name="Ninth"/>
- <projects id="1" uuid="A" kee="project-one" name="Project One" qualifier="TRK" scope="PRJ"/>
- <projects id="2" uuid="B" kee="project-two" name="Project Two" qualifier="TRK" scope="PRJ"/>
- <projects id="3" uuid="C" kee="project-three" name="Project Three" qualifier="TRK" scope="PRJ"/>
- <projects id="4" uuid="D" kee="project-four" name="Project Four" qualifier="TRK" scope="PRJ"/>
- <projects id="5" uuid="E" kee="project-five" name="Project Five" qualifier="TRK" scope="PRJ"/>
- <projects id="6" uuid="F" kee="view-six" name="View Six" qualifier="VW" scope="PRJ"/>
- <projects id="7" uuid="G" kee="file-one" name="File One" qualifier="TRK" scope="FIL"/>
+ <projects id="1" uuid="A" root_uuid="A" kee="project-one" name="Project One" qualifier="TRK" scope="PRJ"/>
+ <projects id="2" uuid="B" root_uuid="B" kee="project-two" name="Project Two" qualifier="TRK" scope="PRJ"/>
+ <projects id="3" uuid="C" root_uuid="C" kee="project-three" name="Project Three" qualifier="TRK" scope="PRJ"/>
+ <projects id="4" uuid="D" root_uuid="D" kee="project-four" name="Project Four" qualifier="TRK" scope="PRJ"/>
+ <projects id="5" uuid="E" root_uuid="E" kee="project-five" name="Project Five" qualifier="TRK" scope="PRJ"/>
+ <projects id="6" uuid="F" root_uuid="F" kee="view-six" name="View Six" qualifier="VW" scope="PRJ"/>
+ <projects id="7" uuid="G" root_uuid="G" kee="file-one" name="File One" qualifier="TRK" scope="FIL"/>
<resource_index id="1" kee="project one" component_uuid="A" root_component_uuid="A" position="0" name_size="11"
qualifier="TRK"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/qualityprofile/QualityProfileDaoTest/projects.xml b/sonar-db/src/test/resources/org/sonar/db/qualityprofile/QualityProfileDaoTest/projects.xml
index 94df8ad98ee..32f6c7c7262 100644
--- a/sonar-db/src/test/resources/org/sonar/db/qualityprofile/QualityProfileDaoTest/projects.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/qualityprofile/QualityProfileDaoTest/projects.xml
@@ -5,9 +5,9 @@
<rules_profiles id="2" name="Sonar Way" language="js" parent_kee="[null]" kee="js_sonar_way" is_default="[true]"
rules_updated_at="[null]" created_at="[null]" updated_at="[null]"/>
- <projects id="1" uuid="A" kee="org.codehaus.sonar:sonar" name="SonarQube" enabled="[true]"/>
- <projects id="2" uuid="B" kee="org.codehaus.sonar-plugins.java:java" name="SonarQube Java" enabled="[true]"/>
- <projects id="3" uuid="C" kee="disabled:project" name="Disabled Project" enabled="[false]"/>
+ <projects id="1" uuid="A" root_uuid="A" kee="org.codehaus.sonar:sonar" name="SonarQube" enabled="[true]"/>
+ <projects id="2" uuid="B" root_uuid="B" kee="org.codehaus.sonar-plugins.java:java" name="SonarQube Java" enabled="[true]"/>
+ <projects id="3" uuid="C" root_uuid="C" kee="disabled:project" name="Disabled Project" enabled="[false]"/>
<project_qprofiles id="1" project_uuid="A" profile_key="java_sonar_way"/>
<project_qprofiles id="2" project_uuid="B" profile_key="java_sonar_way"/>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/anonymous_should_be_authorized.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/anonymous_should_be_authorized.xml
index f5730087a21..47b03de71a5 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/anonymous_should_be_authorized.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/anonymous_should_be_authorized.xml
@@ -5,10 +5,10 @@
<group_roles id="1" group_id="[null]" resource_id="300" role="user"/>
<group_roles id="2" group_id="[null]" resource_id="400" role="user"/>
- <projects id="301" kee="pj-w-snapshot:package" root_id="300" uuid="ABCD" module_uuid="EDFG"/>
- <projects id="302" kee="pj-w-snapshot:file" root_id="300" uuid="BCDE" module_uuid="EDFG"/>
- <projects id="303" kee="pj-w-snapshot:other" root_id="300" uuid="CDEF" module_uuid="EDFG"/>
- <projects id="300" kee="pj-w-snapshot" uuid="EDFG" module_uuid="[null]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="FGHI" project_uuid="FGHI"/>
+ <projects id="301" kee="pj-w-snapshot:package" root_uuid="EDFG" uuid="ABCD" module_uuid="EDFG"/>
+ <projects id="302" kee="pj-w-snapshot:file" root_uuid="EDFG" uuid="BCDE" module_uuid="EDFG"/>
+ <projects id="303" kee="pj-w-snapshot:other" root_uuid="EDFG" uuid="CDEF" module_uuid="EDFG"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="EDFG" root_uuid="EDFG" module_uuid="[null]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="FGHI" root_uuid="FGHI" project_uuid="FGHI"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/group_should_be_authorized.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/group_should_be_authorized.xml
index 7ffca0d6f5e..07ae52a0cc8 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/group_should_be_authorized.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/group_should_be_authorized.xml
@@ -7,10 +7,10 @@
<group_roles id="1" group_id="200" resource_id="300" role="user"/>
<group_roles id="2" group_id="200" resource_id="400" role="user"/>
- <projects id="301" kee="pj-w-snapshot:package" root_id="300" uuid="ABCD" module_uuid="DEFG"/>
- <projects id="302" kee="pj-w-snapshot:file" root_id="300" uuid="BCDE" module_uuid="DEFG"/>
- <projects id="303" kee="pj-w-snapshot:other" root_id="300" uuid="CDEF" module_uuid="DEFG"/>
- <projects id="300" kee="pj-w-snapshot" uuid="DEFG" module_uuid="[null]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" module_uuid="[null]"/>
+ <projects id="301" kee="pj-w-snapshot:package" root_uuid="DEFG" uuid="ABCD" module_uuid="DEFG"/>
+ <projects id="302" kee="pj-w-snapshot:file" root_uuid="DEFG" uuid="BCDE" module_uuid="DEFG"/>
+ <projects id="303" kee="pj-w-snapshot:other" root_uuid="DEFG" uuid="CDEF" module_uuid="DEFG"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" root_uuid="EFGH" module_uuid="[null]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_anonymous.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_anonymous.xml
index 1c21104a7b6..e02308c9bc1 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_anonymous.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_anonymous.xml
@@ -4,7 +4,7 @@
<group_roles id="1" group_id="[null]" resource_id="300" role="user"/>
<group_roles id="2" group_id="200" resource_id="400" role="codeviewer"/>
- <projects id="300" kee="pj-w-snapshot" uuid="DEFG" module_uuid="[null]" enabled="[true]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" module_uuid="[null]" enabled="[true]"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]" enabled="[true]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" root_uuid="EFGH" module_uuid="[null]" enabled="[true]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_group.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_group.xml
index 17e6323ccd6..593f2936ac6 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_group.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_group.xml
@@ -4,7 +4,7 @@
<group_roles id="1" group_id="200" resource_id="300" role="user"/>
<group_roles id="2" group_id="200" resource_id="400" role="codeviewer"/>
- <projects id="300" kee="pj-w-snapshot" uuid="DEFG" module_uuid="[null]" enabled="[true]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" module_uuid="[null]" enabled="[true]"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]" enabled="[true]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" root_uuid="EFGH" module_uuid="[null]" enabled="[true]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_user.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_user.xml
index 515adaa8f48..e2994285531 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_user.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_project_ids_for_user.xml
@@ -4,7 +4,7 @@
<user_roles id="1" user_id="100" resource_id="300" role="user"/>
<user_roles id="2" user_id="100" resource_id="400" role="codeviewer"/>
- <projects id="300" kee="pj-w-snapshot" uuid="DEFG" module_uuid="[null]" enabled="[true]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" module_uuid="[null]" enabled="[true]"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]" enabled="[true]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" root_uuid="EFGH" module_uuid="[null]" enabled="[true]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_anonymous.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_anonymous.xml
index 4de4f328925..b7b48ed7ea9 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_anonymous.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_anonymous.xml
@@ -12,7 +12,7 @@
<group_roles id="1" group_id="[null]" resource_id="300" role="user"/>
<group_roles id="2" group_id="201" resource_id="400" role="user"/>
- <projects id="300" kee="pj-w-snapshot" uuid="DEFG" module_uuid="[null]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" module_uuid="[null]"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" root_uuid="EFGH" module_uuid="[null]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_group.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_group.xml
index c813b02e6f8..a354439d560 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_group.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_group.xml
@@ -12,7 +12,7 @@
<group_roles id="1" group_id="200" resource_id="300" role="user"/>
<group_roles id="2" group_id="201" resource_id="400" role="user"/>
- <projects id="300" kee="pj-w-snapshot" uuid="DEFG" module_uuid="[null]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" module_uuid="[null]"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" root_uuid="EFGH" module_uuid="[null]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_user.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_user.xml
index e6328ec9654..0fa56c9ee59 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_user.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_user.xml
@@ -9,7 +9,7 @@
<groups_users user_id="100" group_id="200"/>
<group_roles id="1" group_id="200" resource_id="400" role="user"/>
- <projects id="300" kee="pj-w-snapshot" uuid="DEFG" module_uuid="[null]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" module_uuid="[null]"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" root_uuid="EFGH" module_uuid="[null]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_anonymous.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_anonymous.xml
index a1aa1f05a76..7db6a43c676 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_anonymous.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_anonymous.xml
@@ -4,13 +4,13 @@
<groups_users user_id="100" group_id="200"/>
<group_roles id="1" group_id="[null]" resource_id="300" role="user"/>
- <projects id="300" uuid="ABCD" module_uuid="[null]" kee="pj-w-snapshot" scope="PRJ" qualifier="TRK" enabled="[true]"/>
- <projects id="301" uuid="BCDE" module_uuid="[null]" kee="pj-w-snapshot1" scope="PRJ" qualifier="TRK"
+ <projects id="300" uuid="ABCD" root_uuid="ABCD" module_uuid="[null]" kee="pj-w-snapshot" scope="PRJ" qualifier="TRK" enabled="[true]"/>
+ <projects id="301" uuid="BCDE" root_uuid="BCDE" module_uuid="[null]" kee="pj-w-snapshot1" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
- <projects id="302" uuid="CDEF" module_uuid="[null]" kee="pj-w-snapshot2" scope="PRJ" qualifier="TRK"
+ <projects id="302" uuid="CDEF" root_uuid="CDEF" module_uuid="[null]" kee="pj-w-snapshot2" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
- <projects id="303" uuid="DEFG" module_uuid="[null]" kee="pj-w-snapshot3" scope="PRJ" qualifier="TRK"
+ <projects id="303" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]" kee="pj-w-snapshot3" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_group.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_group.xml
index 93682166701..bf24717a9b9 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_group.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_group.xml
@@ -6,13 +6,13 @@
<groups_users user_id="100" group_id="200"/>
<group_roles id="1" group_id="200" resource_id="300" role="user"/>
- <projects id="300" uuid="ABCD" module_uuid="[null]" kee="pj-w-snapshot" scope="PRJ" qualifier="TRK" enabled="[true]"/>
- <projects id="301" uuid="BCDE" module_uuid="[null]" kee="pj-w-snapshot1" scope="PRJ" qualifier="TRK"
+ <projects id="300" uuid="ABCD" root_uuid="ABCD" module_uuid="[null]" kee="pj-w-snapshot" scope="PRJ" qualifier="TRK" enabled="[true]"/>
+ <projects id="301" uuid="BCDE" root_uuid="BCDE" module_uuid="[null]" kee="pj-w-snapshot1" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
- <projects id="302" uuid="CDEF" module_uuid="[null]" kee="pj-w-snapshot2" scope="PRJ" qualifier="TRK"
+ <projects id="302" uuid="CDEF" root_uuid="CDEF" module_uuid="[null]" kee="pj-w-snapshot2" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
- <projects id="303" uuid="DEFG" module_uuid="[null]" kee="pj-w-snapshot3" scope="PRJ" qualifier="TRK"
+ <projects id="303" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]" kee="pj-w-snapshot3" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_user.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_user.xml
index 060223cdfbd..6ddf4cd5cda 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_user.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/should_return_root_project_keys_for_user.xml
@@ -5,13 +5,13 @@
<groups_users user_id="100" group_id="200"/>
<group_roles id="1" group_id="200" resource_id="999" role="user"/>
- <projects id="300" uuid="ABCD" module_uuid="[null]" kee="pj-w-snapshot" scope="PRJ" qualifier="TRK" enabled="[true]"/>
- <projects id="301" uuid="BCDE" module_uuid="[null]" kee="pj-w-snapshot1" scope="PRJ" qualifier="TRK"
+ <projects id="300" uuid="ABCD" root_uuid="ABCD" module_uuid="[null]" kee="pj-w-snapshot" scope="PRJ" qualifier="TRK" enabled="[true]"/>
+ <projects id="301" uuid="BCDE" root_uuid="BCDE" module_uuid="[null]" kee="pj-w-snapshot1" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
- <projects id="302" uuid="CDEF" module_uuid="[null]" kee="pj-w-snapshot2" scope="PRJ" qualifier="TRK"
+ <projects id="302" uuid="CDEF" root_uuid="CDEF" module_uuid="[null]" kee="pj-w-snapshot2" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
- <projects id="303" uuid="DEFG" module_uuid="[null]" kee="pj-w-snapshot3" scope="PRJ" qualifier="TRK"
+ <projects id="303" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]" kee="pj-w-snapshot3" scope="PRJ" qualifier="TRK"
enabled="[true]"/>
</dataset>
diff --git a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/user_should_be_authorized.xml b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/user_should_be_authorized.xml
index 3771e09738d..5bed484123e 100644
--- a/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/user_should_be_authorized.xml
+++ b/sonar-db/src/test/resources/org/sonar/db/user/AuthorizationDaoTest/user_should_be_authorized.xml
@@ -6,6 +6,6 @@
<groups_users user_id="100" group_id="200"/>
<group_roles id="1" group_id="200" resource_id="999" role="user"/>
- <projects id="300" kee="pj-w-snapshot" uuid="DEFG" module_uuid="[null]"/>
- <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" module_uuid="[null]"/>
+ <projects id="300" kee="pj-w-snapshot" uuid="DEFG" root_uuid="DEFG" module_uuid="[null]"/>
+ <projects id="400" kee="pj-wo-snapshot" uuid="EFGH" root_uuid="EFGH" module_uuid="[null]"/>
</dataset>