aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowAction.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowData.java18
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/ws/TreeAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/component/ProjectViewAttributes.java11
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java8
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexComponentsStep.java7
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/step/LoadPeriodsStep.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/step/PeriodResolver.java22
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistSnapshotsStep.java14
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/step/ValidateProjectStep.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterSql.java8
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/custom/ws/SearchAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentTreeDataLoader.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualitygate/ws/ProjectStatusAction.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentNavigationAction.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java7
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/measure/MeasureToMeasureDtoTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexComponentsStepTest.java16
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportPersistSnapshotsStepTest.java61
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistComponentsStepTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistSnapshotsStepTest.java42
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentNavigationActionTest.java2
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/computation/measure/MeasureRepositoryImplTest/shared.xml6
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/no_previous_version.xml10
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_deleted.xml6
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_is_last_one.xml2
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/shared.xml10
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/unprocessed_snapshots.xml2
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots-result.xml30
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots.xml30
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_component_id_from_db.xml4
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_project_id_from_db.xml4
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_insert_new_issues.xml4
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_update_issues.xml4
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/escape_percent_and_underscore_when_filter_by_component_name_or_key.xml8
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_person_measures.xml2
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_quality_model_measures.xml2
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/shared.xml10
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/sort_by_alert.xml6
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/platform/BackendCleanupMediumTest/shared.xml2
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/view/index/ViewIndexerTest/index.xml18
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb6
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb26
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb10
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb4
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb10
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb4
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb12
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb8
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb20
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb6
54 files changed, 250 insertions, 266 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowAction.java b/server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowAction.java
index df6dbdd5010..6e8c9c09506 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowAction.java
@@ -96,13 +96,13 @@ public class ShowAction implements ComponentsWsAction {
DbSession dbSession = dbClient.openSession(false);
try {
ComponentDto component = getComponentByUuidOrKey(dbSession, request);
- SnapshotDto lastSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentId(dbSession, component.getId());
+ SnapshotDto lastSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(dbSession, component.uuid());
List<ComponentDto> orderedAncestors = emptyList();
if (lastSnapshot != null) {
ShowData.Builder showDataBuilder = ShowData.builder(lastSnapshot);
List<SnapshotDto> ancestorsSnapshots = dbClient.snapshotDao().selectByIds(dbSession, showDataBuilder.getOrderedSnapshotIds());
showDataBuilder.withAncestorsSnapshots(ancestorsSnapshots);
- List<ComponentDto> ancestorComponents = dbClient.componentDao().selectByIds(dbSession, showDataBuilder.getOrderedComponentIds());
+ List<ComponentDto> ancestorComponents = dbClient.componentDao().selectByUuids(dbSession, showDataBuilder.getOrderedComponentUuids());
ShowData showData = showDataBuilder.andAncestorComponents(ancestorComponents);
orderedAncestors = showData.getComponents();
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowData.java b/server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowData.java
index e5f3d22f082..9b090941d4a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowData.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/ws/ShowData.java
@@ -52,7 +52,7 @@ class ShowData {
static class Builder {
private Ordering<SnapshotDto> snapshotOrdering;
private List<Long> orderedSnapshotIds;
- private List<Long> orderedComponentIds;
+ private List<String> orderedComponentUuids;
private Builder(SnapshotDto snapshot) {
List<String> orderedSnapshotIdsAsString = snapshot.getPath() == null ? Collections.<String>emptyList() : Splitter.on(".").omitEmptyStrings().splitToList(snapshot.getPath());
@@ -67,20 +67,20 @@ class ShowData {
checkNotNull(snapshotOrdering, "Snapshot must be set before the ancestors");
checkState(orderedSnapshotIds.size() == ancestorsSnapshots.size(), "Missing ancestor");
- orderedComponentIds = Lists.transform(
+ orderedComponentUuids = Lists.transform(
snapshotOrdering.immutableSortedCopy(ancestorsSnapshots),
- SnapshotDtoFunctions.toComponentId());
+ SnapshotDtoFunctions.toComponentUuid());
return this;
}
ShowData andAncestorComponents(List<ComponentDto> ancestorComponents) {
- checkNotNull(orderedComponentIds, "Snapshot ancestors must be set before the component ancestors");
- checkState(orderedComponentIds.size() == ancestorComponents.size(), "Missing ancestor");
+ checkNotNull(orderedComponentUuids, "Snapshot ancestors must be set before the component ancestors");
+ checkState(orderedComponentUuids.size() == ancestorComponents.size(), "Missing ancestor");
return new ShowData(Ordering
- .explicit(orderedComponentIds)
- .onResultOf(ComponentDtoFunctions.toId())
+ .explicit(orderedComponentUuids)
+ .onResultOf(ComponentDtoFunctions.toUuid())
.immutableSortedCopy(ancestorComponents));
}
@@ -88,8 +88,8 @@ class ShowData {
return orderedSnapshotIds;
}
- List<Long> getOrderedComponentIds() {
- return orderedComponentIds;
+ List<String> getOrderedComponentUuids() {
+ return orderedComponentUuids;
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ws/TreeAction.java b/server/sonar-server/src/main/java/org/sonar/server/component/ws/TreeAction.java
index 6c318f50ce1..3ba6e4d9c96 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/ws/TreeAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/ws/TreeAction.java
@@ -158,7 +158,7 @@ public class TreeAction implements ComponentsWsAction {
try {
ComponentDto baseComponent = componentFinder.getByUuidOrKey(dbSession, treeWsRequest.getBaseComponentId(), treeWsRequest.getBaseComponentKey(), BASE_COMPONENT_ID_AND_KEY);
checkPermissions(baseComponent);
- SnapshotDto baseSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentId(dbSession, baseComponent.getId());
+ SnapshotDto baseSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(dbSession, baseComponent.uuid());
if (baseSnapshot == null) {
return emptyResponse(baseComponent, treeWsRequest);
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/component/ProjectViewAttributes.java b/server/sonar-server/src/main/java/org/sonar/server/computation/component/ProjectViewAttributes.java
index 0f704cf499c..2b1b0cb2c87 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/component/ProjectViewAttributes.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/component/ProjectViewAttributes.java
@@ -21,22 +21,31 @@ package org.sonar.server.computation.component;
import javax.annotation.concurrent.Immutable;
+import static java.util.Objects.requireNonNull;
+
@Immutable
public class ProjectViewAttributes {
private final long projectId;
+ private final String projectUuid;
- public ProjectViewAttributes(long projectId) {
+ public ProjectViewAttributes(long projectId, String projectUuid) {
this.projectId = projectId;
+ this.projectUuid = requireNonNull(projectUuid, "projectUuid can't be null");
}
public long getProjectId() {
return projectId;
}
+ public String getProjectUuid() {
+ return projectUuid;
+ }
+
@Override
public String toString() {
return "ProjectViewAttributes{" +
"projectId=" + projectId +
+ ", projectUuid='" + projectUuid + '\'' +
'}';
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java b/server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java
index 140bb6ea872..2e9e064007f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java
@@ -59,7 +59,7 @@ public class ProjectCleaner {
PurgeConfiguration configuration = newDefaultPurgeConfiguration(projectSettings, idUuidPair);
- cleanHistoricalData(session, configuration.rootProjectIdUuid().getId(), projectSettings);
+ cleanHistoricalData(session, configuration.rootProjectIdUuid().getUuid(), projectSettings);
doPurge(session, configuration);
session.commit();
@@ -76,12 +76,12 @@ public class ProjectCleaner {
}
}
- private void cleanHistoricalData(DbSession session, long resourceId, Settings settings) {
+ private void cleanHistoricalData(DbSession session, String componentUuid, Settings settings) {
try {
- periodCleaner.clean(session, resourceId, settings);
+ periodCleaner.clean(session, componentUuid, settings);
} catch (Exception e) {
// purge errors must no fail the batch
- LOG.error("Fail to clean historical data [id=" + resourceId + "]", e);
+ LOG.error("Fail to clean historical data [uuid=" + componentUuid + "]", e);
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexComponentsStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexComponentsStep.java
index dd155cf1571..b2ce8801129 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexComponentsStep.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexComponentsStep.java
@@ -20,7 +20,6 @@
package org.sonar.server.computation.step;
import org.sonar.db.component.ResourceIndexDao;
-import org.sonar.server.computation.component.DbIdsRepository;
import org.sonar.server.computation.component.TreeRootHolder;
/**
@@ -29,18 +28,16 @@ import org.sonar.server.computation.component.TreeRootHolder;
public class IndexComponentsStep implements ComputationStep {
private final ResourceIndexDao resourceIndexDao;
- private final DbIdsRepository dbIdsRepository;
private final TreeRootHolder treeRootHolder;
- public IndexComponentsStep(ResourceIndexDao resourceIndexDao, DbIdsRepository dbIdsRepository, TreeRootHolder treeRootHolder) {
+ public IndexComponentsStep(ResourceIndexDao resourceIndexDao, TreeRootHolder treeRootHolder) {
this.resourceIndexDao = resourceIndexDao;
- this.dbIdsRepository = dbIdsRepository;
this.treeRootHolder = treeRootHolder;
}
@Override
public void execute() {
- resourceIndexDao.indexProject(dbIdsRepository.getComponentId(treeRootHolder.getRoot()));
+ resourceIndexDao.indexProject(treeRootHolder.getRoot().getUuid());
}
@Override
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/LoadPeriodsStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/LoadPeriodsStep.java
index 9a0ef5c9aa5..138895e63d9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/LoadPeriodsStep.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/LoadPeriodsStep.java
@@ -102,7 +102,7 @@ public class LoadPeriodsStep implements ComputationStep {
}
boolean isReportType = projectOrView.getType().isReportType();
- PeriodResolver periodResolver = new PeriodResolver(dbClient, session, projectDto.get().getId(), analysisMetadataHolder.getAnalysisDate(),
+ PeriodResolver periodResolver = new PeriodResolver(dbClient, session, projectDto.get().uuid(), analysisMetadataHolder.getAnalysisDate(),
isReportType ? projectOrView.getReportAttributes().getVersion() : null,
isReportType ? Qualifiers.PROJECT : Qualifiers.VIEW);
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PeriodResolver.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PeriodResolver.java
index 7f58aa9946a..2991cf3140f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PeriodResolver.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PeriodResolver.java
@@ -52,16 +52,16 @@ public class PeriodResolver {
private final DbClient dbClient;
private final DbSession session;
- private final long projectId;
+ private final String projectUuid;
private final long analysisDate;
@CheckForNull
private final String currentVersion;
private final String qualifier;
- public PeriodResolver(DbClient dbClient, DbSession session, long projectId, long analysisDate, @Nullable String currentVersion, String qualifier) {
+ public PeriodResolver(DbClient dbClient, DbSession session, String projectUuid, long analysisDate, @Nullable String currentVersion, String qualifier) {
this.dbClient = dbClient;
this.session = session;
- this.projectId = projectId;
+ this.projectUuid = projectUuid;
this.analysisDate = analysisDate;
this.currentVersion = currentVersion;
this.qualifier = qualifier;
@@ -100,7 +100,7 @@ public class PeriodResolver {
}
private Period findByDate(int index, Date date) {
- SnapshotDto snapshot = findFirstSnapshot(session, createCommonQuery(projectId).setCreatedAfter(date.getTime()).setSort(BY_DATE, ASC));
+ SnapshotDto snapshot = findFirstSnapshot(session, createCommonQuery(projectUuid).setCreatedAfter(date.getTime()).setSort(BY_DATE, ASC));
if (snapshot == null) {
return null;
}
@@ -110,7 +110,7 @@ public class PeriodResolver {
@CheckForNull
private Period findByDays(int index, int days) {
- List<SnapshotDto> snapshots = dbClient.snapshotDao().selectSnapshotsByQuery(session, createCommonQuery(projectId).setCreatedBefore(analysisDate).setSort(BY_DATE, ASC));
+ List<SnapshotDto> snapshots = dbClient.snapshotDao().selectSnapshotsByQuery(session, createCommonQuery(projectUuid).setCreatedBefore(analysisDate).setSort(BY_DATE, ASC));
long targetDate = DateUtils.addDays(new Date(analysisDate), -days).getTime();
SnapshotDto snapshot = findNearestSnapshotToTargetDate(snapshots, targetDate);
if (snapshot == null) {
@@ -122,7 +122,7 @@ public class PeriodResolver {
@CheckForNull
private Period findByPreviousAnalysis(int index) {
- SnapshotDto snapshot = findFirstSnapshot(session, createCommonQuery(projectId).setCreatedBefore(analysisDate).setIsLast(true).setSort(BY_DATE, DESC));
+ SnapshotDto snapshot = findFirstSnapshot(session, createCommonQuery(projectUuid).setCreatedBefore(analysisDate).setIsLast(true).setSort(BY_DATE, DESC));
if (snapshot == null) {
return null;
}
@@ -135,7 +135,7 @@ public class PeriodResolver {
if (currentVersion == null) {
return null;
}
- List<SnapshotDto> snapshotDtos = dbClient.snapshotDao().selectPreviousVersionSnapshots(session, projectId, currentVersion);
+ List<SnapshotDto> snapshotDtos = dbClient.snapshotDao().selectPreviousVersionSnapshots(session, projectUuid, currentVersion);
if (snapshotDtos.isEmpty()) {
// If no previous version is found, the first analysis is returned
return findByFirstAnalysis(index);
@@ -147,7 +147,7 @@ public class PeriodResolver {
@CheckForNull
private Period findByFirstAnalysis(int index) {
- SnapshotDto snapshotDto = dbClient.snapshotDao().selectOldestSnapshot(session, projectId);
+ SnapshotDto snapshotDto = dbClient.snapshotDao().selectOldestSnapshot(session, projectUuid);
if (snapshotDto == null) {
return null;
}
@@ -157,7 +157,7 @@ public class PeriodResolver {
@CheckForNull
private Period findByVersion(int index, String version) {
- SnapshotDto snapshot = findFirstSnapshot(session, createCommonQuery(projectId).setVersion(version).setSort(BY_DATE, DESC));
+ SnapshotDto snapshot = findFirstSnapshot(session, createCommonQuery(projectUuid).setVersion(version).setSort(BY_DATE, DESC));
if (snapshot == null) {
return null;
}
@@ -198,8 +198,8 @@ public class PeriodResolver {
return nearest;
}
- private static SnapshotQuery createCommonQuery(Long projectId) {
- return new SnapshotQuery().setComponentId(projectId).setStatus(STATUS_PROCESSED);
+ private static SnapshotQuery createCommonQuery(String projectUuid) {
+ return new SnapshotQuery().setComponentUuid(projectUuid).setStatus(STATUS_PROCESSED);
}
private static String formatDate(long date) {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistSnapshotsStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistSnapshotsStep.java
index 98ed3a10794..3e2deea6419 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistSnapshotsStep.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistSnapshotsStep.java
@@ -67,7 +67,7 @@ public class PersistSnapshotsStep implements ComputationStep {
try {
new PathAwareCrawler<>(
new PersistSnapshotsPathAwareVisitor(session, analysisMetadataHolder.getAnalysisDate(), dbIdsRepository))
- .visit(treeRootHolder.getRoot());
+ .visit(treeRootHolder.getRoot());
session.commit();
} finally {
dbClient.closeSession(session);
@@ -80,7 +80,7 @@ public class PersistSnapshotsStep implements ComputationStep {
private final long analysisDate;
private final MutableDbIdsRepository dbIdsRepository;
- private long rootId;
+ private String rootUuid;
public PersistSnapshotsPathAwareVisitor(DbSession dbSession, long analysisDate, MutableDbIdsRepository dbIdsRepository) {
super(CrawlerDepthLimit.LEAVES, Order.PRE_ORDER, SnapshotDtoHolderFactory.INSTANCE);
@@ -91,7 +91,7 @@ public class PersistSnapshotsStep implements ComputationStep {
@Override
public void visitProject(Component project, Path<SnapshotDtoHolder> path) {
- this.rootId = dbIdsRepository.getComponentId(project);
+ this.rootUuid = project.getUuid();
SnapshotDto snapshot = createSnapshot(project, path, Qualifiers.PROJECT, Scopes.PROJECT, true);
updateSnapshotPeriods(snapshot);
commonForAnyVisit(project, path, snapshot);
@@ -118,7 +118,7 @@ public class PersistSnapshotsStep implements ComputationStep {
@Override
public void visitView(Component view, Path<SnapshotDtoHolder> path) {
- this.rootId = dbIdsRepository.getComponentId(view);
+ this.rootUuid = view.getUuid();
SnapshotDto snapshot = createSnapshot(view, path, Qualifiers.VIEW, Scopes.PROJECT, false);
updateSnapshotPeriods(snapshot);
commonForAnyVisit(view, path, snapshot);
@@ -157,11 +157,11 @@ public class PersistSnapshotsStep implements ComputationStep {
private SnapshotDto createSnapshot(Component component, Path<SnapshotDtoHolder> path,
String qualifier, String scope, boolean setVersion) {
- long componentId = dbIdsRepository.getComponentId(component);
+ String componentUuid = component.getUuid();
SnapshotDto snapshotDto = new SnapshotDto()
- .setRootProjectId(rootId)
+ .setRootComponentUuid(rootUuid)
.setVersion(setVersion ? component.getReportAttributes().getVersion() : null)
- .setComponentId(componentId)
+ .setComponentUuid(componentUuid)
.setQualifier(qualifier)
.setScope(scope)
.setLast(false)
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java
index 55dd22033c9..5f2706d816d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java
@@ -64,7 +64,7 @@ public class SwitchSnapshotStep implements ComputationStep {
private void disablePreviousSnapshot(DbSession session, long reportSnapshotId) {
List<SnapshotDto> snapshots = dbClient.snapshotDao().selectSnapshotAndChildrenOfProjectScope(session, reportSnapshotId);
for (SnapshotDto snapshot : snapshots) {
- SnapshotDto previousLastSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentId(session, snapshot.getComponentId());
+ SnapshotDto previousLastSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(session, snapshot.getComponentUuid());
if (previousLastSnapshot != null) {
dbClient.snapshotDao().updateSnapshotAndChildrenLastFlag(session, previousLastSnapshot, false);
session.commit();
@@ -75,7 +75,7 @@ public class SwitchSnapshotStep implements ComputationStep {
private void enableCurrentSnapshot(DbSession session, long reportSnapshotId) {
SnapshotDao dao = dbClient.snapshotDao();
SnapshotDto snapshot = dao.selectOrFailById(session, reportSnapshotId);
- SnapshotDto previousLastSnapshot = dao.selectLastSnapshotByComponentId(session, snapshot.getComponentId());
+ SnapshotDto previousLastSnapshot = dao.selectLastSnapshotByComponentUuid(session, snapshot.getComponentUuid());
boolean isLast = isLast(snapshot, previousLastSnapshot);
dao.updateSnapshotAndChildrenLastFlagAndStatus(session, snapshot, isLast, SnapshotDto.STATUS_PROCESSED);
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/ValidateProjectStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/ValidateProjectStep.java
index 7c5e805808e..32d9329bba7 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/ValidateProjectStep.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/ValidateProjectStep.java
@@ -147,7 +147,7 @@ public class ValidateProjectStep implements ComputationStep {
private void validateAnalysisDate(Optional<ComponentDto> baseProject) {
if (baseProject.isPresent()) {
- SnapshotDto snapshotDto = dbClient.snapshotDao().selectLastSnapshotByComponentId(session, baseProject.get().getId());
+ SnapshotDto snapshotDto = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(session, baseProject.get().uuid());
long currentAnalysisDate = analysisMetadataHolder.getAnalysisDate();
Long lastAnalysisDate = snapshotDto != null ? snapshotDto.getCreatedAt() : null;
if (lastAnalysisDate != null && currentAnalysisDate <= snapshotDto.getCreatedAt()) {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java
index fa98d0fc3f2..5fa880c1cf7 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java
@@ -250,7 +250,7 @@ public class IssueQueryService {
@CheckForNull
private Date findCreatedAfterFromComponentUuid(DbSession dbSession, String uuid) {
ComponentDto component = checkFoundWithOptional(componentService.getByUuid(uuid), "Component with id '%s' not found", uuid);
- SnapshotDto snapshot = dbClient.snapshotDao().selectLastSnapshotByComponentId(dbSession, component.getId());
+ SnapshotDto snapshot = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(dbSession, component.uuid());
Long projectSnapshotId = snapshot == null ? null : snapshot.getRootId();
SnapshotDto projectSnapshot = projectSnapshotId == null ? snapshot : dbClient.snapshotDao().selectById(dbSession, projectSnapshotId);
return projectSnapshot == null ? null : longToDate(projectSnapshot.getPeriodDate(1));
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterSql.java b/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterSql.java
index e93c253bce5..125fe79428e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterSql.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterSql.java
@@ -96,9 +96,11 @@ class MeasureFilterSql {
private String generateSql() {
StringBuilder sb = new StringBuilder(1000);
- sb.append("SELECT s.id, s.project_id, s.root_project_id, ");
+ sb.append("SELECT s.id, p.id, root.id, ");
sb.append(filter.sort().column());
- sb.append(" FROM snapshots s INNER JOIN projects p ON s.project_id=p.id ");
+ sb.append(" FROM snapshots s");
+ sb.append(" INNER JOIN projects p ON s.component_uuid=p.uuid ");
+ sb.append(" INNER JOIN projects root ON s.root_component_uuid=root.uuid ");
for (int index = 0; index < filter.getMeasureConditions().size(); index++) {
MeasureFilterCondition condition = filter.getMeasureConditions().get(index);
@@ -108,7 +110,7 @@ class MeasureFilterSql {
}
if (filter.isOnFavourites()) {
- sb.append(" INNER JOIN properties props ON props.resource_id=s.project_id ");
+ sb.append(" INNER JOIN properties props ON props.resource_id=p.id ");
}
if (filter.sort().isOnMeasure()) {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/custom/ws/SearchAction.java b/server/sonar-server/src/main/java/org/sonar/server/measure/custom/ws/SearchAction.java
index 16ed05c32e8..6efe11a28d9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/custom/ws/SearchAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/custom/ws/SearchAction.java
@@ -115,7 +115,7 @@ public class SearchAction implements CustomMeasuresWsAction {
@CheckForNull
private Long searchLastSnapshot(DbSession dbSession, ComponentDto project) {
- SnapshotDto lastSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentId(dbSession, project.getId());
+ SnapshotDto lastSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(dbSession, project.uuid());
return lastSnapshot == null ? null : lastSnapshot.getBuildDate();
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentAction.java b/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentAction.java
index 72bb2c58e7c..5a8f2b7e18e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentAction.java
@@ -135,7 +135,7 @@ public class ComponentAction implements MeasuresWsAction {
Long developerId = searchDeveloperId(dbSession, request);
Optional<ComponentDto> refComponent = getReferenceComponent(dbSession, component);
checkPermissions(component);
- SnapshotDto lastSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentId(dbSession, component.getId());
+ SnapshotDto lastSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(dbSession, component.uuid());
List<MetricDto> metrics = searchMetrics(dbSession, request);
List<WsMeasures.Period> periods = snapshotToWsPeriods(lastSnapshot);
List<MeasureDto> measures = searchMeasures(dbSession, component, lastSnapshot, metrics, periods, developerId);
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentTreeDataLoader.java b/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentTreeDataLoader.java
index d386def59a3..3b29e1c58a4 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentTreeDataLoader.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentTreeDataLoader.java
@@ -101,7 +101,7 @@ public class ComponentTreeDataLoader {
try {
ComponentDto baseComponent = componentFinder.getByUuidOrKey(dbSession, wsRequest.getBaseComponentId(), wsRequest.getBaseComponentKey(), BASE_COMPONENT_ID_AND_KEY);
checkPermissions(baseComponent);
- SnapshotDto baseSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentId(dbSession, baseComponent.getId());
+ SnapshotDto baseSnapshot = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(dbSession, baseComponent.uuid());
if (baseSnapshot == null) {
return ComponentTreeData.builder()
.setBaseComponent(baseComponent)
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualitygate/ws/ProjectStatusAction.java b/server/sonar-server/src/main/java/org/sonar/server/qualitygate/ws/ProjectStatusAction.java
index 0201259bef8..252a6b3d19c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualitygate/ws/ProjectStatusAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualitygate/ws/ProjectStatusAction.java
@@ -144,13 +144,13 @@ public class ProjectStatusAction implements QGateWsAction {
private ProjectAndSnapshot getProjectThenSnapshot(DbSession dbSession, ProjectStatusWsRequest request) {
ComponentDto projectDto = componentFinder.getByUuidOrKey(dbSession, request.getProjectId(), request.getProjectKey(), ParamNames.PROJECT_ID_AND_KEY);
- SnapshotDto snapshotDto = dbClient.snapshotDao().selectLastSnapshotByComponentId(dbSession, projectDto.getId());
+ SnapshotDto snapshotDto = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(dbSession, projectDto.uuid());
return new ProjectAndSnapshot(projectDto, snapshotDto);
}
private ProjectAndSnapshot getSnapshotThenProject(DbSession dbSession, String snapshotId) {
SnapshotDto snapshotDto = getSnapshot(dbSession, snapshotId);
- ComponentDto projectDto = dbClient.componentDao().selectOrFailById(dbSession, snapshotDto.getComponentId());
+ ComponentDto projectDto = dbClient.componentDao().selectOrFailByUuid(dbSession, snapshotDto.getComponentUuid());
return new ProjectAndSnapshot(projectDto, snapshotDto);
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentNavigationAction.java b/server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentNavigationAction.java
index 3d64e852f3e..f8f1995df0f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentNavigationAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentNavigationAction.java
@@ -115,7 +115,7 @@ public class ComponentNavigationAction implements NavigationWsAction {
userSession.checkComponentUuidPermission(UserRole.USER, component.projectUuid());
- SnapshotDto snapshot = dbClient.snapshotDao().selectLastSnapshotByComponentId(session, component.getId());
+ SnapshotDto snapshot = dbClient.snapshotDao().selectLastSnapshotByComponentUuid(session, component.uuid());
JsonWriter json = response.newJsonWriter();
json.beginObject();
@@ -267,7 +267,7 @@ public class ComponentNavigationAction implements NavigationWsAction {
SnapshotDto currentSnapshot = snapshot;
while (currentSnapshot.getParentId() != null) {
currentSnapshot = dbClient.snapshotDao().selectOrFailById(session, currentSnapshot.getParentId());
- componentPath.add(0, dbClient.componentDao().selectOrFailById(session, currentSnapshot.getComponentId()));
+ componentPath.add(0, dbClient.componentDao().selectOrFailByUuid(session, currentSnapshot.getComponentUuid()));
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java
index 28e08a37eb1..7886adb6c0c 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java
@@ -33,6 +33,7 @@ import org.sonar.db.purge.PurgeListener;
import org.sonar.db.purge.PurgeProfiler;
import org.sonar.db.purge.period.DefaultPeriodCleaner;
+import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyLong;
import static org.mockito.Mockito.doThrow;
@@ -78,7 +79,7 @@ public class ProjectCleanerTest {
underTest.purge(mock(DbSession.class), mock(IdUuidPair.class), settings);
- verify(periodCleaner).clean(any(DbSession.class), any(Long.class), any(Settings.class));
+ verify(periodCleaner).clean(any(DbSession.class), anyString(), any(Settings.class));
verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class), any(PurgeProfiler.class));
}
@@ -93,10 +94,10 @@ public class ProjectCleanerTest {
@Test
public void if_profiler_cleaning_fails_it_should_not_interrupt_program_execution() {
- doThrow(RuntimeException.class).when(periodCleaner).clean(any(DbSession.class), anyLong(), any(Settings.class));
+ doThrow(RuntimeException.class).when(periodCleaner).clean(any(DbSession.class), anyString(), any(Settings.class));
underTest.purge(mock(DbSession.class), mock(IdUuidPair.class), settings);
- verify(periodCleaner).clean(any(DbSession.class), anyLong(), any(Settings.class));
+ verify(periodCleaner).clean(any(DbSession.class), anyString(), any(Settings.class));
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/measure/MeasureToMeasureDtoTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/measure/MeasureToMeasureDtoTest.java
index e139a3c1137..6269fa2e659 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/measure/MeasureToMeasureDtoTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/measure/MeasureToMeasureDtoTest.java
@@ -52,7 +52,7 @@ public class MeasureToMeasureDtoTest {
private static final MetricImpl SOME_STRING_METRIC = new MetricImpl(5, "5", "5", Metric.MetricType.STRING);
private static final MetricImpl SOME_LEVEL_METRIC = new MetricImpl(6, "6", "6", Metric.MetricType.LEVEL);
- static final Component SOME_COMPONENT = ReportComponent.builder(Component.Type.PROJECT, 1).build();
+ static final Component SOME_COMPONENT = ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("uuid_1").build();
@Rule
public MutableDbIdsRepositoryRule dbIdsRepository = MutableDbIdsRepositoryRule.create(SOME_COMPONENT);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexComponentsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexComponentsStepTest.java
index e07aa3fb054..e39e8a2e71b 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexComponentsStepTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexComponentsStepTest.java
@@ -25,7 +25,6 @@ import org.sonar.db.component.ResourceIndexDao;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;
-import org.sonar.server.computation.component.MutableDbIdsRepositoryRule;
import org.sonar.server.computation.component.ReportComponent;
import org.sonar.server.computation.component.ViewsComponent;
@@ -37,37 +36,34 @@ import static org.sonar.server.computation.component.Component.Type.VIEW;
public class IndexComponentsStepTest extends BaseStepTest {
private static final String PROJECT_KEY = "PROJECT_KEY";
+ private static final String PROJECT_UUID = "PROJECT_UUID";
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
public BatchReportReaderRule reportReader = new BatchReportReaderRule();
- @Rule
- public MutableDbIdsRepositoryRule dbIdsRepository = MutableDbIdsRepositoryRule.create(treeRootHolder);
ResourceIndexDao resourceIndexDao = mock(ResourceIndexDao.class);
- IndexComponentsStep underTest = new IndexComponentsStep(resourceIndexDao, dbIdsRepository, treeRootHolder);
+ IndexComponentsStep underTest = new IndexComponentsStep(resourceIndexDao, treeRootHolder);
@Test
public void call_indexProject_of_dao_for_project() {
- Component project = ReportComponent.builder(PROJECT, 1).setUuid("PROJECT_UUID").setKey(PROJECT_KEY).build();
- dbIdsRepository.setComponentId(project, 123L);
+ Component project = ReportComponent.builder(PROJECT, 1).setUuid(PROJECT_UUID).setKey(PROJECT_KEY).build();
treeRootHolder.setRoot(project);
underTest.execute();
- verify(resourceIndexDao).indexProject(123L);
+ verify(resourceIndexDao).indexProject(PROJECT_UUID);
}
@Test
public void call_indexProject_of_dao_for_view() {
- Component view = ViewsComponent.builder(VIEW, PROJECT_KEY).setUuid("PROJECT_UUID").build();
- dbIdsRepository.setComponentId(view, 123L);
+ Component view = ViewsComponent.builder(VIEW, PROJECT_KEY).setUuid(PROJECT_UUID).build();
treeRootHolder.setRoot(view);
underTest.execute();
- verify(resourceIndexDao).indexProject(123L);
+ verify(resourceIndexDao).indexProject(PROJECT_UUID);
}
@Override
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportPersistSnapshotsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportPersistSnapshotsStepTest.java
index 930595e9cf3..9517ebb1390 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportPersistSnapshotsStepTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportPersistSnapshotsStepTest.java
@@ -54,13 +54,10 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
@Rule
public DbTester dbTester = DbTester.create(System2.INSTANCE);
-
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
-
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
-
@Rule
public PeriodsHolderRule periodsHolder = new PeriodsHolderRule();
@@ -124,9 +121,9 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
assertThat(dbTester.countRowsOfTable("snapshots")).isEqualTo(4);
- SnapshotDto projectSnapshot = getUnprocessedSnapshot(projectDto.getId());
- assertThat(projectSnapshot.getComponentId()).isEqualTo(projectDto.getId());
- assertThat(projectSnapshot.getRootProjectId()).isEqualTo(projectDto.getId());
+ SnapshotDto projectSnapshot = getUnprocessedSnapshot(projectDto.uuid());
+ assertThat(projectSnapshot.getComponentUuid()).isEqualTo(project.getUuid());
+ assertThat(projectSnapshot.getRootComponentUuid()).isEqualTo(project.getUuid());
assertThat(projectSnapshot.getRootId()).isNull();
assertThat(projectSnapshot.getParentId()).isNull();
assertThat(projectSnapshot.getDepth()).isEqualTo(0);
@@ -139,9 +136,9 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
assertThat(projectSnapshot.getCreatedAt()).isEqualTo(analysisDate);
assertThat(projectSnapshot.getBuildDate()).isEqualTo(now);
- SnapshotDto moduleSnapshot = getUnprocessedSnapshot(moduleDto.getId());
- assertThat(moduleSnapshot.getComponentId()).isEqualTo(moduleDto.getId());
- assertThat(moduleSnapshot.getRootProjectId()).isEqualTo(projectDto.getId());
+ SnapshotDto moduleSnapshot = getUnprocessedSnapshot(moduleDto.uuid());
+ assertThat(moduleSnapshot.getComponentUuid()).isEqualTo(module.getUuid());
+ assertThat(moduleSnapshot.getRootComponentUuid()).isEqualTo(project.getUuid());
assertThat(moduleSnapshot.getRootId()).isEqualTo(projectSnapshot.getId());
assertThat(moduleSnapshot.getParentId()).isEqualTo(projectSnapshot.getId());
assertThat(moduleSnapshot.getDepth()).isEqualTo(1);
@@ -154,9 +151,9 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
assertThat(moduleSnapshot.getCreatedAt()).isEqualTo(analysisDate);
assertThat(moduleSnapshot.getBuildDate()).isEqualTo(now);
- SnapshotDto directorySnapshot = getUnprocessedSnapshot(directoryDto.getId());
- assertThat(directorySnapshot.getComponentId()).isEqualTo(directoryDto.getId());
- assertThat(directorySnapshot.getRootProjectId()).isEqualTo(projectDto.getId());
+ SnapshotDto directorySnapshot = getUnprocessedSnapshot(directoryDto.uuid());
+ assertThat(directorySnapshot.getComponentUuid()).isEqualTo(directory.getUuid());
+ assertThat(directorySnapshot.getRootComponentUuid()).isEqualTo(project.getUuid());
assertThat(directorySnapshot.getRootId()).isEqualTo(projectSnapshot.getId());
assertThat(directorySnapshot.getParentId()).isEqualTo(moduleSnapshot.getId());
assertThat(directorySnapshot.getDepth()).isEqualTo(2);
@@ -169,9 +166,9 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
assertThat(directorySnapshot.getCreatedAt()).isEqualTo(analysisDate);
assertThat(directorySnapshot.getBuildDate()).isEqualTo(now);
- SnapshotDto fileSnapshot = getUnprocessedSnapshot(fileDto.getId());
- assertThat(fileSnapshot.getComponentId()).isEqualTo(fileDto.getId());
- assertThat(fileSnapshot.getRootProjectId()).isEqualTo(projectDto.getId());
+ SnapshotDto fileSnapshot = getUnprocessedSnapshot(fileDto.uuid());
+ assertThat(fileSnapshot.getComponentUuid()).isEqualTo(file.getUuid());
+ assertThat(fileSnapshot.getRootComponentUuid()).isEqualTo(project.getUuid());
assertThat(fileSnapshot.getRootId()).isEqualTo(projectSnapshot.getId());
assertThat(fileSnapshot.getParentId()).isEqualTo(directorySnapshot.getId());
assertThat(fileSnapshot.getDepth()).isEqualTo(3);
@@ -214,7 +211,7 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
underTest.execute();
- SnapshotDto fileSnapshot = getUnprocessedSnapshot(fileDto.getId());
+ SnapshotDto fileSnapshot = getUnprocessedSnapshot(fileDto.uuid());
assertThat(fileSnapshot.getQualifier()).isEqualTo("UTS");
assertThat(fileSnapshot.getScope()).isEqualTo("FIL");
}
@@ -246,29 +243,29 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
assertThat(dbTester.countRowsOfTable("snapshots")).isEqualTo(4);
- SnapshotDto projectSnapshot = getUnprocessedSnapshot(projectDto.getId());
- assertThat(projectSnapshot.getRootProjectId()).isEqualTo(projectDto.getId());
+ SnapshotDto projectSnapshot = getUnprocessedSnapshot(projectDto.uuid());
+ assertThat(projectSnapshot.getRootComponentUuid()).isEqualTo(project.getUuid());
assertThat(projectSnapshot.getRootId()).isNull();
assertThat(projectSnapshot.getParentId()).isNull();
assertThat(projectSnapshot.getDepth()).isEqualTo(0);
assertThat(projectSnapshot.getPath()).isNullOrEmpty();
- SnapshotDto moduleASnapshot = getUnprocessedSnapshot(moduleADto.getId());
- assertThat(moduleASnapshot.getRootProjectId()).isEqualTo(projectDto.getId());
+ SnapshotDto moduleASnapshot = getUnprocessedSnapshot(moduleADto.uuid());
+ assertThat(moduleASnapshot.getRootComponentUuid()).isEqualTo(project.getUuid());
assertThat(moduleASnapshot.getRootId()).isEqualTo(projectSnapshot.getId());
assertThat(moduleASnapshot.getParentId()).isEqualTo(projectSnapshot.getId());
assertThat(moduleASnapshot.getDepth()).isEqualTo(1);
assertThat(moduleASnapshot.getPath()).isEqualTo(projectSnapshot.getId() + ".");
- SnapshotDto subModuleASnapshot = getUnprocessedSnapshot(subModuleADto.getId());
- assertThat(subModuleASnapshot.getRootProjectId()).isEqualTo(projectDto.getId());
+ SnapshotDto subModuleASnapshot = getUnprocessedSnapshot(subModuleADto.uuid());
+ assertThat(subModuleASnapshot.getRootComponentUuid()).isEqualTo(project.getUuid());
assertThat(subModuleASnapshot.getRootId()).isEqualTo(projectSnapshot.getId());
assertThat(subModuleASnapshot.getParentId()).isEqualTo(moduleASnapshot.getId());
assertThat(subModuleASnapshot.getDepth()).isEqualTo(2);
assertThat(subModuleASnapshot.getPath()).isEqualTo(projectSnapshot.getId() + "." + moduleASnapshot.getId() + ".");
- SnapshotDto moduleBSnapshot = getUnprocessedSnapshot(moduleBDto.getId());
- assertThat(moduleBSnapshot.getRootProjectId()).isEqualTo(projectDto.getId());
+ SnapshotDto moduleBSnapshot = getUnprocessedSnapshot(moduleBDto.uuid());
+ assertThat(moduleBSnapshot.getRootComponentUuid()).isEqualTo(project.getUuid());
assertThat(moduleBSnapshot.getRootId()).isEqualTo(projectSnapshot.getId());
assertThat(moduleBSnapshot.getParentId()).isEqualTo(projectSnapshot.getId());
assertThat(moduleBSnapshot.getDepth()).isEqualTo(1);
@@ -290,7 +287,7 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
underTest.execute();
- SnapshotDto projectSnapshot = getUnprocessedSnapshot(projectDto.getId());
+ SnapshotDto projectSnapshot = getUnprocessedSnapshot(projectDto.uuid());
assertThat(projectSnapshot.getPeriodMode(1)).isEqualTo(TIMEMACHINE_MODE_DATE);
assertThat(projectSnapshot.getPeriodDate(1)).isEqualTo(analysisDate);
assertThat(projectSnapshot.getPeriodModeParameter(1)).isNotNull();
@@ -335,16 +332,16 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
underTest.execute();
- SnapshotDto newProjectSnapshot = getUnprocessedSnapshot(projectDto.getId());
+ SnapshotDto newProjectSnapshot = getUnprocessedSnapshot(projectDto.uuid());
assertThat(newProjectSnapshot.getPeriodMode(1)).isEqualTo(TIMEMACHINE_MODE_PREVIOUS_ANALYSIS);
- SnapshotDto newModuleSnapshot = getUnprocessedSnapshot(moduleDto.getId());
+ SnapshotDto newModuleSnapshot = getUnprocessedSnapshot(moduleDto.uuid());
assertThat(newModuleSnapshot.getPeriodMode(1)).isEqualTo(TIMEMACHINE_MODE_PREVIOUS_ANALYSIS);
- SnapshotDto newDirectorySnapshot = getUnprocessedSnapshot(directoryDto.getId());
+ SnapshotDto newDirectorySnapshot = getUnprocessedSnapshot(directoryDto.uuid());
assertThat(newDirectorySnapshot.getPeriodMode(1)).isNull();
- SnapshotDto newFileSnapshot = getUnprocessedSnapshot(fileDto.getId());
+ SnapshotDto newFileSnapshot = getUnprocessedSnapshot(fileDto.uuid());
assertThat(newFileSnapshot.getPeriodMode(1)).isNull();
}
@@ -362,15 +359,15 @@ public class ReportPersistSnapshotsStepTest extends BaseStepTest {
underTest.execute();
- SnapshotDto projectSnapshot = getUnprocessedSnapshot(projectDto.getId());
+ SnapshotDto projectSnapshot = getUnprocessedSnapshot(projectDto.uuid());
assertThat(projectSnapshot.getPeriodMode(1)).isNull();
assertThat(projectSnapshot.getPeriodDate(1)).isNull();
assertThat(projectSnapshot.getPeriodModeParameter(1)).isNull();
}
- private SnapshotDto getUnprocessedSnapshot(long componentId) {
+ private SnapshotDto getUnprocessedSnapshot(String componentUuid) {
List<SnapshotDto> projectSnapshots = dbClient.snapshotDao().selectSnapshotsByQuery(dbTester.getSession(),
- new SnapshotQuery().setComponentId(componentId).setIsLast(false).setStatus(SnapshotDto.STATUS_UNPROCESSED));
+ new SnapshotQuery().setComponentUuid(componentUuid).setIsLast(false).setStatus(SnapshotDto.STATUS_UNPROCESSED));
assertThat(projectSnapshots).hasSize(1);
return projectSnapshots.get(0);
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistComponentsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistComponentsStepTest.java
index ea4c4e5dfaa..41266b7ed31 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistComponentsStepTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistComponentsStepTest.java
@@ -300,7 +300,7 @@ public class ViewsPersistComponentsStepTest extends BaseStepTest {
.setUuid(PROJECT_VIEW_1_UUID)
.setName(PROJECT_VIEW_1_NAME)
.setDescription("project view description is not persisted")
- .setProjectViewAttributes(new ProjectViewAttributes(project.getId()));
+ .setProjectViewAttributes(new ProjectViewAttributes(project.getId(), project.uuid()));
}
private void persistComponents(ComponentDto... componentDtos) {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistSnapshotsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistSnapshotsStepTest.java
index b0b2bc73aae..26f66cad5b6 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistSnapshotsStepTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ViewsPersistSnapshotsStepTest.java
@@ -47,7 +47,6 @@ import static org.sonar.db.component.ComponentTesting.newProjectCopy;
import static org.sonar.db.component.ComponentTesting.newProjectDto;
import static org.sonar.db.component.ComponentTesting.newSubView;
import static org.sonar.db.component.ComponentTesting.newView;
-import static org.sonar.db.component.SnapshotTesting.newSnapshotForProject;
import static org.sonar.server.computation.component.Component.Type.PROJECT_VIEW;
import static org.sonar.server.computation.component.Component.Type.SUBVIEW;
import static org.sonar.server.computation.component.Component.Type.VIEW;
@@ -114,17 +113,13 @@ public class ViewsPersistSnapshotsStepTest extends BaseStepTest {
Component view = ViewsComponent.builder(VIEW, 1).setUuid("ABCD").addChildren(subView).build();
treeRootHolder.setRoot(view);
- dbIdsRepository.setComponentId(view, viewDto.getId());
- dbIdsRepository.setComponentId(subView, subViewDto.getId());
- dbIdsRepository.setComponentId(projectView, projectViewDto.getId());
-
underTest.execute();
assertThat(dbTester.countRowsOfTable("snapshots")).isEqualTo(3);
- SnapshotDto projectSnapshot = getUnprocessedSnapshot(viewDto.getId());
- assertThat(projectSnapshot.getComponentId()).isEqualTo(viewDto.getId());
- assertThat(projectSnapshot.getRootProjectId()).isEqualTo(viewDto.getId());
+ SnapshotDto projectSnapshot = getUnprocessedSnapshot(viewDto.uuid());
+ assertThat(projectSnapshot.getComponentUuid()).isEqualTo(view.getUuid());
+ assertThat(projectSnapshot.getRootComponentUuid()).isEqualTo(view.getUuid());
assertThat(projectSnapshot.getRootId()).isNull();
assertThat(projectSnapshot.getParentId()).isNull();
assertThat(projectSnapshot.getDepth()).isEqualTo(0);
@@ -137,9 +132,9 @@ public class ViewsPersistSnapshotsStepTest extends BaseStepTest {
assertThat(projectSnapshot.getCreatedAt()).isEqualTo(analysisDate);
assertThat(projectSnapshot.getBuildDate()).isEqualTo(now);
- SnapshotDto subViewSnapshot = getUnprocessedSnapshot(subViewDto.getId());
- assertThat(subViewSnapshot.getComponentId()).isEqualTo(subViewDto.getId());
- assertThat(subViewSnapshot.getRootProjectId()).isEqualTo(viewDto.getId());
+ SnapshotDto subViewSnapshot = getUnprocessedSnapshot(subViewDto.uuid());
+ assertThat(subViewSnapshot.getComponentUuid()).isEqualTo(subView.getUuid());
+ assertThat(subViewSnapshot.getRootComponentUuid()).isEqualTo(view.getUuid());
assertThat(subViewSnapshot.getRootId()).isEqualTo(projectSnapshot.getId());
assertThat(subViewSnapshot.getParentId()).isEqualTo(projectSnapshot.getId());
assertThat(subViewSnapshot.getDepth()).isEqualTo(1);
@@ -152,9 +147,9 @@ public class ViewsPersistSnapshotsStepTest extends BaseStepTest {
assertThat(subViewSnapshot.getCreatedAt()).isEqualTo(analysisDate);
assertThat(subViewSnapshot.getBuildDate()).isEqualTo(now);
- SnapshotDto projectViewSnapshot = getUnprocessedSnapshot(projectViewDto.getId());
- assertThat(projectViewSnapshot.getComponentId()).isEqualTo(projectViewDto.getId());
- assertThat(projectViewSnapshot.getRootProjectId()).isEqualTo(viewDto.getId());
+ SnapshotDto projectViewSnapshot = getUnprocessedSnapshot(projectViewDto.uuid());
+ assertThat(projectViewSnapshot.getComponentUuid()).isEqualTo(projectView.getUuid());
+ assertThat(projectViewSnapshot.getRootComponentUuid()).isEqualTo(view.getUuid());
assertThat(projectViewSnapshot.getRootId()).isEqualTo(projectSnapshot.getId());
assertThat(projectViewSnapshot.getParentId()).isEqualTo(subViewSnapshot.getId());
assertThat(projectViewSnapshot.getDepth()).isEqualTo(2);
@@ -168,20 +163,16 @@ public class ViewsPersistSnapshotsStepTest extends BaseStepTest {
assertThat(projectViewSnapshot.getBuildDate()).isEqualTo(now);
assertThat(dbIdsRepository.getSnapshotId(view)).isEqualTo(projectSnapshot.getId());
- assertThat(dbIdsRepository.getComponentId(subView)).isEqualTo(subViewDto.getId());
- assertThat(dbIdsRepository.getComponentId(projectView)).isEqualTo(projectViewDto.getId());
}
@Test
public void persist_snapshots_with_periods() {
ComponentDto viewDto = save(newView("ABCD").setKey(valueOf(PROJECT_KEY)).setName("Project"));
ComponentDto subViewDto = save(newSubView(viewDto, "CDEF", "key").setKey("2"));
- SnapshotDto viewSnapshotDto = save(newSnapshotForProject(viewDto).setCreatedAt(DateUtils.parseDateQuietly("2015-01-01").getTime()));
- SnapshotDto subViewSnapshotDto = save(newSnapshotForProject(subViewDto).setCreatedAt(DateUtils.parseDateQuietly("2015-01-01").getTime()));
dbTester.getSession().commit();
Component subView = ViewsComponent.builder(SUBVIEW, 2).setUuid("ABCD").build();
- Component view = ViewsComponent.builder(VIEW, PROJECT_KEY).setUuid("ABCD").addChildren(subView).build();
+ Component view = ViewsComponent.builder(VIEW, PROJECT_KEY).setUuid("CDEF").addChildren(subView).build();
treeRootHolder.setRoot(view);
dbIdsRepository.setComponentId(view, viewDto.getId());
dbIdsRepository.setComponentId(subView, subViewDto.getId());
@@ -190,12 +181,12 @@ public class ViewsPersistSnapshotsStepTest extends BaseStepTest {
underTest.execute();
- SnapshotDto viewSnapshot = getUnprocessedSnapshot(viewDto.getId());
+ SnapshotDto viewSnapshot = getUnprocessedSnapshot(viewDto.uuid());
assertThat(viewSnapshot.getPeriodMode(1)).isEqualTo(TIMEMACHINE_MODE_DATE);
assertThat(viewSnapshot.getPeriodDate(1)).isEqualTo(analysisDate);
assertThat(viewSnapshot.getPeriodModeParameter(1)).isNotNull();
- SnapshotDto subViewSnapshot = getUnprocessedSnapshot(subViewDto.getId());
+ SnapshotDto subViewSnapshot = getUnprocessedSnapshot(subViewDto.uuid());
assertThat(subViewSnapshot.getPeriodMode(1)).isEqualTo(TIMEMACHINE_MODE_DATE);
assertThat(subViewSnapshot.getPeriodDate(1)).isEqualTo(analysisDate);
assertThat(subViewSnapshot.getPeriodModeParameter(1)).isNotNull();
@@ -206,14 +197,9 @@ public class ViewsPersistSnapshotsStepTest extends BaseStepTest {
return componentDto;
}
- private SnapshotDto save(SnapshotDto snapshotDto) {
- dbClient.snapshotDao().insert(dbTester.getSession(), snapshotDto);
- return snapshotDto;
- }
-
- private SnapshotDto getUnprocessedSnapshot(long componentId) {
+ private SnapshotDto getUnprocessedSnapshot(String componentUuid) {
List<SnapshotDto> projectSnapshots = dbClient.snapshotDao().selectSnapshotsByQuery(dbTester.getSession(),
- new SnapshotQuery().setComponentId(componentId).setIsLast(false).setStatus(SnapshotDto.STATUS_UNPROCESSED));
+ new SnapshotQuery().setComponentUuid(componentUuid).setIsLast(false).setStatus(SnapshotDto.STATUS_UNPROCESSED));
assertThat(projectSnapshots).hasSize(1);
return projectSnapshots.get(0);
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentNavigationActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentNavigationActionTest.java
index bd457413dca..e9e9f3fe160 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentNavigationActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentNavigationActionTest.java
@@ -148,7 +148,7 @@ public class ComponentNavigationActionTest {
.setKey("polop").setName("Polop");
dbClient.componentDao().insert(dbTester.getSession(), project);
dbClient.snapshotDao().insert(dbTester.getSession(), new SnapshotDto().setCreatedAt(snapshotDate.getTime()).setVersion("3.14")
- .setLast(true).setQualifier(project.qualifier()).setComponentId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
+ .setLast(true).setQualifier(project.qualifier()).setComponentUuid(project.uuid()).setRootComponentUuid(project.uuid()).setScope(project.scope()));
dbTester.getSession().commit();
userSessionRule.login("obiwan").setUserId(userId).addProjectUuidPermissions(UserRole.USER, "abcd");
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/computation/measure/MeasureRepositoryImplTest/shared.xml b/server/sonar-server/src/test/resources/org/sonar/server/computation/measure/MeasureRepositoryImplTest/shared.xml
index 19ce3154111..0234c9b213f 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/computation/measure/MeasureRepositoryImplTest/shared.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/computation/measure/MeasureRepositoryImplTest/shared.xml
@@ -1,7 +1,7 @@
<dataset>
- <projects id="567" kee="file cpt key" enabled="[true]"/>
- <snapshots id="123" project_id="567" islast="[true]"/>
- <snapshots id="369" project_id="567" islast="[false]"/>
+ <projects id="567" uuid="uuid_567" kee="file cpt key" enabled="[true]"/>
+ <snapshots id="123" component_uuid="uuid_567" root_component_uuid="uuid_567" islast="[true]"/>
+ <snapshots id="369" component_uuid="uuid_567" root_component_uuid="uuid_567" islast="[false]"/>
<metrics id="1" name="metric 1" />
<metrics id="2" name="metric 2" />
</dataset>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/no_previous_version.xml b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/no_previous_version.xml
index a99245eec5d..be57cfc6d21 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/no_previous_version.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/no_previous_version.xml
@@ -7,7 +7,7 @@
<snapshots id="1000" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1226379600000" build_date="1226379600000" version="0.9" path=""
status="P" islast="[false]" depth="0"/>
@@ -15,7 +15,7 @@
<!-- Version 1.0 -->
<snapshots id="1001" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
- period5_param="[null]" period5_date="[null]" project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ period5_param="[null]" period5_date="[null]" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1226494680000" build_date="1226494680000" version="1.0" path=""
status="P" islast="[false]" depth="0"/>
@@ -24,7 +24,7 @@
<snapshots id="1002" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1227157200000" build_date="1227157200000" version="1.1" path=""
status="P" islast="[false]" depth="0"/>
@@ -32,7 +32,7 @@
<snapshots id="1003" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1227358680000" build_date="1227358680000" version="1.1" path=""
status="P" islast="[false]" depth="0"/>
@@ -40,7 +40,7 @@
<!-- Last version 1.1 -->
<snapshots id="1004" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
- period5_param="[null]" period5_date="[null]" project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ period5_param="[null]" period5_date="[null]" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1227934800000" build_date="1227934800000" version="1.1" path=""
status="P" islast="[true]" depth="0"/>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_deleted.xml b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_deleted.xml
index cc92a138743..f8b76a17917 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_deleted.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_deleted.xml
@@ -7,7 +7,7 @@
<snapshots id="1000" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1226379600000" build_date="1226379600000" version="0.9" path=""
status="P" islast="[false]" depth="0"/>
@@ -15,7 +15,7 @@
<!-- Version 1.0 -->
<snapshots id="1001" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
- period5_param="[null]" period5_date="[null]" project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ period5_param="[null]" period5_date="[null]" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1226494680000" build_date="1226494680000" version="1.0" path=""
status="P" islast="[false]" depth="0"/>
@@ -24,7 +24,7 @@
<snapshots id="1002" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1227157200000" build_date="1227157200000" version="1.1" path=""
status="P" islast="[false]" depth="0"/>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_is_last_one.xml b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_is_last_one.xml
index f61194367cf..6a97946ef19 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_is_last_one.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/previous_version_is_last_one.xml
@@ -9,7 +9,7 @@
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]"
period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1226379600000" build_date="1226379600000" version="0.9" path=""
status="P" islast="[true]" depth="0"/>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/shared.xml b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/shared.xml
index 8a81488a57a..2c8ae5c913f 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/shared.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/shared.xml
@@ -7,7 +7,7 @@
<snapshots id="1000" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1226379600000" build_date="1226379600000" version="0.9" path=""
status="P" islast="[false]" depth="0"/>
@@ -15,7 +15,7 @@
<!-- Version 1.0 -->
<snapshots id="1001" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
- period5_param="[null]" period5_date="[null]" project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ period5_param="[null]" period5_date="[null]" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1226494680000" build_date="1226494680000" version="1.0" path=""
status="P" islast="[false]" depth="0"/>
@@ -24,7 +24,7 @@
<snapshots id="1002" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1227157200000" build_date="1227157200000" version="1.1" path=""
status="P" islast="[false]" depth="0"/>
@@ -32,7 +32,7 @@
<snapshots id="1003" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1227358680000" build_date="1227358680000" version="1.1" path=""
status="P" islast="[false]" depth="0"/>
@@ -40,7 +40,7 @@
<!-- Last version 1.1 -->
<snapshots id="1004" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
- period5_param="[null]" period5_date="[null]" project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ period5_param="[null]" period5_date="[null]" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1227934800000" build_date="1227934800000" version="1.1" path=""
status="P" islast="[true]" depth="0"/>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/unprocessed_snapshots.xml b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/unprocessed_snapshots.xml
index e0a95fb14f2..70de478ba1e 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/unprocessed_snapshots.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/LoadPeriodsStepTest/unprocessed_snapshots.xml
@@ -8,7 +8,7 @@
<snapshots id="1000" purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]" period2_mode="[null]" period2_param="[null]" period2_date="[null]"
period3_mode="[null]" period3_param="[null]" period3_date="[null]" period4_mode="[null]" period4_param="[null]" period4_date="[null]" period5_mode="[null]"
period5_param="[null]" period5_date="[null]"
- project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]"
+ component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" created_at="1226379600000" build_date="1226379600000" version="0.9" path=""
status="U" islast="[false]" depth="0"/>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots-result.xml
index f92f776ff1a..e8d30bcb7dd 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots-result.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots-result.xml
@@ -1,7 +1,7 @@
<dataset>
<!-- NEW SNAPSHOT -->
- <snapshots id="1" project_id="123" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="1" component_uuid="uuid_123" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -10,7 +10,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="PRJ" qualifier="PAC" created_at="1228258800000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="2" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="2" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -19,7 +19,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="DIR" qualifier="PAC" created_at="1228258800000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="3" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="3" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -29,7 +29,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228258800000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 3 - no last snapshot -->
- <snapshots id="4" project_id="3" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="4" component_uuid="uuid_3" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -39,7 +39,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228258800000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- Child of snapshot id=1 -->
- <snapshots id="5" project_id="55" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="5" component_uuid="uuid_55" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -50,7 +50,7 @@
version="2.1-SNAPSHOT" path="1.2."/>
<!-- LAST FLAGGED SNAPSHOT -->
- <snapshots id="21" project_id="123" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="21" component_uuid="uuid_123" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -59,7 +59,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="PRJ" qualifier="PAC" created_at="1228172400000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="22" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="22" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -68,7 +68,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="DIR" qualifier="PAC" created_at="1228172400000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="23" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="23" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -78,7 +78,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228172400000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 3 - no last snapshot -->
- <snapshots id="24" project_id="3" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="24" component_uuid="uuid_3" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -88,7 +88,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228172400000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- Child of snapshot id=1 -->
- <snapshots id="25" project_id="55" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="25" component_uuid="uuid_55" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -99,7 +99,7 @@
version="2.1-SNAPSHOT" path="1.2."/>
<!-- OLD SNAPSHOT -->
- <snapshots id="46" project_id="123" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="46" component_uuid="uuid_123" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -108,7 +108,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="PRJ" qualifier="PAC" created_at="1228086000000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="47" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="47" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -117,7 +117,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="DIR" qualifier="PAC" created_at="1228086000000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="48" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="48" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -127,7 +127,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228086000000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 3 - no last snapshot -->
- <snapshots id="49" project_id="3" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="49" component_uuid="uuid_3" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -137,7 +137,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228086000000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- Child of snapshot id=1 -->
- <snapshots id="50" project_id="55" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="50" component_uuid="uuid_55" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots.xml b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots.xml
index 6bc85fcec05..662f5a5806a 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/computation/step/SwitchSnapshotStepTest/snapshots.xml
@@ -1,7 +1,7 @@
<dataset>
<!-- NEW SNAPSHOT -->
- <snapshots id="1" project_id="123" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="1" component_uuid="uuid_123" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="U" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -10,7 +10,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="PRJ" qualifier="PAC" created_at="1228258800000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="2" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="2" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="U" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -19,7 +19,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="DIR" qualifier="PAC" created_at="1228258800000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="3" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="3" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="U" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -29,7 +29,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228258800000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 3 - no last snapshot -->
- <snapshots id="4" project_id="3" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="4" component_uuid="uuid_3" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="U" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -39,7 +39,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228258800000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- Child of snapshot id=1 -->
- <snapshots id="5" project_id="55" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="1"
+ <snapshots id="5" component_uuid="uuid_55" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="1"
status="U" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -50,7 +50,7 @@
version="2.1-SNAPSHOT" path="1.2."/>
<!-- LAST FLAGGED SNAPSHOT -->
- <snapshots id="21" project_id="123" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="21" component_uuid="uuid_123" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -59,7 +59,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="PRJ" qualifier="PAC" created_at="1228172400000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="22" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="22" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -68,7 +68,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="DIR" qualifier="PAC" created_at="1228172400000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="23" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="23" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -78,7 +78,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228172400000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 3 - no last snapshot -->
- <snapshots id="24" project_id="3" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="24" component_uuid="uuid_3" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -88,7 +88,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228172400000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- Child of snapshot id=1 -->
- <snapshots id="25" project_id="55" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="21"
+ <snapshots id="25" component_uuid="uuid_55" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="21"
status="P" islast="[true]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -99,7 +99,7 @@
version="2.1-SNAPSHOT" path="1.2."/>
<!-- OLD SNAPSHOT -->
- <snapshots id="46" project_id="123" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="46" component_uuid="uuid_123" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -108,7 +108,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="PRJ" qualifier="PAC" created_at="1228086000000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="47" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="47" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -117,7 +117,7 @@
period5_mode="days5" period5_param="34" period5_date="1317160800000"
depth="1" scope="DIR" qualifier="PAC" created_at="1228086000000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
- <snapshots id="48" project_id="1" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="48" component_uuid="uuid_1" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -127,7 +127,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228086000000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- PROJECT_ID = 3 - no last snapshot -->
- <snapshots id="49" project_id="3" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="49" component_uuid="uuid_3" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
@@ -137,7 +137,7 @@
depth="1" scope="DIR" qualifier="PAC" created_at="1228086000000" build_date="1317247200000"
version="2.1-SNAPSHOT" path="1.2."/>
<!-- Child of snapshot id=1 -->
- <snapshots id="50" project_id="55" parent_snapshot_id="2" root_project_id="123" root_snapshot_id="46"
+ <snapshots id="50" component_uuid="uuid_55" parent_snapshot_id="2" root_component_uuid="uuid_123" root_snapshot_id="46"
status="P" islast="[false]" purge_status="1"
period1_mode="days1" period1_param="30" period1_date="1316815200000"
period2_mode="days2" period2_param="31" period2_date="1316901600000"
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_component_id_from_db.xml b/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_component_id_from_db.xml
index 76aa5b6864f..1a1f7e8466a 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_component_id_from_db.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_component_id_from_db.xml
@@ -1,7 +1,7 @@
<dataset>
<projects id="10" scope="PRJ" qualifier="TRK" kee="struts" name="Struts" uuid="ABCD"/>
- <snapshots id="10" project_id="10" root_project_id="[null]" islast="[true]"/>
+ <snapshots id="10" component_uuid="ABCD" root_component_uuid="ABCD" islast="[true]"/>
<projects id="100" scope="FIL" qualifier="CLA" kee="struts:Action" name="Action" uuid="BCDE"/>
- <snapshots id="100" project_id="100" root_project_id="10" islast="[true]"/>
+ <snapshots id="100" component_uuid="BCDE" root_component_uuid="ABCD" islast="[true]"/>
</dataset>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_project_id_from_db.xml b/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_project_id_from_db.xml
index a5097aa6f66..f17681470e3 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_project_id_from_db.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_project_id_from_db.xml
@@ -2,6 +2,6 @@
<projects id="1" kee="struts" root_id="[null]" uuid="ABCD"/>
<projects id="2" kee="struts:Action.java" root_id="1" uuid="BCDE"/>
- <snapshots id="1" project_id="1" parent_snapshot_id="[null]" root_project_id="1" root_snapshot_id="[null]" islast="[true]" />
- <snapshots id="2" project_id="2" parent_snapshot_id="1" root_project_id="1" root_snapshot_id="1" islast="[true]" />
+ <snapshots id="1" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]" islast="[true]" />
+ <snapshots id="2" component_uuid="BCDE" parent_snapshot_id="1" root_component_uuid="ABCD" root_snapshot_id="1" islast="[true]" />
</dataset>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_insert_new_issues.xml b/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_insert_new_issues.xml
index 76aa5b6864f..1a1f7e8466a 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_insert_new_issues.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_insert_new_issues.xml
@@ -1,7 +1,7 @@
<dataset>
<projects id="10" scope="PRJ" qualifier="TRK" kee="struts" name="Struts" uuid="ABCD"/>
- <snapshots id="10" project_id="10" root_project_id="[null]" islast="[true]"/>
+ <snapshots id="10" component_uuid="ABCD" root_component_uuid="ABCD" islast="[true]"/>
<projects id="100" scope="FIL" qualifier="CLA" kee="struts:Action" name="Action" uuid="BCDE"/>
- <snapshots id="100" project_id="100" root_project_id="10" islast="[true]"/>
+ <snapshots id="100" component_uuid="BCDE" root_component_uuid="ABCD" islast="[true]"/>
</dataset>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_update_issues.xml b/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_update_issues.xml
index bdaace4d67c..832058c2eef 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_update_issues.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_update_issues.xml
@@ -1,10 +1,10 @@
<dataset>
<projects id="10" scope="PRJ" qualifier="TRK" kee="struts" name="Struts" uuid="ABCD"/>
- <snapshots id="10" project_id="10" root_project_id="[null]" islast="[true]"/>
+ <snapshots id="10" component_uuid="ABCD" root_component_uuid="ABCD" islast="[true]"/>
<projects id="100" scope="FIL" qualifier="CLA" kee="struts:Action" name="Action" uuid="BCDE"/>
- <snapshots id="100" project_id="100" root_project_id="10" islast="[true]"/>
+ <snapshots id="100" component_uuid="BCDE" root_component_uuid="ABCD" islast="[true]"/>
<issues id="1"
kee="ABCDE"
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/escape_percent_and_underscore_when_filter_by_component_name_or_key.xml b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/escape_percent_and_underscore_when_filter_by_component_name_or_key.xml
index 1436974b82b..126b499f803 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/escape_percent_and_underscore_when_filter_by_component_name_or_key.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/escape_percent_and_underscore_when_filter_by_component_name_or_key.xml
@@ -22,7 +22,7 @@
description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
created_at="2008-12-19 00:00:00.00"/>
- <snapshots id="101" project_id="1" root_project_id="1" root_snapshot_id="[null]" parent_snapshot_id="[null]"
+ <snapshots id="101" component_uuid="ABCD" root_component_uuid="ABCD" root_snapshot_id="[null]" parent_snapshot_id="[null]"
scope="FIL" qualifier="CLA" path="" depth="0"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -31,7 +31,7 @@
created_at="1229727600000" build_date="1229727600000"
version="1.0" status="P" islast="[true]"/>
- <snapshots id="102" project_id="2" root_project_id="1" root_snapshot_id="101" parent_snapshot_id="101"
+ <snapshots id="102" component_uuid="BCDE" root_component_uuid="ABCD" root_snapshot_id="101" parent_snapshot_id="101"
scope="FIL" qualifier="CLA" path="101." depth="1"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -40,7 +40,7 @@
created_at="1229727600000" build_date="1229727600000"
version="1.0" status="P" islast="[true]"/>
- <snapshots id="103" project_id="3" root_project_id="1" root_snapshot_id="101" parent_snapshot_id="102"
+ <snapshots id="103" component_uuid="CDEF" root_component_uuid="ABCD" root_snapshot_id="101" parent_snapshot_id="102"
scope="FIL" qualifier="CLA" path="101.102." depth="2"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -49,7 +49,7 @@
created_at="1229727600000" build_date="1229727600000"
version="1.0" status="P" islast="[true]"/>
- <snapshots id="104" project_id="4" root_project_id="1" root_snapshot_id="101" parent_snapshot_id="102"
+ <snapshots id="104" component_uuid="DEFG" root_component_uuid="ABCD" root_snapshot_id="101" parent_snapshot_id="102"
scope="FIL" qualifier="CLA" path="101.102." depth="2"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_person_measures.xml b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_person_measures.xml
index f17b71c5c73..9ba1f33cfe7 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_person_measures.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_person_measures.xml
@@ -8,7 +8,7 @@
id="1" root_id="[null]" uuid="ABCD"
description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]"/>
- <snapshots id="101" project_id="1" root_project_id="1" root_snapshot_id="[null]" parent_snapshot_id="[null]"
+ <snapshots id="101" component_uuid="ABCD" root_component_uuid="ABCD" root_snapshot_id="[null]" parent_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" path="" depth="0"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_quality_model_measures.xml b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_quality_model_measures.xml
index 964996ea17f..c99bd38bfc0 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_quality_model_measures.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/ignore_quality_model_measures.xml
@@ -8,7 +8,7 @@
id="1" root_id="[null]" uuid="ABCD"
description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]"/>
- <snapshots id="101" project_id="1" root_project_id="1" root_snapshot_id="[null]" parent_snapshot_id="[null]"
+ <snapshots id="101" component_uuid="ABCD" root_component_uuid="ABCD" root_snapshot_id="[null]" parent_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" path="" depth="0"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/shared.xml b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/shared.xml
index db520d39eb5..dcf925a251f 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/shared.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/shared.xml
@@ -44,7 +44,7 @@
description="[null]" enabled="[true]" language="java" copy_resource_id="[null]" person_id="[null]"
created_at="2008-12-19 00:00:00.00"/>
- <snapshots id="101" project_id="1" root_project_id="1" root_snapshot_id="[null]" parent_snapshot_id="[null]"
+ <snapshots id="101" component_uuid="ABCD" root_component_uuid="ABCD" root_snapshot_id="[null]" parent_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" path="" depth="0"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -53,7 +53,7 @@
created_at="1229727600000" build_date="1229727600000"
version="1.0" status="P" islast="[true]"/>
- <snapshots id="102" project_id="2" root_project_id="1" root_snapshot_id="101" parent_snapshot_id="101"
+ <snapshots id="102" component_uuid="BCDE" root_component_uuid="ABCD" root_snapshot_id="101" parent_snapshot_id="101"
scope="DIR" qualifier="PAC" path="101." depth="1"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -62,7 +62,7 @@
created_at="1229727600000" build_date="1229727600000"
version="1.0" status="P" islast="[true]"/>
- <snapshots id="103" project_id="3" root_project_id="1" root_snapshot_id="101" parent_snapshot_id="102"
+ <snapshots id="103" component_uuid="CDEF" root_component_uuid="ABCD" root_snapshot_id="101" parent_snapshot_id="102"
scope="FIL" qualifier="CLA" path="101.102." depth="2"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -71,7 +71,7 @@
created_at="1229727600000" build_date="1229727600000"
version="1.0" status="P" islast="[true]"/>
- <snapshots id="104" project_id="4" root_project_id="1" root_snapshot_id="101" parent_snapshot_id="102"
+ <snapshots id="104" component_uuid="DEFG" root_component_uuid="ABCD" root_snapshot_id="101" parent_snapshot_id="102"
scope="FIL" qualifier="CLA" path="101.102." depth="2"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -133,7 +133,7 @@
created_at="2012-12-12 04:06:00.00"/>
- <snapshots id="110" project_id="10" root_project_id="10" root_snapshot_id="[null]" parent_snapshot_id="[null]"
+ <snapshots id="110" component_uuid="EFGH" root_component_uuid="EFGH" root_snapshot_id="[null]" parent_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" path="" depth="0"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/sort_by_alert.xml b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/sort_by_alert.xml
index 24180d95e1a..f3ed36c2b40 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/sort_by_alert.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/measure/MeasureFilterExecutorTest/sort_by_alert.xml
@@ -11,7 +11,7 @@
description="[null]" enabled="[true]" language="[null]" copy_resource_id="[null]" person_id="[null]"
created_at="2008-12-19 00:00:00.00"/>
- <snapshots id="101" project_id="1" root_project_id="1" root_snapshot_id="[null]" parent_snapshot_id="[null]"
+ <snapshots id="101" component_uuid="ABCD" root_component_uuid="ABCD" root_snapshot_id="[null]" parent_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" path="" depth="0"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -36,7 +36,7 @@
created_at="2012-12-12 04:06:00.00"/>
- <snapshots id="110" project_id="10" root_project_id="10" root_snapshot_id="[null]" parent_snapshot_id="[null]"
+ <snapshots id="110" component_uuid="BCDE" root_component_uuid="BCDE" root_snapshot_id="[null]" parent_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" path="" depth="0"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
@@ -60,7 +60,7 @@
created_at="2012-12-12 04:06:00.00"/>
- <snapshots id="120" project_id="20" root_project_id="20" root_snapshot_id="[null]" parent_snapshot_id="[null]"
+ <snapshots id="120" component_uuid="CDEF" root_component_uuid="CDEF" root_snapshot_id="[null]" parent_snapshot_id="[null]"
scope="PRJ" qualifier="TRK" path="" depth="0"
purge_status="[null]" period1_mode="[null]" period1_param="[null]" period1_date="[null]"
period2_mode="[null]" period2_param="[null]" period2_date="[null]" period3_mode="[null]"
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/platform/BackendCleanupMediumTest/shared.xml b/server/sonar-server/src/test/resources/org/sonar/server/platform/BackendCleanupMediumTest/shared.xml
index 800b10343fa..dbe84a89137 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/platform/BackendCleanupMediumTest/shared.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/platform/BackendCleanupMediumTest/shared.xml
@@ -4,7 +4,7 @@
uuid="JKLM" project_uuid="JKLM" module_uuid="[null]" module_uuid_path="."
enabled="[true]" copy_resource_id="[null]" path="[null]"/>
- <snapshots id="100" project_id="100" parent_snapshot_id="[null]" root_project_id="100" root_snapshot_id="[null]"
+ <snapshots id="100" component_uuid="JKLM" parent_snapshot_id="[null]" root_component_uuid="JKLM" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="TRK" version="[null]" path=""/>
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/view/index/ViewIndexerTest/index.xml b/server/sonar-server/src/test/resources/org/sonar/server/view/index/ViewIndexerTest/index.xml
index be3bfa4e5ea..4f0c07b3f5b 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/view/index/ViewIndexerTest/index.xml
+++ b/server/sonar-server/src/test/resources/org/sonar/server/view/index/ViewIndexerTest/index.xml
@@ -3,14 +3,14 @@
<!-- Simple View -->
<projects id="10" uuid="ABCD" project_uuid="ABCD" module_uuid="[null]" module_uuid_path="." copy_resource_id="[null]" enabled="[true]"
kee="MASTER_PROJECT" scope="PRJ" qualifier="VW" name="All projects" path="[null]"/>
- <snapshots id="10" project_id="10" parent_snapshot_id="[null]" root_project_id="10" root_snapshot_id="[null]"
+ <snapshots id="10" component_uuid="ABCD" parent_snapshot_id="[null]" root_component_uuid="ABCD" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="VW" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
<projects id="110" uuid="BCDE" project_uuid="ABCD" module_uuid="ABCD" module_uuid_path=".ABCD." copy_resource_id="100" enabled="[true]"
kee="MASTER_PROJECTorg.struts:struts" scope="FIL" qualifier="TRK" name="Struts" path="[null]"/>
- <snapshots id="110" project_id="110" parent_snapshot_id="[null]" root_project_id="110" root_snapshot_id="[null]"
+ <snapshots id="110" component_uuid="BCDE" parent_snapshot_id="[null]" root_component_uuid="BCDE" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="TRK" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
@@ -18,13 +18,13 @@
<!-- View with sub view -->
<projects id="11" uuid="EFGH" project_uuid="EFGH" module_uuid="[null]" module_uuid_path="." copy_resource_id="[null]" enabled="[true]"
kee="LANGUAGE_VIEW" scope="PRJ" qualifier="VW" name="By Language" path="[null]"/>
- <snapshots id="11" project_id="11" parent_snapshot_id="[null]" root_project_id="11" root_snapshot_id="[null]"
+ <snapshots id="11" component_uuid="EFGH" parent_snapshot_id="[null]" root_component_uuid="EFGH" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="VW" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
<projects id="112" uuid="GHIJ" project_uuid="EFGH" module_uuid="EFGH" module_uuid_path=".EFGH." copy_resource_id="101" enabled="[true]"
kee="VIEW2org.elasticsearch:elasticsearch" scope="FIL" qualifier="TRK" name="SSLR" path="[null]"/>
- <snapshots id="112" project_id="112" parent_snapshot_id="[null]" root_project_id="112" root_snapshot_id="[null]"
+ <snapshots id="112" component_uuid="GHIJ" parent_snapshot_id="[null]" root_component_uuid="GHIJ" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="TRK" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
@@ -32,14 +32,14 @@
<!-- Sub view -->
<projects id="13" uuid="FGHI" project_uuid="EFGH" module_uuid="EFGH" module_uuid_path=".EFGH." copy_resource_id="[null]" enabled="[true]"
kee="JAVA_PROJECTS" scope="PRJ" qualifier="SVW" name="Java projects" path="[null]"/>
- <snapshots id="13" project_id="13" parent_snapshot_id="[null]" root_project_id="13" root_snapshot_id="[null]"
+ <snapshots id="13" component_uuid="FGHI" parent_snapshot_id="[null]" root_component_uuid="FGHI" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="SVW" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
<projects id="113" uuid="HIJK" project_uuid="EFGH" module_uuid="FGHI" module_uuid_path=".EFGH.FGHI." copy_resource_id="100" enabled="[true]"
kee="VIEW2org.struts:struts" scope="FIL" qualifier="TRK" name="Struts" path="[null]"/>
- <snapshots id="113" project_id="113" parent_snapshot_id="[null]" root_project_id="113" root_snapshot_id="[null]"
+ <snapshots id="113" component_uuid="HIJK" parent_snapshot_id="[null]" root_component_uuid="HIJK" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="TRK" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
@@ -47,7 +47,7 @@
<!-- View without project -->
<projects id="14" uuid="IJKL" project_uuid="IJKL" module_uuid="[null]" module_uuid_path="." copy_resource_id="[null]" enabled="[true]"
kee="OTHER" scope="PRJ" qualifier="VW" name="Other projects" path="[null]"/>
- <snapshots id="14" project_id="14" parent_snapshot_id="[null]" root_project_id="14" root_snapshot_id="[null]"
+ <snapshots id="14" component_uuid="IJKL" parent_snapshot_id="[null]" root_component_uuid="IJKL" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="VW" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
@@ -57,7 +57,7 @@
<projects id="100" scope="PRJ" qualifier="TRK" kee="org.struts:struts" name="Struts"
uuid="JKLM" project_uuid="JKLM" module_uuid="[null]" module_uuid_path="."
enabled="[true]" copy_resource_id="[null]" path="[null]"/>
- <snapshots id="100" project_id="100" parent_snapshot_id="[null]" root_project_id="100" root_snapshot_id="[null]"
+ <snapshots id="100" component_uuid="JKLM" parent_snapshot_id="[null]" root_component_uuid="JKLM" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="TRK" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
@@ -65,7 +65,7 @@
<projects id="101" scope="PRJ" qualifier="TRK" kee="org.elasticsearch:elasticsearch" name="Elasticsearch"
uuid="KLMN" project_uuid="KLMN" module_uuid="[null]" module_uuid_path="."
enabled="[true]" copy_resource_id="[null]" path="[null]"/>
- <snapshots id="101" project_id="101" parent_snapshot_id="[null]" root_project_id="101" root_snapshot_id="[null]"
+ <snapshots id="101" component_uuid="KLMN" parent_snapshot_id="[null]" root_component_uuid="KLMN" root_snapshot_id="[null]"
status="P" islast="[true]" purge_status="[null]"
depth="[null]" scope="PRJ" qualifier="TRK" created_at="1228222680000" build_date="1228222680000"
version="[null]" path=""/>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb
index 44277d0885b..7900407f219 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb
@@ -130,10 +130,10 @@ class Api::EventsController < Api::ApiController
if (params[:dateTime])
# try to find a snapshot on that day
date = parse_datetime(params[:dateTime], true)
- root_snapshot = Snapshot.find(:last, :conditions => ["project_id = ? AND created_at >= ? AND created_at <= ?", @resource.id, date.to_i*1000, (date + 1.day).to_i*1000], :order => :created_at)
+ root_snapshot = Snapshot.find(:last, :conditions => ["component_uuid = ? AND created_at >= ? AND created_at <= ?", @resource.uuid, date.to_i*1000, (date + 1.day).to_i*1000], :order => :created_at)
raise "No snapshot exists for given date" unless root_snapshot
else
- root_snapshot = Snapshot.find(:last, :conditions => ["project_id = ?", @resource.id], :order => :created_at)
+ root_snapshot = Snapshot.find(:last, :conditions => ["component_uuid = ?", @resource.uuid], :order => :created_at)
end
raise "A version already exists on this resource." if params[:category]==EventCategory::KEY_VERSION && root_snapshot.event(EventCategory::KEY_VERSION)
@@ -161,7 +161,7 @@ class Api::EventsController < Api::ApiController
:event_date => snapshot.created_at
)
event.save!
- event_to_return = event if snapshot.project_id = @resource.id
+ event_to_return = event if snapshot.component_uuid = @resource.uuid
end
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb
index cac85bb1e1d..de02d22c9cd 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb
@@ -38,7 +38,7 @@ class Api::ProjectsController < Api::ApiController
begin
@show_description=(params[:desc]=='true')
@projects=load_projects
- @snapshots_by_pid=load_snapshots_by_project
+ @snapshots_by_puuid=load_snapshots_by_project
respond_to do |format|
format.json{ render :json => jsonp(to_json) }
format.xml { render :xml => to_xml }
@@ -115,7 +115,7 @@ class Api::ProjectsController < Api::ApiController
end
# this is really an advanced optimization !
- select_columns='id,kee,name,language,long_name,scope,qualifier,root_id'
+ select_columns='id,uuid,kee,name,language,long_name,scope,qualifier,root_id'
select_columns += ',description' if @show_description
projects=Project.find(:all, :select => select_columns, :conditions => [conditions.join(' AND '), values], :order => 'name')
@@ -123,21 +123,21 @@ class Api::ProjectsController < Api::ApiController
end
def load_snapshots_by_project
- select_columns='id,project_id,version,islast,created_at'
+ select_columns='id,component_uuid,version,islast,created_at'
if params[:versions]=='true'
- snapshots=Snapshot.find_by_sql(["SELECT #{select_columns} FROM snapshots s1 WHERE s1.status=? AND s1.project_id IN (?) AND NOT EXISTS(SELECT * FROM snapshots s2 WHERE s2.project_id=s1.project_id AND s2.created_at>s1.created_at AND s2.version=s1.version)", 'P', @projects.map{|p| p.id}])
+ snapshots=Snapshot.find_by_sql(["SELECT #{select_columns} FROM snapshots s1 WHERE s1.status=? AND s1.component_uuid IN (?) AND NOT EXISTS(SELECT * FROM snapshots s2 WHERE s2.component_uuid=s1.component_uuid AND s2.created_at>s1.created_at AND s2.version=s1.version)", 'P', @projects.map{|p| p.uuid}])
elsif params[:versions]=='last'
- snapshots=Snapshot.find_by_sql(["SELECT #{select_columns} FROM snapshots s1 WHERE s1.status=? AND islast=? AND s1.project_id IN (?) AND NOT EXISTS(SELECT * FROM snapshots s2 WHERE s2.project_id=s1.project_id AND s2.created_at>s1.created_at AND s2.version=s1.version)", 'P', true, @projects.map{|p| p.id}])
+ snapshots=Snapshot.find_by_sql(["SELECT #{select_columns} FROM snapshots s1 WHERE s1.status=? AND islast=? AND s1.component_uuid IN (?) AND NOT EXISTS(SELECT * FROM snapshots s2 WHERE s2.component_uuid=s1.component_uuid AND s2.created_at>s1.created_at AND s2.version=s1.version)", 'P', true, @projects.map{|p| p.uuid}])
else
snapshots=[]
end
- snapshots_by_project_id={}
+ snapshots_by_project_uuid={}
snapshots.each do |s|
- snapshots_by_project_id[s.project_id]||=[]
- snapshots_by_project_id[s.project_id]<<s
+ snapshots_by_project_uuid[s.component_uuid]||=[]
+ snapshots_by_project_uuid[s.component_uuid]<<s
end
- snapshots_by_project_id
+ snapshots_by_project_uuid
end
def to_json
@@ -145,9 +145,9 @@ class Api::ProjectsController < Api::ApiController
@projects.each do |project|
hash=to_json_hash(project)
- if @snapshots_by_pid && @snapshots_by_pid[project.id]
+ if @snapshots_by_puuid && @snapshots_by_puuid[project.uuid]
versions={}
- @snapshots_by_pid[project.id].sort{|s1,s2| s2.version <=> s1.version}.each do |snapshot|
+ @snapshots_by_puuid[project.uuid].sort{|s1,s2| s2.version <=> s1.version}.each do |snapshot|
version={:sid => snapshot.id.to_s}
version[:d]=Api::Utils.format_datetime(snapshot.created_at) if snapshot.created_at
if snapshot.last?
@@ -189,8 +189,8 @@ class Api::ProjectsController < Api::ApiController
xml.qualifier(project.qualifier)
xml.desc(project.description) if @show_description && project.description
- if @snapshots_by_pid && @snapshots_by_pid[project.id]
- @snapshots_by_pid[project.id].sort{|s1,s2| s2.version <=> s1.version}.each do |snapshot|
+ if @snapshots_by_puuid && @snapshots_by_puuid[project.uuid]
+ @snapshots_by_puuid[project.id].sort{|s1,s2| s2.version <=> s1.version}.each do |snapshot|
attributes={:sid => snapshot.id.to_s, :last => snapshot.last?}
attributes[:date]=Api::Utils.format_datetime(snapshot.created_at) if snapshot.created_at
xml.version(snapshot.version, attributes)
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb
index 35f9baa870b..9be60b5114a 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb
@@ -227,10 +227,10 @@ class Api::ResourcesController < Api::ApiController
# ---------- PREPARE RESPONSE
resource_by_sid={}
- snapshots_by_rid={}
+ snapshots_by_uuid={}
snapshots_including_resource.each do |snapshot|
resource_by_sid[snapshot.id]=snapshot.project
- snapshots_by_rid[snapshot.project_id]=snapshot
+ snapshots_by_uuid[snapshot.component_uuid]=snapshot
end
@@ -248,7 +248,7 @@ class Api::ResourcesController < Api::ApiController
sorted_resources=sorted_resources.uniq.compact
# ---------- FORMAT RESPONSE
- objects={:sorted_resources => sorted_resources, :snapshots_by_rid => snapshots_by_rid, :measures_by_sid => measures_by_sid, :params => params}
+ objects={:sorted_resources => sorted_resources, :snapshots_by_uuid => snapshots_by_uuid, :measures_by_sid => measures_by_sid, :params => params}
respond_to do |format|
format.json { render :json => jsonp(to_json(objects)) }
format.xml { render :xml => to_xml(objects) }
@@ -277,13 +277,13 @@ class Api::ResourcesController < Api::ApiController
def to_json(objects)
resources = objects[:sorted_resources]
- snapshots_by_rid = objects[:snapshots_by_rid]
+ snapshots_by_uuid = objects[:snapshots_by_uuid]
measures_by_sid = objects[:measures_by_sid]
params = objects[:params]
result=[]
resources.each do |resource|
- snapshot=snapshots_by_rid[resource.id]
+ snapshot=snapshots_by_uuid[resource.uuid]
result<<resource_to_json(resource, snapshot, measures_by_sid[snapshot.id], params)
end
result
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb
index 746e1a32418..4a3f6ac09a9 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb
@@ -68,8 +68,8 @@ class Api::TimemachineController < Api::ApiController
@measures_by_sid={}
unless @metrics.empty?
- sql_conditions = ['snapshots.project_id=:rid AND snapshots.status=:status AND project_measures.person_id IS NULL']
- sql_values = {:rid => @resource.id, :status => Snapshot::STATUS_PROCESSED}
+ sql_conditions = ['snapshots.component_uuid=:rid AND snapshots.status=:status AND project_measures.person_id IS NULL']
+ sql_values = {:rid => @resource.uuid, :status => Snapshot::STATUS_PROCESSED}
if params[:fromDateTime]
from = parse_datetime(params[:fromDateTime])
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
index 169e153b56a..16fbb908651 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
@@ -221,7 +221,7 @@ class ProjectController < ApplicationController
end
@snapshot=@project.last_snapshot
- @snapshots = Snapshot.all(:conditions => ["status='P' AND project_id=?", @project.id],
+ @snapshots = Snapshot.all(:conditions => ["status='P' AND component_uuid=?", @project.uuid],
:include => 'events', :order => 'snapshots.created_at DESC')
end
@@ -320,7 +320,7 @@ class ProjectController < ApplicationController
end
end
- redirect_to :action => 'history', :id => snapshot.root_project_id
+ redirect_to :action => 'history', :id => snapshot.root_project.id
end
def delete_version
@@ -329,7 +329,7 @@ class ProjectController < ApplicationController
access_denied unless is_admin?(parent_snapshot)
# We update all the related snapshots to have the same version as the next snapshot
- next_snapshot = Snapshot.find(:first, :conditions => ['created_at>? and project_id=?', parent_snapshot.created_at.to_i*1000, parent_snapshot.project_id], :order => 'created_at asc')
+ next_snapshot = Snapshot.find(:first, :conditions => ['created_at>? and component_uuid=?', parent_snapshot.created_at.to_i*1000, parent_snapshot.component_uuid], :order => 'created_at asc')
snapshots = find_project_snapshots(parent_snapshot.id)
snapshots.each do |snapshot|
snapshot.version = next_snapshot.version
@@ -348,7 +348,7 @@ class ProjectController < ApplicationController
end
flash[:notice] = message('project_history.version_removed', :params => h(old_version_name))
- redirect_to :action => 'history', :id => parent_snapshot.root_project_id
+ redirect_to :action => 'history', :id => parent_snapshot.root_project.id
end
def create_event
@@ -371,7 +371,7 @@ class ProjectController < ApplicationController
flash[:notice] = message('project_history.event_created', :params => h(params[:event_name]))
end
- redirect_to :action => 'history', :id => snapshot.project_id
+ redirect_to :action => 'history', :id => snapshot.project.id
end
def update_event
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb
index b9d1b345cf7..6133eaead1e 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb
@@ -70,7 +70,7 @@ class Event < ActiveRecord::Base
#
def self.already_exists(snapshot_id, event_name, event_category)
snapshot = Snapshot.find(snapshot_id.to_i)
- snapshots = Snapshot.find(:all, :conditions => ["status='P' AND project_id=?", snapshot.project_id], :include => 'events')
+ snapshots = Snapshot.find(:all, :conditions => ["status='P' AND component_uuid=?", snapshot.component_uuid], :include => 'events')
snapshots.each do |snapshot|
snapshot.events.each do |event|
return true if event.name==event_name && event.category==event_category
@@ -82,6 +82,6 @@ class Event < ActiveRecord::Base
def populate_snapshot
self.created_at=DateTime.now unless self.created_at
- self.snapshot=Snapshot.snapshot_by_date(resource_id, event_date) unless self.snapshot
+ self.snapshot=Snapshot.snapshot_by_date(snapshot.uuid, event_date) unless self.snapshot
end
end
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb
index ad9713b3dbe..2a24b78060e 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb
@@ -287,15 +287,11 @@ class MeasureFilter < ActiveRecord::Base
end
if require_links?
- project_ids = []
project_uuids = []
- project_id_by_uuid = {}
- rows_by_project_id = {}
+ rows_by_project_uuid = {}
snapshots.each do |snapshot|
- project_ids << snapshot.project_id
- project_uuids << snapshot.project.uuid
- project_id_by_uuid[snapshot.project.uuid] = snapshot.project_id
- rows_by_project_id[snapshot.project_id] = rows_by_snapshot_id[snapshot.id]
+ project_uuids << snapshot.component_uuid
+ rows_by_project_uuid[snapshot.component_uuid] = rows_by_snapshot_id[snapshot.id]
end
links = []
@@ -303,7 +299,7 @@ class MeasureFilter < ActiveRecord::Base
links.concat(ProjectLink.all(:conditions => {:component_uuid => safe_for_oracle_uuids}, :order => 'link_type'))
end
links.each do |link|
- rows_by_project_id[project_id_by_uuid[link.component_uuid]].add_link(link)
+ rows_by_project_uuid[link.component_uuid].add_link(link)
end
end
end
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb
index 668c75ebd46..b3c0ec0dbc3 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb
@@ -21,8 +21,8 @@ class Project < ActiveRecord::Base
include Comparable
include Resourceable
- has_many :snapshots
- has_many :processed_snapshots, :class_name => 'Snapshot', :conditions => "status='#{Snapshot::STATUS_PROCESSED}' AND qualifier<>'LIB'", :order => 'created_at asc'
+ has_many :snapshots, :class_name => 'Snapshot', :foreign_key => 'component_uuid', :primary_key => 'uuid'
+ has_many :processed_snapshots, :class_name => 'Snapshot', :foreign_key => 'component_uuid', :primary_key => 'uuid', :conditions => "status='#{Snapshot::STATUS_PROCESSED}' AND qualifier<>'LIB'", :order => 'created_at asc'
has_many :events, :foreign_key => 'component_uuid', :primary_key => 'uuid', :order => 'event_date DESC'
has_many :project_links, :foreign_key => 'component_uuid', :primary_key => 'uuid', :dependent => :delete_all, :order => 'link_type'
has_many :user_roles, :foreign_key => 'resource_id'
@@ -108,7 +108,7 @@ class Project < ActiveRecord::Base
def last_snapshot
@last_snapshot ||=
begin
- snapshot=Snapshot.first(:conditions => {:islast => true, :project_id => id})
+ snapshot=Snapshot.first(:conditions => {:islast => true, :component_uuid => uuid})
if snapshot
snapshot.project=self
end
@@ -146,7 +146,7 @@ class Project < ActiveRecord::Base
' from project_measures m, snapshots s ' +
' where s.id=m.snapshot_id and ' +
" s.status='%s' and " +
- ' s.project_id=%s and m.metric_id=%s ', 'P', self.id, metric_id]) +
+ ' s.component_uuid=%s and m.metric_id=%s ', 'P', self.uuid, metric_id]) +
' and m.person_id IS NULL' +
' order by s.created_at'
create_chart_measures(Project.connection.select_all(sql), 'created_at', 'value')
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb
index f929f119e6f..9d17cfe325e 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb
@@ -21,8 +21,8 @@ class Snapshot < ActiveRecord::Base
include Resourceable
acts_as_tree :foreign_key => 'parent_snapshot_id'
- belongs_to :project
- belongs_to :root_project, :class_name => 'Project', :foreign_key => 'root_project_id'
+ belongs_to :project, :class_name => 'Project', :foreign_key => 'component_uuid',:primary_key => 'uuid'
+ belongs_to :root_project, :class_name => 'Project', :foreign_key => 'root_component_uuid',:primary_key => 'uuid'
belongs_to :parent_snapshot, :class_name => 'Snapshot', :foreign_key => 'parent_snapshot_id'
belongs_to :root_snapshot, :class_name => 'Snapshot', :foreign_key => 'root_snapshot_id'
@@ -75,7 +75,7 @@ class Snapshot < ActiveRecord::Base
# 2. project B, which depends on A 1.0, is analyzed -> new snapshot A 1.0 with qualifier LIB.
# 3. project A has 2 snapshots : the first one with qualifier=TRK has measures, the second one with qualifier LIB has no measures. Its version must not be used in time machine
# That's why the 2 following SQL requests check the qualifiers (and optionally scopes, just to be sure)
- snapshots=Snapshot.find(:all, :conditions => ["snapshots.project_id=? AND events.snapshot_id=snapshots.id AND snapshots.status=? AND snapshots.scope=? AND snapshots.qualifier=?", resource.id, STATUS_PROCESSED, resource.scope, resource.qualifier],
+ snapshots=Snapshot.find(:all, :conditions => ["snapshots.component_uuid=? AND events.snapshot_id=snapshots.id AND snapshots.status=? AND snapshots.scope=? AND snapshots.qualifier=?", resource.uuid, STATUS_PROCESSED, resource.scope, resource.qualifier],
:include => 'events',
:order => 'snapshots.created_at ASC')
@@ -84,7 +84,7 @@ class Snapshot < ActiveRecord::Base
snapshots=snapshots[-5, 5] if snapshots.size>=5
snapshots.insert(0, Snapshot.find(:first,
- :conditions => ["project_id=? AND status=? AND scope=? AND qualifier=?", resource.id, STATUS_PROCESSED, resource.scope, resource.qualifier],
+ :conditions => ["component_uuid=? AND status=? AND scope=? AND qualifier=?", resource.uuid, STATUS_PROCESSED, resource.scope, resource.qualifier],
:include => 'project', :order => 'snapshots.created_at ASC', :limit => 1))
snapshots.compact.uniq
@@ -97,7 +97,7 @@ class Snapshot < ActiveRecord::Base
end
# Get 1rst & latests snapshots of the period
- snapshot_conditions = ["snapshots.project_id=? AND snapshots.status=? AND snapshots.scope=? AND snapshots.qualifier=?", resource.id, STATUS_PROCESSED, resource.scope, resource.qualifier]
+ snapshot_conditions = ["snapshots.component_uuid=? AND snapshots.status=? AND snapshots.scope=? AND snapshots.qualifier=?", resource.uuid, STATUS_PROCESSED, resource.scope, resource.qualifier]
if options[:from]
snapshot_conditions[0] += " AND snapshots.created_at>=?"
snapshot_conditions << options[:from].to_i * 1000
@@ -196,9 +196,9 @@ class Snapshot < ActiveRecord::Base
nil
end
- def self.snapshot_by_date(resource_id, date)
- if resource_id && date
- Snapshot.find(:first, :conditions => ['created_at>=? and created_at<? and project_id=?', date.beginning_of_day.to_i*1000, date.end_of_day.to_i*1000, resource_id], :order => 'created_at desc')
+ def self.snapshot_by_date(resource_uuid, date)
+ if resource_uuid && date
+ Snapshot.find(:first, :conditions => ['created_at>=? and created_at<? and component_uuid=?', date.beginning_of_day.to_i*1000, date.end_of_day.to_i*1000, resource_uuid], :order => 'created_at desc')
else
nil
end
@@ -209,7 +209,7 @@ class Snapshot < ActiveRecord::Base
end
def resource_id
- project_id
+ project.id
end
def periods?
@@ -217,7 +217,7 @@ class Snapshot < ActiveRecord::Base
end
def resource_id_for_authorization
- root_project_id || project_id
+ root_project.id
end
def path_name
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb
index 0780981546e..f681c28b3d7 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb
@@ -24,9 +24,9 @@ class TrendsChart
sql= "select s.created_at as created_at, m.value as value, m.metric_id as metric_id, s.id as sid " +
" from project_measures m LEFT OUTER JOIN snapshots s ON s.id=m.snapshot_id " +
" where s.status=? " +
- " and s.project_id=? " +
+ " and s.component_uuid=? " +
" and m.metric_id in (?) " +
- " and m.person_id is null"
+ " and m.person_id is null"
if (options[:from])
sql += ' and s.created_at>=?'
end
@@ -34,7 +34,7 @@ class TrendsChart
sql += ' and s.created_at<=?'
end
sql += ' order by s.created_at ASC'
- conditions=[sql, Snapshot::STATUS_PROCESSED, resource.id, metric_ids]
+ conditions=[sql, Snapshot::STATUS_PROCESSED, resource.uuid, metric_ids]
if (options[:from])
conditions<<options[:from].to_i*1000
end