diff options
Diffstat (limited to 'server')
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 |