aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java101
-rw-r--r--server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java4
-rw-r--r--server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java75
-rw-r--r--server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeTaskSubmit.java31
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/BranchPersisterImplIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ComponentUuidFactoryImplIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ProjectPersisterIT.java10
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ReferenceBranchComponentUuidsIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/SiblingComponentsWithOpenIssuesIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/FileMoveDetectionStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/PullRequestFileMoveDetectionStepIT.java19
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/AdHocRuleCreatorIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ComponentIssuesLoaderIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/DefaultAssigneeIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/IntegrateIssuesVisitorIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ProjectTrackerBaseLazyInputIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ScmAccountToUserLoaderIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssueMergerIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SourceBranchComponentUuidsIT.java8
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TargetBranchComponentUuidsIT.java14
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerReferenceBranchInputFactoryIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerSourceBranchInputFactoryIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerTargetBranchInputFactoryIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/measure/MeasureRepositoryImplIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/metric/MetricRepositoryImplIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/period/NewCodeReferenceBranchComponentUuidsIT.java15
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoDbLoaderIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/DbLineHashVersionIT.java8
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/CleanIssueChangesStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/EnableAnalysisStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ExtractReportStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadCrossProjectDuplicationsRepositoryStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadFileHashesAndStatusStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadPeriodsStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStepIT.java24
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAdHocRulesStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAnalysisPropertiesStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistCrossProjectDuplicationIndexStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistDuplicationDataStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistEventsStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistLiveMeasuresStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistMeasuresStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistProjectLinksStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistPushEventsStepIT.java6
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerAnalysisCacheStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerContextStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ProjectNclocComputationStepIT.java12
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistAnalysisStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistComponentsStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/SendIssueNotificationsStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateNeedIssueSyncStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateQualityProfilesLastUsedDateStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ValidateProjectStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistAnalysisStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistComponentsStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/AuditPurgeStepIT.java4
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStepIT.java19
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IndexIssuesStepIT.java27
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/analysis/ExportAnalysesStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/branches/ExportBranchesStepIT.java22
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/component/ExportComponentsStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/file/ExportLineHashesStepIT.java13
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStepIT.java35
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/rule/ExportAdHocRulesStepIT.java53
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportEventsStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLinksStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLiveMeasuresStepIT.java12
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMeasuresStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMetricsStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportNewCodePeriodsStepIT.java30
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportSettingsStepIT.java10
-rw-r--r--server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/LoadProjectStepIT.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStep.java8
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java17
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStep.java4
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStep.java5
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/taskprocessor/ProjectExportTaskProcessor.java4
-rw-r--r--server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutorTest.java9
-rw-r--r--server/sonar-ce-task/src/main/java/org/sonar/ce/task/CeTask.java20
-rw-r--r--server/sonar-ce-task/src/test/java/org/sonar/ce/task/CeTaskTest.java22
-rw-r--r--server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java129
-rw-r--r--server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java18
-rw-r--r--server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java5
-rw-r--r--server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CEQueueStatusImpl.java2
-rw-r--r--server/sonar-ce/src/main/java/org/sonar/ce/queue/InternalCeQueueImpl.java8
-rw-r--r--server/sonar-ce/src/main/java/org/sonar/ce/queue/NextPendingTaskPicker.java10
-rw-r--r--server/sonar-ce/src/main/java/org/sonar/ce/taskprocessor/CeWorkerImpl.java2
-rw-r--r--server/sonar-ce/src/test/java/org/sonar/ce/taskprocessor/CeTaskProcessorRepositoryImplTest.java4
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeActivityDaoIT.java122
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeQueueDaoIT.java148
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/measure/LiveMeasureDaoIT.java139
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/measure/MeasureDaoIT.java12
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeDaoIT.java18
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/pushevent/PushEventDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoIT.java126
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateConditionDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateGroupPermissionsDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateUserPermissionsDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/ActiveRuleDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/DefaultQProfileDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileChangeDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditGroupsDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditUsersDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileDaoIT.java85
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileExportDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/source/FileSourceDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDao.java6
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDto.java28
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityMapper.java2
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java28
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDto.java24
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java8
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskQuery.java20
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/PrOrBranchTask.java6
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/ce/QueueCount.java6
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureDao.java4
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureMapper.java2
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMainBranchLiveMeasureDto.java49
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileDao.java10
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileMapper.java2
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml18
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml50
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/measure/LiveMeasureMapper.xml16
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml14
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QualityProfileMapper.xml8
-rw-r--r--server/sonar-db-dao/src/schema/schema-sq.ddl8
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeActivityDtoTest.java20
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDtoTest.java16
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeTaskQueryTest.java42
-rw-r--r--server/sonar-db-dao/src/testFixtures/java/org/sonar/db/ce/CeQueueTesting.java2
-rw-r--r--server/sonar-db-dao/src/testFixtures/java/org/sonar/db/component/ComponentTesting.java24
-rw-r--r--server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java4
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/DbVersion102.java5
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivity.java34
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueue.java34
-rw-r--r--server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivityTest.java52
-rw-r--r--server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueueTest.java52
-rw-r--r--server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivityTest/schema.sql32
-rw-r--r--server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueueTest/schema.sql16
-rw-r--r--server/sonar-server-common/src/test/java/org/sonar/server/webhook/CeTaskTest.java2
-rw-r--r--server/sonar-webserver-core/src/main/java/org/sonar/server/issue/index/AsyncIssueIndexingImpl.java4
-rw-r--r--server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java5
-rw-r--r--server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java8
-rw-r--r--server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java2
-rw-r--r--server/sonar-webserver-monitoring/src/main/java/org/sonar/server/monitoring/ce/RecentTasksDurationTask.java20
-rw-r--r--server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ce/RecentTasksDurationTaskTest.java30
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/batch/ProjectDataLoaderIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/BranchReportSubmitterIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/ReportSubmitterIT.java6
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java4
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java4
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/AnalysisStatusActionIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ComponentActionIT.java4
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureComputerImplIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureTreeUpdaterImplIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/project/ws/UpdateVisibilityActionIT.java22
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/projectdump/ws/ExportActionIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/DeselectActionIT.java4
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/SelectActionIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/SourceServiceIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/IndexActionIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/LinesActionIT.java12
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/ScmActionIT.java2
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/ws/DeleteAction.java1
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityAction.java4
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityStatusAction.java16
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ComponentAction.java4
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java4
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/DeleteAction.java1
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/UpdateVisibilityAction.java11
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/SearchAction.java4
-rw-r--r--server/sonar-webserver-webapi/src/main/resources/org/sonar/server/ce/ws/submit-example.json2
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/ws/SubmitActionTest.java10
179 files changed, 1320 insertions, 1127 deletions
diff --git a/server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java b/server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java
index 12195d1aac8..32f62b39957 100644
--- a/server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java
+++ b/server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java
@@ -39,8 +39,11 @@ import org.sonar.db.DbTester;
import org.sonar.db.ce.CeActivityDto;
import org.sonar.db.ce.CeQueueDto;
import org.sonar.db.ce.CeTaskTypes;
+import org.sonar.db.component.BranchDto;
import org.sonar.db.component.ComponentDto;
-import org.sonar.db.component.ComponentTesting;
+import org.sonar.db.component.ProjectData;
+import org.sonar.db.entity.EntityDto;
+import org.sonar.db.project.ProjectDto;
import org.sonar.db.user.UserDto;
import org.sonar.db.user.UserTesting;
import org.sonar.server.platform.NodeInformation;
@@ -55,7 +58,7 @@ import static org.assertj.core.api.Assertions.catchThrowable;
import static org.assertj.core.api.Assertions.tuple;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import static org.sonar.ce.queue.CeQueue.SubmitOption.UNIQUE_QUEUE_PER_MAIN_COMPONENT;
+import static org.sonar.ce.queue.CeQueue.SubmitOption.UNIQUE_QUEUE_PER_ENTITY;
import static org.sonar.ce.queue.CeQueue.SubmitOption.UNIQUE_QUEUE_PER_TASK_TYPE;
public class CeQueueImplIT {
@@ -86,18 +89,18 @@ public class CeQueueImplIT {
CeTask task = underTest.submit(taskSubmit);
- verifyCeTask(taskSubmit, task, null, userDto);
+ verifyCeTask(taskSubmit, task, null, null, userDto);
verifyCeQueueDtoForTaskSubmit(taskSubmit);
}
@Test
public void submit_populates_component_name_and_key_of_CeTask_if_component_exists() {
- ComponentDto componentDto = insertComponent(ComponentTesting.newPrivateProjectDto("PROJECT_1"));
- CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(componentDto.uuid(), componentDto.uuid()), null);
+ ProjectData projectData = db.components().insertPrivateProject("PROJECT_1");
+ CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(projectData.getMainBranchDto()), null);
CeTask task = underTest.submit(taskSubmit);
- verifyCeTask(taskSubmit, task, componentDto, null);
+ verifyCeTask(taskSubmit, task, projectData.getProjectDto(), projectData.getMainBranchDto(), null);
}
@Test
@@ -106,7 +109,7 @@ public class CeQueueImplIT {
CeTask task = underTest.submit(taskSubmit);
- verifyCeTask(taskSubmit, task, null, null);
+ verifyCeTask(taskSubmit, task, null, null, null);
}
@Test
@@ -116,7 +119,7 @@ public class CeQueueImplIT {
CeTask task = underTest.submit(taskSubmit);
- verifyCeTask(taskSubmit, task, null, userDto);
+ verifyCeTask(taskSubmit, task, null, null, userDto);
}
@Test
@@ -124,7 +127,7 @@ public class CeQueueImplIT {
CeTaskSubmit taskSubmit = createTaskSubmit("no_component");
CeQueueDto dto = insertPendingInQueue(null);
- Optional<CeTask> task = underTest.submit(taskSubmit, UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ Optional<CeTask> task = underTest.submit(taskSubmit, UNIQUE_QUEUE_PER_ENTITY);
assertThat(task).isNotEmpty();
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
@@ -139,7 +142,7 @@ public class CeQueueImplIT {
CeTaskSubmit taskSubmit = createTaskSubmit("with_component", newComponent(mainComponentUuid), null);
CeQueueDto dto = insertPendingInQueue(newComponent(otherMainComponentUuid));
- Optional<CeTask> task = underTest.submit(taskSubmit, UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ Optional<CeTask> task = underTest.submit(taskSubmit, UNIQUE_QUEUE_PER_ENTITY);
assertThat(task).isNotEmpty();
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
@@ -153,7 +156,7 @@ public class CeQueueImplIT {
CeTaskSubmit taskSubmit = createTaskSubmit("with_component", newComponent(mainComponentUuid), null);
CeQueueDto dto = insertPendingInQueue(newComponent(mainComponentUuid));
- Optional<CeTask> task = underTest.submit(taskSubmit, UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ Optional<CeTask> task = underTest.submit(taskSubmit, UNIQUE_QUEUE_PER_ENTITY);
assertThat(task).isEmpty();
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
@@ -170,7 +173,7 @@ public class CeQueueImplIT {
.map(CeQueueDto::getUuid)
.toArray(String[]::new);
- Optional<CeTask> task = underTest.submit(taskSubmit, UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ Optional<CeTask> task = underTest.submit(taskSubmit, UNIQUE_QUEUE_PER_ENTITY);
assertThat(task).isEmpty();
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
@@ -235,38 +238,38 @@ public class CeQueueImplIT {
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
assertThat(tasks).hasSize(2);
- verifyCeTask(taskSubmit1, tasks.get(0), null, userDto1);
- verifyCeTask(taskSubmit2, tasks.get(1), null, null);
+ verifyCeTask(taskSubmit1, tasks.get(0), null, null, userDto1);
+ verifyCeTask(taskSubmit2, tasks.get(1), null, null, null);
verifyCeQueueDtoForTaskSubmit(taskSubmit1);
verifyCeQueueDtoForTaskSubmit(taskSubmit2);
}
@Test
public void massSubmit_populates_component_name_and_key_of_CeTask_if_project_exists() {
- ComponentDto componentDto1 = insertComponent(ComponentTesting.newPrivateProjectDto("PROJECT_1"));
- CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(componentDto1.uuid(), componentDto1.uuid()), null);
+ ProjectData projectData = db.components().insertPrivateProject("PROJECT_1");
+ CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(projectData.getMainBranchDto()), null);
CeTaskSubmit taskSubmit2 = createTaskSubmit("something", newComponent(randomAlphabetic(12)), null);
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
assertThat(tasks).hasSize(2);
- verifyCeTask(taskSubmit1, tasks.get(0), componentDto1, null);
- verifyCeTask(taskSubmit2, tasks.get(1), null, null);
+ verifyCeTask(taskSubmit1, tasks.get(0), projectData.getProjectDto(), projectData.getMainBranchDto(), null);
+ verifyCeTask(taskSubmit2, tasks.get(1), null, null, null);
}
@Test
public void massSubmit_populates_component_name_and_key_of_CeTask_if_project_and_branch_exists() {
- ComponentDto project = db.components().insertPublicProject(p -> p.setUuid("PROJECT_1").setBranchUuid("PROJECT_1")).getMainBranchComponent();
- ComponentDto branch1 = db.components().insertProjectBranch(project);
- ComponentDto branch2 = db.components().insertProjectBranch(project);
- CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(branch1.uuid(), project.uuid()), null);
- CeTaskSubmit taskSubmit2 = createTaskSubmit("something", Component.fromDto(branch2.uuid(), project.uuid()), null);
+ ProjectDto project = db.components().insertPublicProject(p -> p.setUuid("PROJECT_1").setBranchUuid("PROJECT_1")).getProjectDto();
+ BranchDto branch1 = db.components().insertProjectBranch(project);
+ BranchDto branch2 = db.components().insertProjectBranch(project);
+ CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(branch1.getUuid(), project.getUuid()), null);
+ CeTaskSubmit taskSubmit2 = createTaskSubmit("something", Component.fromDto(branch2.getUuid(), project.getUuid()), null);
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
assertThat(tasks).hasSize(2);
- verifyCeTask(taskSubmit1, tasks.get(0), branch1, project, null);
- verifyCeTask(taskSubmit2, tasks.get(1), branch2, project, null);
+ verifyCeTask(taskSubmit1, tasks.get(0), project, branch1, null);
+ verifyCeTask(taskSubmit2, tasks.get(1), project, branch2, null);
}
@Test
@@ -274,7 +277,7 @@ public class CeQueueImplIT {
CeTaskSubmit taskSubmit = createTaskSubmit("no_component");
CeQueueDto dto = insertPendingInQueue(null);
- List<CeTask> tasks = underTest.massSubmit(of(taskSubmit), UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ List<CeTask> tasks = underTest.massSubmit(of(taskSubmit), UNIQUE_QUEUE_PER_ENTITY);
assertThat(tasks).hasSize(1);
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
@@ -289,7 +292,7 @@ public class CeQueueImplIT {
CeTaskSubmit taskSubmit = createTaskSubmit("with_component", newComponent(mainComponentUuid), null);
CeQueueDto dto = insertPendingInQueue(newComponent(otherMainComponentUuid));
- List<CeTask> tasks = underTest.massSubmit(of(taskSubmit), UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ List<CeTask> tasks = underTest.massSubmit(of(taskSubmit), UNIQUE_QUEUE_PER_ENTITY);
assertThat(tasks).hasSize(1);
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
@@ -303,7 +306,7 @@ public class CeQueueImplIT {
CeTaskSubmit taskSubmit = createTaskSubmit("with_component", newComponent(mainComponentUuid), null);
CeQueueDto dto = insertPendingInQueue(newComponent(mainComponentUuid));
- List<CeTask> tasks = underTest.massSubmit(of(taskSubmit), UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ List<CeTask> tasks = underTest.massSubmit(of(taskSubmit), UNIQUE_QUEUE_PER_ENTITY);
assertThat(tasks).isEmpty();
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
@@ -320,7 +323,7 @@ public class CeQueueImplIT {
.map(CeQueueDto::getUuid)
.toArray(String[]::new);
- List<CeTask> tasks = underTest.massSubmit(of(taskSubmit), UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ List<CeTask> tasks = underTest.massSubmit(of(taskSubmit), UNIQUE_QUEUE_PER_ENTITY);
assertThat(tasks).isEmpty();
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
@@ -382,13 +385,13 @@ public class CeQueueImplIT {
CeTaskSubmit taskSubmit5 = createTaskSubmit("with_pending_2", newComponent(mainComponentUuid5), null);
CeQueueDto dto5 = insertPendingInQueue(newComponent(mainComponentUuid5));
- List<CeTask> tasks = underTest.massSubmit(of(taskSubmit1, taskSubmit2, taskSubmit3, taskSubmit4, taskSubmit5), UNIQUE_QUEUE_PER_MAIN_COMPONENT);
+ List<CeTask> tasks = underTest.massSubmit(of(taskSubmit1, taskSubmit2, taskSubmit3, taskSubmit4, taskSubmit5), UNIQUE_QUEUE_PER_ENTITY);
assertThat(tasks)
.hasSize(2)
- .extracting(task -> task.getComponent().get().getUuid(), task -> task.getMainComponent().get().getUuid())
- .containsOnly(tuple(componentForMainComponentUuid2.getUuid(), componentForMainComponentUuid2.getMainComponentUuid()),
- tuple(componentForMainComponentUuid4.getUuid(), componentForMainComponentUuid4.getMainComponentUuid()));
+ .extracting(task -> task.getComponent().get().getUuid(), task -> task.getEntity().get().getUuid())
+ .containsOnly(tuple(componentForMainComponentUuid2.getUuid(), componentForMainComponentUuid2.getEntityUuid()),
+ tuple(componentForMainComponentUuid4.getUuid(), componentForMainComponentUuid4.getEntityUuid()));
assertThat(db.getDbClient().ceQueueDao().selectAllInAscOrder(db.getSession()))
.extracting(CeQueueDto::getUuid)
.hasSize(1 + uuids3.length + 1 + tasks.size())
@@ -565,31 +568,27 @@ public class CeQueueImplIT {
.hasMessage("Task is not in-progress and can't be marked as failed [uuid=" + task.getUuid() + "]");
}
- private void verifyCeTask(CeTaskSubmit taskSubmit, CeTask task, @Nullable ComponentDto componentDto, UserDto userDto) {
- verifyCeTask(taskSubmit, task, componentDto, componentDto, userDto);
- }
-
- private void verifyCeTask(CeTaskSubmit taskSubmit, CeTask task, @Nullable ComponentDto componentDto, @Nullable ComponentDto mainComponentDto, @Nullable UserDto userDto) {
+ private void verifyCeTask(CeTaskSubmit taskSubmit, CeTask task, @Nullable EntityDto entityDto, @Nullable BranchDto branch, @Nullable UserDto userDto) {
assertThat(task.getUuid()).isEqualTo(taskSubmit.getUuid());
- if (componentDto != null) {
+ if (branch != null) {
CeTask.Component component = task.getComponent().get();
- assertThat(component.getUuid()).isEqualTo(componentDto.uuid());
- assertThat(component.getKey()).contains(componentDto.getKey());
- assertThat(component.getName()).contains(componentDto.name());
+ assertThat(component.getUuid()).isEqualTo(branch.getUuid());
+ assertThat(component.getKey()).contains(entityDto.getKey());
+ assertThat(component.getName()).contains(entityDto.getName());
} else if (taskSubmit.getComponent().isPresent()) {
assertThat(task.getComponent()).contains(new CeTask.Component(taskSubmit.getComponent().get().getUuid(), null, null));
} else {
assertThat(task.getComponent()).isEmpty();
}
- if (mainComponentDto != null) {
- CeTask.Component component = task.getMainComponent().get();
- assertThat(component.getUuid()).isEqualTo(mainComponentDto.uuid());
- assertThat(component.getKey()).contains(mainComponentDto.getKey());
- assertThat(component.getName()).contains(mainComponentDto.name());
+ if (entityDto != null) {
+ CeTask.Component component = task.getEntity().get();
+ assertThat(component.getUuid()).isEqualTo(entityDto.getUuid());
+ assertThat(component.getKey()).contains(entityDto.getKey());
+ assertThat(component.getName()).contains(entityDto.getName());
} else if (taskSubmit.getComponent().isPresent()) {
- assertThat(task.getMainComponent()).contains(new CeTask.Component(taskSubmit.getComponent().get().getMainComponentUuid(), null, null));
+ assertThat(task.getEntity()).contains(new CeTask.Component(taskSubmit.getComponent().get().getEntityUuid(), null, null));
} else {
- assertThat(task.getMainComponent()).isEmpty();
+ assertThat(task.getEntity()).isEmpty();
}
assertThat(task.getType()).isEqualTo(taskSubmit.getType());
if (taskSubmit.getSubmitterUuid() != null) {
@@ -610,7 +609,7 @@ public class CeQueueImplIT {
Optional<Component> component = taskSubmit.getComponent();
if (component.isPresent()) {
assertThat(queueDto.get().getComponentUuid()).isEqualTo(component.get().getUuid());
- assertThat(queueDto.get().getMainComponentUuid()).isEqualTo(component.get().getMainComponentUuid());
+ assertThat(queueDto.get().getEntityUuid()).isEqualTo(component.get().getEntityUuid());
} else {
assertThat(queueDto.get().getComponentUuid()).isNull();
assertThat(queueDto.get().getComponentUuid()).isNull();
@@ -653,7 +652,7 @@ public class CeQueueImplIT {
.setStatus(CeQueueDto.Status.PENDING);
if (component != null) {
dto.setComponentUuid(component.getUuid())
- .setMainComponentUuid(component.getMainComponentUuid());
+ .setEntityUuid(component.getEntityUuid());
}
db.getDbClient().ceQueueDao().insert(db.getSession(), dto);
db.commit();
diff --git a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java
index adee3c00e93..f0333f07bea 100644
--- a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java
+++ b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueue.java
@@ -59,7 +59,7 @@ public interface CeQueue {
* <p>
* This method is equivalent to calling {@code massSubmit(Collections.singletonList(submission))}.
*
- * @return empty if {@code options} contains {@link SubmitOption#UNIQUE_QUEUE_PER_MAIN_COMPONENT UNIQUE_QUEUE_PER_MAIN_COMPONENT}
+ * @return empty if {@code options} contains {@link SubmitOption#UNIQUE_QUEUE_PER_ENTITY UNIQUE_QUEUE_PER_MAIN_COMPONENT}
* and there's already a queued task, otherwise the created task.
*/
Optional<CeTask> submit(CeTaskSubmit submission, SubmitOption... options);
@@ -124,7 +124,7 @@ public interface CeQueue {
int clear();
enum SubmitOption {
- UNIQUE_QUEUE_PER_MAIN_COMPONENT,
+ UNIQUE_QUEUE_PER_ENTITY,
UNIQUE_QUEUE_PER_TASK_TYPE
}
diff --git a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java
index 88b77baec5c..0a78e1a5804 100644
--- a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java
+++ b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeQueueImpl.java
@@ -32,7 +32,6 @@ import java.util.Optional;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Collectors;
-import java.util.stream.Stream;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import org.sonar.api.server.ServerSide;
@@ -49,15 +48,15 @@ import org.sonar.db.ce.CeTaskCharacteristicDto;
import org.sonar.db.ce.CeTaskQuery;
import org.sonar.db.ce.DeleteIf;
import org.sonar.db.component.ComponentDto;
+import org.sonar.db.entity.EntityDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.platform.NodeInformation;
import org.sonar.server.property.InternalProperties;
import static com.google.common.base.Preconditions.checkState;
-import static java.util.Collections.emptyMap;
import static java.util.Collections.singleton;
import static java.util.Optional.ofNullable;
-import static org.sonar.ce.queue.CeQueue.SubmitOption.UNIQUE_QUEUE_PER_MAIN_COMPONENT;
+import static org.sonar.ce.queue.CeQueue.SubmitOption.UNIQUE_QUEUE_PER_ENTITY;
import static org.sonar.core.util.stream.MoreCollectors.toEnumSet;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
import static org.sonar.db.ce.CeQueueDto.Status.IN_PROGRESS;
@@ -105,14 +104,14 @@ public class CeQueueImpl implements CeQueue {
CeTaskQuery query = new CeTaskQuery();
for (SubmitOption option : submitOptions) {
switch (option) {
- case UNIQUE_QUEUE_PER_MAIN_COMPONENT -> submission.getComponent()
- .flatMap(component -> Optional.ofNullable(component.getMainComponentUuid()))
- .ifPresent(mainComponentUuid -> query.setMainComponentUuid(mainComponentUuid).setStatuses(List.of(PENDING.name())));
+ case UNIQUE_QUEUE_PER_ENTITY -> submission.getComponent()
+ .flatMap(component -> Optional.ofNullable(component.getEntityUuid()))
+ .ifPresent(entityUuid -> query.setEntityUuid(entityUuid).setStatuses(List.of(PENDING.name())));
case UNIQUE_QUEUE_PER_TASK_TYPE -> query.setType(submission.getType());
}
}
- boolean queryNonEmpty = query.getMainComponentUuids() != null || query.getStatuses() != null || query.getType() != null;
+ boolean queryNonEmpty = query.getEntityUuids() != null || query.getStatuses() != null || query.getType() != null;
if (queryNonEmpty && dbClient.ceQueueDao().countByQuery(dbSession, query) > 0) {
return Optional.empty();
}
@@ -121,26 +120,22 @@ public class CeQueueImpl implements CeQueue {
}
private CeTask convertQueueDtoToTask(DbSession dbSession, CeQueueDto queueDto, CeTaskSubmit submission) {
- Map<String, ComponentDto> componentsByUuid = loadComponentDtos(dbSession, queueDto);
- if (componentsByUuid.isEmpty()) {
- return convertToTask(dbSession, queueDto, submission.getCharacteristics(), null, null);
- }
- return convertToTask(dbSession, queueDto, submission.getCharacteristics(),
- ofNullable(queueDto.getComponentUuid()).map(componentsByUuid::get).orElse(null),
- ofNullable(queueDto.getMainComponentUuid()).map(componentsByUuid::get).orElse(null));
+ return convertToTask(dbSession, queueDto, submission.getCharacteristics());
}
- Map<String, ComponentDto> loadComponentDtos(DbSession dbSession, CeQueueDto taskDto) {
- Set<String> componentUuids = Stream.of(taskDto.getComponentUuid(), taskDto.getMainComponentUuid())
- .filter(Objects::nonNull)
- .collect(MoreCollectors.toSet(2));
- if (componentUuids.isEmpty()) {
- return emptyMap();
+ protected CeTask convertToTask(DbSession dbSession, CeQueueDto queueDto, Map<String, String> characteristicDto) {
+ ComponentDto component = null;
+ EntityDto entity = null;
+
+ if (queueDto.getComponentUuid() != null) {
+ component = dbClient.componentDao().selectByUuid(dbSession, queueDto.getComponentUuid()).orElse(null);
}
+ if (queueDto.getEntityUuid() != null) {
+ entity = dbClient.entityDao().selectByUuid(dbSession, queueDto.getEntityUuid()).orElse(null);
+ }
+
+ return convertToTask(dbSession, queueDto, characteristicDto, component, entity);
- return dbClient.componentDao().selectByUuids(dbSession, componentUuids)
- .stream()
- .collect(uniqueIndex(ComponentDto::uuid, 2));
}
@Override
@@ -163,12 +158,12 @@ public class CeQueueImpl implements CeQueue {
private Predicate<CeTaskSubmit> filterBySubmitOptions(SubmitOption[] options, Collection<CeTaskSubmit> submissions, DbSession dbSession) {
EnumSet<SubmitOption> submitOptions = toSet(options);
- if (submitOptions.contains(UNIQUE_QUEUE_PER_MAIN_COMPONENT)) {
+ if (submitOptions.contains(UNIQUE_QUEUE_PER_ENTITY)) {
Set<String> mainComponentUuids = submissions.stream()
.map(CeTaskSubmit::getComponent)
.filter(Optional::isPresent)
.map(Optional::get)
- .map(CeTaskSubmit.Component::getMainComponentUuid)
+ .map(CeTaskSubmit.Component::getEntityUuid)
.collect(MoreCollectors.toSet(submissions.size()));
if (mainComponentUuids.isEmpty()) {
return t -> true;
@@ -183,13 +178,13 @@ public class CeQueueImpl implements CeQueue {
private final Map<String, Integer> queuedItemsByMainComponentUuid;
private NoPendingTaskFilter(DbSession dbSession, Set<String> projectUuids) {
- queuedItemsByMainComponentUuid = dbClient.ceQueueDao().countByStatusAndMainComponentUuids(dbSession, PENDING, projectUuids);
+ queuedItemsByMainComponentUuid = dbClient.ceQueueDao().countByStatusAndEntityUuids(dbSession, PENDING, projectUuids);
}
@Override
public boolean test(CeTaskSubmit ceTaskSubmit) {
return ceTaskSubmit.getComponent()
- .map(component -> queuedItemsByMainComponentUuid.getOrDefault(component.getMainComponentUuid(), 0) == 0)
+ .map(component -> queuedItemsByMainComponentUuid.getOrDefault(component.getEntityUuid(), 0) == 0)
.orElse(true);
}
}
@@ -217,7 +212,7 @@ public class CeQueueImpl implements CeQueue {
dto.setTaskType(submission.getType());
submission.getComponent().ifPresent(component -> dto
.setComponentUuid(component.getUuid())
- .setMainComponentUuid(component.getMainComponentUuid()));
+ .setEntityUuid(component.getEntityUuid()));
dto.setStatus(PENDING);
dto.setSubmitterUuid(submission.getSubmitterUuid());
dbClient.ceQueueDao().insert(dbSession, dto);
@@ -228,12 +223,16 @@ public class CeQueueImpl implements CeQueue {
private List<CeTask> loadTasks(DbSession dbSession, List<CeQueueDto> dtos) {
// load components, if defined
Set<String> componentUuids = dtos.stream()
- .flatMap(dto -> Stream.of(dto.getComponentUuid(), dto.getMainComponentUuid()))
+ .map(CeQueueDto::getComponentUuid)
.filter(Objects::nonNull)
.collect(Collectors.toSet());
+ // these components correspond to a branch or a portfolio (analysis target)
Map<String, ComponentDto> componentsByUuid = dbClient.componentDao()
.selectByUuids(dbSession, componentUuids).stream()
.collect(uniqueIndex(ComponentDto::uuid));
+ Set<String> entityUuids = dtos.stream().map(CeQueueDto::getEntityUuid).filter(Objects::nonNull).collect(Collectors.toSet());
+ Map<String, EntityDto> entitiesByUuid = dbClient.entityDao().selectByUuids(dbSession, entityUuids).stream()
+ .collect(Collectors.toMap(EntityDto::getUuid, e -> e));
// load characteristics
// TODO could be avoided, characteristics are already present in submissions
@@ -247,12 +246,12 @@ public class CeQueueImpl implements CeQueue {
ComponentDto component = ofNullable(dto.getComponentUuid())
.map(componentsByUuid::get)
.orElse(null);
- ComponentDto mainComponent = ofNullable(dto.getMainComponentUuid())
- .map(componentsByUuid::get)
+ EntityDto entity = ofNullable(dto.getEntityUuid())
+ .map(entitiesByUuid::get)
.orElse(null);
Map<String, String> characteristics = characteristicsByTaskUuid.get(dto.getUuid()).stream()
.collect(uniqueIndex(CeTaskCharacteristicDto::getKey, CeTaskCharacteristicDto::getValue));
- result.add(convertToTask(dbSession, dto, characteristics, component, mainComponent));
+ result.add(convertToTask(dbSession, dto, characteristics, component, entity));
}
return result;
}
@@ -366,7 +365,7 @@ public class CeQueueImpl implements CeQueue {
return cancelAll(true);
}
- CeTask convertToTask(DbSession dbSession, CeQueueDto taskDto, Map<String, String> characteristics, @Nullable ComponentDto component, @Nullable ComponentDto mainComponent) {
+ CeTask convertToTask(DbSession dbSession, CeQueueDto taskDto, Map<String, String> characteristics, @Nullable ComponentDto component, @Nullable EntityDto entity) {
CeTask.Builder builder = new CeTask.Builder()
.setUuid(taskDto.getUuid())
.setType(taskDto.getTaskType())
@@ -380,11 +379,11 @@ public class CeQueueImpl implements CeQueue {
builder.setComponent(new CeTask.Component(componentUuid, null, null));
}
- String mainComponentUuid = taskDto.getMainComponentUuid();
- if (mainComponent != null) {
- builder.setMainComponent(new CeTask.Component(mainComponent.uuid(), mainComponent.getKey(), mainComponent.name()));
- } else if (mainComponentUuid != null) {
- builder.setMainComponent(new CeTask.Component(mainComponentUuid, null, null));
+ String entityUuid = taskDto.getEntityUuid();
+ if (entity != null) {
+ builder.setEntity(new CeTask.Component(entity.getUuid(), entity.getKey(), entity.getName()));
+ } else if (entityUuid != null) {
+ builder.setEntity(new CeTask.Component(entityUuid, null, null));
}
return builder.build();
diff --git a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeTaskSubmit.java b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeTaskSubmit.java
index a6e45798323..a9749b01fe6 100644
--- a/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeTaskSubmit.java
+++ b/server/sonar-ce-common/src/main/java/org/sonar/ce/queue/CeTaskSubmit.java
@@ -27,7 +27,6 @@ import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
import org.sonar.db.component.BranchDto;
import org.sonar.db.portfolio.PortfolioDto;
-import org.sonar.db.project.ProjectDto;
import static com.google.common.base.Strings.emptyToNull;
import static com.google.common.base.Strings.nullToEmpty;
@@ -116,20 +115,16 @@ public final class CeTaskSubmit {
}
public static class Component {
- private String uuid;
- private String mainComponentUuid;
+ private final String uuid;
+ private final String entityUuid;
- public Component(String uuid, String mainComponentUuid) {
+ public Component(String uuid, String entityUuid) {
this.uuid = requireNonNull(nullToEmpty(uuid), "uuid can't be null");
- this.mainComponentUuid = requireNonNull(nullToEmpty(mainComponentUuid), "mainComponentUuid can't be null");
- }
-
- public static Component fromDto(String componentUuid, String mainComponentUuid) {
- return new Component(componentUuid, mainComponentUuid);
+ this.entityUuid = requireNonNull(nullToEmpty(entityUuid), "mainComponentUuid can't be null");
}
- public static Component fromDto(ProjectDto dto) {
- return new Component(dto.getUuid(), dto.getUuid());
+ public static Component fromDto(String componentUuid, String entityUuid) {
+ return new Component(componentUuid, entityUuid);
}
public static Component fromDto(PortfolioDto dto) {
@@ -140,23 +135,19 @@ public final class CeTaskSubmit {
return new Component(dto.getUuid(), dto.getProjectUuid());
}
- public static Component fromProjectUuid(String projectUuid) {
- return new Component(projectUuid, projectUuid);
- }
-
public String getUuid() {
return uuid;
}
- public String getMainComponentUuid() {
- return mainComponentUuid;
+ public String getEntityUuid() {
+ return entityUuid;
}
@Override
public String toString() {
return "Component{" +
"uuid='" + uuid + '\'' +
- ", mainComponentUuid='" + mainComponentUuid + '\'' +
+ ", entityUuid='" + entityUuid + '\'' +
'}';
}
@@ -169,12 +160,12 @@ public final class CeTaskSubmit {
return false;
}
Component component = (Component) o;
- return uuid.equals(component.uuid) && mainComponentUuid.equals(component.mainComponentUuid);
+ return uuid.equals(component.uuid) && entityUuid.equals(component.entityUuid);
}
@Override
public int hashCode() {
- return Objects.hash(uuid, mainComponentUuid);
+ return Objects.hash(uuid, entityUuid);
}
}
}
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/BranchPersisterImplIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/BranchPersisterImplIT.java
index d6cdfd6b682..be5265cecf4 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/BranchPersisterImplIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/BranchPersisterImplIT.java
@@ -63,7 +63,7 @@ public class BranchPersisterImplIT {
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ComponentUuidFactoryImplIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ComponentUuidFactoryImplIT.java
index 6da6104b038..7e911f1a09a 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ComponentUuidFactoryImplIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ComponentUuidFactoryImplIT.java
@@ -39,7 +39,7 @@ public class ComponentUuidFactoryImplIT {
private final Branch mockedBranch = mock(Branch.class);
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Test
public void getOrCreateForKey_when_existingComponentsInDbForMainBranch_should_load() {
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ProjectPersisterIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ProjectPersisterIT.java
index 23e06bc3a77..729c85f9f7e 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ProjectPersisterIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ProjectPersisterIT.java
@@ -48,7 +48,7 @@ public class ProjectPersisterIT {
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
public TestSystem2 system2 = new TestSystem2();
@@ -74,8 +74,8 @@ public class ProjectPersisterIT {
@Test
public void update_description() {
- ProjectDto p1 = dbTester.components().insertPublicProject(
- c -> c.setUuid("PROJECT_UUID").setKey(ROOT.getKey()).setName(ROOT.getName()).setDescription("OLD_DESC")).getProjectDto();
+ ProjectDto p1 = dbTester.components().insertPublicProject("PROJECT_UUID",
+ p -> p.setKey(ROOT.getKey()).setName(ROOT.getName()).setDescription("OLD_DESC")).getProjectDto();
assertProject("OLD_DESC", ROOT.getName(), p1.getUpdatedAt());
underTest.persist(dbTester.getSession());
@@ -84,8 +84,8 @@ public class ProjectPersisterIT {
@Test
public void update_name() {
- ProjectDto p1 = dbTester.components().insertPublicProject(
- c -> c.setUuid("PROJECT_UUID").setKey(ROOT.getKey()).setName("OLD_NAME").setDescription(ROOT.getDescription())).getProjectDto();
+ ProjectDto p1 = dbTester.components().insertPublicProject("PROJECT_UUID",
+ p -> p.setKey(ROOT.getKey()).setName("OLD_NAME").setDescription(ROOT.getDescription())).getProjectDto();
assertProject(ROOT.getDescription(), "OLD_NAME", p1.getUpdatedAt());
underTest.persist(dbTester.getSession());
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ReferenceBranchComponentUuidsIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ReferenceBranchComponentUuidsIT.java
index e899db1ea63..fbced257b75 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ReferenceBranchComponentUuidsIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/ReferenceBranchComponentUuidsIT.java
@@ -40,7 +40,7 @@ public class ReferenceBranchComponentUuidsIT {
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private ReferenceBranchComponentUuids underTest;
private Branch branch = mock(Branch.class);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/SiblingComponentsWithOpenIssuesIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/SiblingComponentsWithOpenIssuesIT.java
index 98d4c7880bc..d2129bcbfd2 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/SiblingComponentsWithOpenIssuesIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/component/SiblingComponentsWithOpenIssuesIT.java
@@ -45,7 +45,7 @@ public class SiblingComponentsWithOpenIssuesIT {
public AnalysisMetadataHolderRule metadataHolder = new AnalysisMetadataHolderRule();
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private SiblingComponentsWithOpenIssues underTest;
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/FileMoveDetectionStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/FileMoveDetectionStepIT.java
index 6a83f4ce017..4efa02ec5f0 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/FileMoveDetectionStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/FileMoveDetectionStepIT.java
@@ -219,7 +219,7 @@ public class FileMoveDetectionStepIT {
@Rule
public MutableMovedFilesRepositoryRule movedFilesRepository = new MutableMovedFilesRepositoryRule();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public LogTester logTester = new LogTester();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/PullRequestFileMoveDetectionStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/PullRequestFileMoveDetectionStepIT.java
index 3effd77ae17..82c7809cca7 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/PullRequestFileMoveDetectionStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/filemove/PullRequestFileMoveDetectionStepIT.java
@@ -45,6 +45,8 @@ import org.sonar.db.DbTester;
import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentTesting;
+import org.sonar.db.component.ProjectData;
+import org.sonar.db.project.ProjectDto;
import org.sonar.db.source.FileSourceDto;
import org.sonar.server.project.Project;
@@ -84,12 +86,13 @@ public class PullRequestFileMoveDetectionStepIT {
@Rule
public MutableMovedFilesRepositoryRule movedFilesRepository = new MutableMovedFilesRepositoryRule();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public LogTester logTester = new LogTester();
private ComponentDto branch;
- private ComponentDto project;
+ private ComponentDto mainBranch;
+ private ProjectDto project;
private final DbClient dbClient = dbTester.getDbClient();
private final AnalysisMetadataHolderRule analysisMetadataHolder = mock(AnalysisMetadataHolderRule.class);
@@ -98,9 +101,11 @@ public class PullRequestFileMoveDetectionStepIT {
@Before
public void setUp() throws Exception {
- project = dbTester.components().insertPrivateProject().getMainBranchComponent();
- branch = dbTester.components().insertProjectBranch(project, branchDto -> branchDto.setUuid(BRANCH_UUID).setKey(TARGET_BRANCH));
- treeRootHolder.setRoot(builder(Component.Type.PROJECT, Integer.parseInt(ROOT_REF)).setUuid(project.uuid()).build());
+ ProjectData projectData = dbTester.components().insertPrivateProject();
+ mainBranch = projectData.getMainBranchComponent();
+ project = projectData.getProjectDto();
+ branch = dbTester.components().insertProjectBranch(mainBranch, branchDto -> branchDto.setUuid(BRANCH_UUID).setKey(TARGET_BRANCH));
+ treeRootHolder.setRoot(builder(Component.Type.PROJECT, Integer.parseInt(ROOT_REF)).setUuid(mainBranch.uuid()).build());
}
@Test
@@ -285,7 +290,7 @@ public class PullRequestFileMoveDetectionStepIT {
private void insertFileComponentsInReport(Set<Component> files) {
treeRootHolder
.setRoot(builder(PROJECT, Integer.parseInt(ROOT_REF))
- .setUuid(project.uuid())
+ .setUuid(mainBranch.uuid())
.addChildren(files.toArray(Component[]::new))
.build());
}
@@ -306,7 +311,7 @@ public class PullRequestFileMoveDetectionStepIT {
private ComponentDto composeComponentDto(String uuid) {
return ComponentTesting
- .newFileDto(project)
+ .newFileDto(mainBranch)
.setBranchUuid(branch.uuid())
.setKey("key_" + uuid)
.setUuid(uuid)
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/AdHocRuleCreatorIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/AdHocRuleCreatorIT.java
index df05ba8d268..65d9b253d0e 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/AdHocRuleCreatorIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/AdHocRuleCreatorIT.java
@@ -39,7 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class AdHocRuleCreatorIT {
@org.junit.Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@org.junit.Rule
public EsTester es = EsTester.create();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ComponentIssuesLoaderIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ComponentIssuesLoaderIT.java
index 96e634feadc..2278482e1ff 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ComponentIssuesLoaderIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ComponentIssuesLoaderIT.java
@@ -69,7 +69,7 @@ public class ComponentIssuesLoaderIT {
private static final Date DATE_LIMIT_30_DAYS_BACK_MIDNIGHT = parseDateTime("2018-07-18T00:00:00+0000");
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
private final DbClient dbClient = db.getDbClient();
private final System2 system2 = mock(System2.class);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/DefaultAssigneeIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/DefaultAssigneeIT.java
index e7b36137021..d6494aa8910 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/DefaultAssigneeIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/DefaultAssigneeIT.java
@@ -36,7 +36,7 @@ public class DefaultAssigneeIT {
public static final String PROJECT_KEY = "PROJECT_KEY";
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private final MapSettings settings = new MapSettings();
private final ConfigurationRepository settingsRepository = new TestSettingsRepository(settings.asConfig());
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/IntegrateIssuesVisitorIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/IntegrateIssuesVisitorIT.java
index fd2da91f154..38ef3e334bf 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/IntegrateIssuesVisitorIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/IntegrateIssuesVisitorIT.java
@@ -103,7 +103,7 @@ public class IntegrateIssuesVisitorIT {
@Rule
public TemporaryFolder temp = new TemporaryFolder();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ProjectTrackerBaseLazyInputIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ProjectTrackerBaseLazyInputIT.java
index a2b3e3db5cf..f6bce05a107 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ProjectTrackerBaseLazyInputIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ProjectTrackerBaseLazyInputIT.java
@@ -48,7 +48,7 @@ public class ProjectTrackerBaseLazyInputIT {
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule().setAnalysisDate(ANALYSIS_DATE);
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public ActiveRulesHolderRule activeRulesHolderRule = new ActiveRulesHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ScmAccountToUserLoaderIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ScmAccountToUserLoaderIT.java
index 86d15f426d2..a65dbf661b3 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ScmAccountToUserLoaderIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/ScmAccountToUserLoaderIT.java
@@ -36,7 +36,7 @@ import static org.junit.Assert.fail;
public class ScmAccountToUserLoaderIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
@Rule
public EsTester es = EsTester.create();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssueMergerIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssueMergerIT.java
index a44ffda6cd1..95800f5a6f9 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssueMergerIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssueMergerIT.java
@@ -62,7 +62,7 @@ public class SiblingsIssueMergerIT {
private final Branch branch = mock(Branch.class);
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule()
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SourceBranchComponentUuidsIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SourceBranchComponentUuidsIT.java
index ac0780a87db..7267983e3fc 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SourceBranchComponentUuidsIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/SourceBranchComponentUuidsIT.java
@@ -28,6 +28,7 @@ import org.sonar.db.DbTester;
import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentTesting;
+import org.sonar.db.component.ProjectData;
import org.sonar.db.protobuf.DbProjectBranches;
import org.sonar.server.project.Project;
@@ -45,7 +46,7 @@ public class SourceBranchComponentUuidsIT {
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private SourceBranchComponentUuids underTest;
private final Branch branch = mock(Branch.class);
@@ -60,8 +61,9 @@ public class SourceBranchComponentUuidsIT {
analysisMetadataHolder.setProject(project);
analysisMetadataHolder.setBranch(branch);
- ComponentDto projectDto = db.components().insertPublicProject().getMainBranchComponent();
- when(project.getUuid()).thenReturn(projectDto.uuid());
+ ProjectData projectData = db.components().insertPublicProject();
+ ComponentDto projectDto = projectData.getMainBranchComponent();
+ when(project.getUuid()).thenReturn(projectData.projectUuid());
branch1 = db.components().insertProjectBranch(projectDto, b -> b.setKey(BRANCH_KEY));
ComponentDto pr1branch = db.components().insertProjectBranch(projectDto, b -> b.setKey(PR_KEY)
.setBranchType(BranchType.PULL_REQUEST)
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TargetBranchComponentUuidsIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TargetBranchComponentUuidsIT.java
index 14800d42f64..ff9788baf3d 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TargetBranchComponentUuidsIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TargetBranchComponentUuidsIT.java
@@ -28,6 +28,7 @@ import org.sonar.db.DbTester;
import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentTesting;
+import org.sonar.db.component.ProjectData;
import org.sonar.db.protobuf.DbProjectBranches;
import org.sonar.server.project.Project;
@@ -44,7 +45,7 @@ public class TargetBranchComponentUuidsIT {
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private TargetBranchComponentUuids underTest;
private final Branch branch = mock(Branch.class);
@@ -59,13 +60,14 @@ public class TargetBranchComponentUuidsIT {
analysisMetadataHolder.setProject(project);
analysisMetadataHolder.setBranch(branch);
- ComponentDto projectDto = db.components().insertPublicProject().getMainBranchComponent();
- when(project.getUuid()).thenReturn(projectDto.uuid());
- branch1 = db.components().insertProjectBranch(projectDto, b -> b.setKey(BRANCH_KEY));
- ComponentDto pr1branch = db.components().insertProjectBranch(projectDto, b -> b.setKey(PR_KEY)
+ ProjectData projectData = db.components().insertPublicProject();
+ ComponentDto mainBranch = projectData.getMainBranchComponent();
+ when(project.getUuid()).thenReturn(projectData.projectUuid());
+ branch1 = db.components().insertProjectBranch(mainBranch, b -> b.setKey(BRANCH_KEY));
+ ComponentDto pr1branch = db.components().insertProjectBranch(mainBranch, b -> b.setKey(PR_KEY)
.setBranchType(BranchType.PULL_REQUEST)
.setPullRequestData(DbProjectBranches.PullRequestData.newBuilder().setTarget(BRANCH_KEY).build())
- .setMergeBranchUuid(projectDto.uuid()));
+ .setMergeBranchUuid(mainBranch.uuid()));
branch1File = ComponentTesting.newFileDto(branch1, null, "file").setUuid("branch1File");
pr1File = ComponentTesting.newFileDto(pr1branch, null, "file").setUuid("file1");
db.components().insertComponents(branch1File, pr1File);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerReferenceBranchInputFactoryIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerReferenceBranchInputFactoryIT.java
index 916a98c5714..a361edd235e 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerReferenceBranchInputFactoryIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerReferenceBranchInputFactoryIT.java
@@ -40,7 +40,7 @@ public class TrackerReferenceBranchInputFactoryIT {
private final static String COMPONENT_UUID = "uuid1";
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private ComponentIssuesLoader componentIssuesLoader = mock(ComponentIssuesLoader.class);
private ReferenceBranchComponentUuids referenceBranchComponentUuids = mock(ReferenceBranchComponentUuids.class);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerSourceBranchInputFactoryIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerSourceBranchInputFactoryIT.java
index 6cf56ee40fb..89bcb79c356 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerSourceBranchInputFactoryIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerSourceBranchInputFactoryIT.java
@@ -39,7 +39,7 @@ public class TrackerSourceBranchInputFactoryIT {
private final static String COMPONENT_UUID = "uuid1";
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private final ComponentIssuesLoader componentIssuesLoader = mock(ComponentIssuesLoader.class);
private final SourceBranchComponentUuids sourceBranchComponentUuids = mock(SourceBranchComponentUuids.class);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerTargetBranchInputFactoryIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerTargetBranchInputFactoryIT.java
index 6bbebc16b2e..bd1a2eb80a6 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerTargetBranchInputFactoryIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/issue/TrackerTargetBranchInputFactoryIT.java
@@ -44,7 +44,7 @@ public class TrackerTargetBranchInputFactoryIT {
private final static String ORIGINAL_COMPONENT_UUID = "uuid2";
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private final ComponentIssuesLoader componentIssuesLoader = mock(ComponentIssuesLoader.class);
private final TargetBranchComponentUuids targetBranchComponentUuids = mock(TargetBranchComponentUuids.class);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/measure/MeasureRepositoryImplIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/measure/MeasureRepositoryImplIT.java
index 5412d9a16f9..c9027fed4e3 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/measure/MeasureRepositoryImplIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/measure/MeasureRepositoryImplIT.java
@@ -67,7 +67,7 @@ public class MeasureRepositoryImplIT {
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public BatchReportReaderRule reportReader = new BatchReportReaderRule();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/metric/MetricRepositoryImplIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/metric/MetricRepositoryImplIT.java
index 5f0aecb379a..189eb10d7b4 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/metric/MetricRepositoryImplIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/metric/MetricRepositoryImplIT.java
@@ -38,7 +38,7 @@ public class MetricRepositoryImplIT {
private static final String SOME_UUID = "uuid";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private DbClient dbClient = dbTester.getDbClient();
private MetricRepositoryImpl underTest = new MetricRepositoryImpl(dbClient);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/period/NewCodeReferenceBranchComponentUuidsIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/period/NewCodeReferenceBranchComponentUuidsIT.java
index cfd395fb7c2..e3d8a739c52 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/period/NewCodeReferenceBranchComponentUuidsIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/period/NewCodeReferenceBranchComponentUuidsIT.java
@@ -27,6 +27,7 @@ import org.sonar.db.DbTester;
import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentTesting;
+import org.sonar.db.component.ProjectData;
import org.sonar.db.newcodeperiod.NewCodePeriodType;
import org.sonar.server.project.Project;
@@ -43,7 +44,7 @@ public class NewCodeReferenceBranchComponentUuidsIT {
@Rule
public PeriodHolderRule periodHolder = new PeriodHolderRule();
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private NewCodeReferenceBranchComponentUuids underTest = new NewCodeReferenceBranchComponentUuids(analysisMetadataHolder, periodHolder, db.getDbClient());
@@ -61,12 +62,12 @@ public class NewCodeReferenceBranchComponentUuidsIT {
public void setUp() {
analysisMetadataHolder.setProject(project);
- ComponentDto projectDto = db.components().insertPublicProject().getMainBranchComponent();
- when(project.getUuid()).thenReturn(projectDto.uuid());
- branch1 = db.components().insertProjectBranch(projectDto, b -> b.setKey("branch1"));
- branch2 = db.components().insertProjectBranch(projectDto, b -> b.setKey("branch2"));
- pr1 = db.components().insertProjectBranch(projectDto, b -> b.setKey("pr1").setBranchType(BranchType.PULL_REQUEST).setMergeBranchUuid(branch1.uuid()));
- pr2 = db.components().insertProjectBranch(projectDto, b -> b.setKey("pr2").setBranchType(BranchType.PULL_REQUEST).setMergeBranchUuid(branch1.uuid()));
+ ProjectData projectData = db.components().insertPublicProject();
+ when(project.getUuid()).thenReturn(projectData.projectUuid());
+ branch1 = db.components().insertProjectBranch(projectData.getMainBranchComponent(), b -> b.setKey("branch1"));
+ branch2 = db.components().insertProjectBranch(projectData.getMainBranchComponent(), b -> b.setKey("branch2"));
+ pr1 = db.components().insertProjectBranch(projectData.getMainBranchComponent(), b -> b.setKey("pr1").setBranchType(BranchType.PULL_REQUEST).setMergeBranchUuid(branch1.uuid()));
+ pr2 = db.components().insertProjectBranch(projectData.getMainBranchComponent(), b -> b.setKey("pr2").setBranchType(BranchType.PULL_REQUEST).setMergeBranchUuid(branch1.uuid()));
branch1File = ComponentTesting.newFileDto(branch1, null, "file").setUuid("branch1File");
branch2File = ComponentTesting.newFileDto(branch2, null, "file").setUuid("branch2File");
pr1File = ComponentTesting.newFileDto(pr1, null, "file").setUuid("file1");
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoDbLoaderIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoDbLoaderIT.java
index c647e7f5bac..17d60e3010c 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoDbLoaderIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoDbLoaderIT.java
@@ -69,7 +69,7 @@ public class ScmInfoDbLoaderIT {
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public BatchReportReaderRule reportReader = new BatchReportReaderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/DbLineHashVersionIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/DbLineHashVersionIT.java
index 3a11cf9fc76..b7d7a1b061f 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/DbLineHashVersionIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/DbLineHashVersionIT.java
@@ -37,11 +37,11 @@ import static org.mockito.Mockito.when;
public class DbLineHashVersionIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
- private AnalysisMetadataHolder analysisMetadataHolder = mock(AnalysisMetadataHolder.class);
- private ReferenceBranchComponentUuids referenceBranchComponentUuids = mock(ReferenceBranchComponentUuids.class);
- private DbLineHashVersion underTest = new DbLineHashVersion(db.getDbClient(), analysisMetadataHolder, referenceBranchComponentUuids);
+ private final AnalysisMetadataHolder analysisMetadataHolder = mock(AnalysisMetadataHolder.class);
+ private final ReferenceBranchComponentUuids referenceBranchComponentUuids = mock(ReferenceBranchComponentUuids.class);
+ private final DbLineHashVersion underTest = new DbLineHashVersion(db.getDbClient(), analysisMetadataHolder, referenceBranchComponentUuids);
@Test
public void hasLineHashWithSignificantCode_should_return_true() {
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStepIT.java
index eb795c894ed..0a2c41239c2 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStepIT.java
@@ -66,7 +66,7 @@ public class PersistFileSourcesStepIT extends BaseStepTest {
private final System2 system2 = mock(System2.class);
@Rule
- public DbTester dbTester = DbTester.create(system2);
+ public DbTester dbTester = DbTester.create(system2, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStepIT.java
index 568abd860bb..4850fe1d361 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/BuildComponentTreeStepIT.java
@@ -86,7 +86,7 @@ public class BuildComponentTreeStepIT {
private static final long ANALYSIS_DATE = 123456789L;
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public BatchReportReaderRule reportReader = new BatchReportReaderRule().setMetadata(createReportMetadata(NO_SCANNER_PROJECT_VERSION, NO_SCANNER_BUILD_STRING));
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/CleanIssueChangesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/CleanIssueChangesStepIT.java
index 7911b15ac40..45cb83cc282 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/CleanIssueChangesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/CleanIssueChangesStepIT.java
@@ -32,7 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class CleanIssueChangesStepIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private final IssueChangesToDeleteRepository repository = new IssueChangesToDeleteRepository();
private final CleanIssueChangesStep cleanIssueChangesStep = new CleanIssueChangesStep(repository, db.getDbClient());
private final TestComputationStepContext context = new TestComputationStepContext();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/EnableAnalysisStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/EnableAnalysisStepIT.java
index e96c977b34d..f92e394c9b4 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/EnableAnalysisStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/EnableAnalysisStepIT.java
@@ -43,7 +43,7 @@ public class EnableAnalysisStepIT {
private static final String CURRENT_ANALYSIS_UUID = "ANALYSIS_2";
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ExtractReportStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ExtractReportStepIT.java
index ed2499f48ae..73365564da5 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ExtractReportStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ExtractReportStepIT.java
@@ -55,7 +55,7 @@ public class ExtractReportStepIT {
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private MutableBatchReportDirectoryHolder reportDirectoryHolder = new BatchReportDirectoryHolderImpl();
private CeTask ceTask = new CeTask.Builder()
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadCrossProjectDuplicationsRepositoryStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadCrossProjectDuplicationsRepositoryStepIT.java
index 1db962d0d15..613c40d17e3 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadCrossProjectDuplicationsRepositoryStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadCrossProjectDuplicationsRepositoryStepIT.java
@@ -89,7 +89,7 @@ public class LoadCrossProjectDuplicationsRepositoryStepIT {
private CrossProjectDuplicationStatusHolder crossProjectDuplicationStatusHolder = mock(CrossProjectDuplicationStatusHolder.class);
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private DbClient dbClient = dbTester.getDbClient();
private DbSession dbSession = dbTester.getSession();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadFileHashesAndStatusStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadFileHashesAndStatusStepIT.java
index a81d08fab74..2f9c470a280 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadFileHashesAndStatusStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadFileHashesAndStatusStepIT.java
@@ -43,7 +43,7 @@ import static org.mockito.Mockito.when;
public class LoadFileHashesAndStatusStepIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
public PreviousSourceHashRepositoryImpl previousFileHashesRepository = new PreviousSourceHashRepositoryImpl();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadPeriodsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadPeriodsStepIT.java
index 3b603c1c055..768822c55b1 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadPeriodsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadPeriodsStepIT.java
@@ -76,7 +76,7 @@ import static org.sonar.db.event.EventTesting.newEvent;
@RunWith(DataProviderRunner.class)
public class LoadPeriodsStepIT extends BaseStepTest {
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStepIT.java
index 4abac1ca8f5..543b2874d46 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStepIT.java
@@ -44,6 +44,7 @@ import org.sonar.core.platform.PluginRepository;
import org.sonar.db.DbClient;
import org.sonar.db.DbTester;
import org.sonar.db.component.ComponentDto;
+import org.sonar.db.project.ProjectDto;
import org.sonar.scanner.protocol.output.ScannerReport;
import org.sonar.server.project.DefaultBranchNameResolver;
import org.sonar.server.project.Project;
@@ -62,7 +63,7 @@ public class LoadReportAnalysisMetadataHolderStepIT {
private static final long ANALYSIS_DATE = 123456789L;
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public BatchReportReaderRule reportReader = new BatchReportReaderRule();
@Rule
@@ -70,14 +71,14 @@ public class LoadReportAnalysisMetadataHolderStepIT {
private final DbClient dbClient = db.getDbClient();
private final TestPluginRepository pluginRepository = new TestPluginRepository();
- private ComponentDto project;
+ private ProjectDto project;
private ComputationStep underTest;
@Before
public void setUp() {
CeTask defaultOrgCeTask = createCeTask(PROJECT_KEY);
underTest = createStep(defaultOrgCeTask);
- project = db.components().insertPublicProject(p -> p.setKey(PROJECT_KEY)).getMainBranchComponent();
+ project = db.components().insertPublicProject(p -> p.setKey(PROJECT_KEY)).getProjectDto();
}
@Test
@@ -127,10 +128,10 @@ public class LoadReportAnalysisMetadataHolderStepIT {
underTest.execute(new TestComputationStepContext());
Project project = analysisMetadataHolder.getProject();
- assertThat(project.getUuid()).isEqualTo(this.project.uuid());
+ assertThat(project.getUuid()).isEqualTo(this.project.getUuid());
assertThat(project.getKey()).isEqualTo(this.project.getKey());
- assertThat(project.getName()).isEqualTo(this.project.name());
- assertThat(project.getDescription()).isEqualTo(this.project.description());
+ assertThat(project.getName()).isEqualTo(this.project.getName());
+ assertThat(project.getDescription()).isEqualTo(this.project.getDescription());
}
@Test
@@ -186,14 +187,14 @@ public class LoadReportAnalysisMetadataHolderStepIT {
CeTask res = mock(CeTask.class);
Optional<CeTask.Component> component = Optional.of(new CeTask.Component("main_prj_uuid", null, null));
when(res.getComponent()).thenReturn(component);
- when(res.getMainComponent()).thenReturn(component);
+ when(res.getEntity()).thenReturn(component);
reportReader.setMetadata(ScannerReport.Metadata.newBuilder().build());
ComputationStep underTest = createStep(res);
assertThatThrownBy(() -> underTest.execute(new TestComputationStepContext()))
.isInstanceOf(MessageException.class)
- .hasMessage("Compute Engine task main component key is null. Project with UUID main_prj_uuid must have been deleted since report was uploaded. Can not proceed.");
+ .hasMessage("Compute Engine task entity key is null. Project with UUID main_prj_uuid must have been deleted since report was uploaded. Can not proceed.");
}
@Test
@@ -201,7 +202,7 @@ public class LoadReportAnalysisMetadataHolderStepIT {
CeTask res = mock(CeTask.class);
Optional<CeTask.Component> component = Optional.of(new CeTask.Component("prj_uuid", null, null));
when(res.getComponent()).thenReturn(component);
- when(res.getMainComponent()).thenReturn(Optional.of(new CeTask.Component("main_prj_uuid", "main_prj_key", null)));
+ when(res.getEntity()).thenReturn(Optional.of(new CeTask.Component("main_prj_uuid", "main_prj_key", null)));
reportReader.setMetadata(ScannerReport.Metadata.newBuilder().build());
ComputationStep underTest = createStep(res);
@@ -308,9 +309,10 @@ public class LoadReportAnalysisMetadataHolderStepIT {
private CeTask createCeTask(String projectKey) {
CeTask res = mock(CeTask.class);
- Optional<CeTask.Component> component = Optional.of(new CeTask.Component(projectKey + "_uuid", projectKey, projectKey + "_name"));
+ Optional<CeTask.Component> entity = Optional.of(new CeTask.Component(projectKey + "_uuid", projectKey, projectKey + "_name"));
+ Optional<CeTask.Component> component = Optional.of(new CeTask.Component(projectKey + "branch_uuid", projectKey, projectKey + "_name"));
when(res.getComponent()).thenReturn(component);
- when(res.getMainComponent()).thenReturn(component);
+ when(res.getEntity()).thenReturn(entity);
return res;
}
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAdHocRulesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAdHocRulesStepIT.java
index 85319db1187..70c999b7947 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAdHocRulesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAdHocRulesStepIT.java
@@ -45,7 +45,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class PersistAdHocRulesStepIT extends BaseStepTest {
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
private DbClient dbClient = db.getDbClient();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAnalysisPropertiesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAnalysisPropertiesStepIT.java
index 0430fa3d8a3..104214d686a 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAnalysisPropertiesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistAnalysisPropertiesStepIT.java
@@ -64,7 +64,7 @@ public class PersistAnalysisPropertiesStepIT {
private static final String SCM_REV_ID = "sha1";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private BatchReportReader batchReportReader = mock(BatchReportReader.class);
private AnalysisMetadataHolder analysisMetadataHolder = mock(AnalysisMetadataHolder.class);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistCrossProjectDuplicationIndexStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistCrossProjectDuplicationIndexStepIT.java
index 003826e72ab..5b09bf11a8b 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistCrossProjectDuplicationIndexStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistCrossProjectDuplicationIndexStepIT.java
@@ -69,7 +69,7 @@ public class PersistCrossProjectDuplicationIndexStepIT {
private static final String BASE_ANALYSIS_UUID = "base analysis uuid";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public BatchReportReaderRule reportReader = new BatchReportReaderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistDuplicationDataStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistDuplicationDataStepIT.java
index 169fe2696a0..d1dc1027bfe 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistDuplicationDataStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistDuplicationDataStepIT.java
@@ -59,7 +59,7 @@ public class PersistDuplicationDataStepIT extends BaseStepTest {
private static final String FILE_2_UUID = "u3";
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule()
.setRoot(
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistEventsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistEventsStepIT.java
index 49afbd06a90..cdc42a8f8ed 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistEventsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistEventsStepIT.java
@@ -77,7 +77,7 @@ public class PersistEventsStepIT extends BaseStepTest {
System2 system2 = mock(System2.class);
@Rule
- public DbTester dbTester = DbTester.create(system2);
+ public DbTester dbTester = DbTester.create(system2, true);
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java
index 4c97694f98b..dc141151410 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java
@@ -80,7 +80,7 @@ public class PersistIssuesStepIT extends BaseStepTest {
@Rule
public TemporaryFolder temp = new TemporaryFolder();
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public BatchReportReaderRule reportReader = new BatchReportReaderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistLiveMeasuresStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistLiveMeasuresStepIT.java
index f4829de256f..6f39071550a 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistLiveMeasuresStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistLiveMeasuresStepIT.java
@@ -73,7 +73,7 @@ public class PersistLiveMeasuresStepIT extends BaseStepTest {
private static final int REF_4 = 4;
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistMeasuresStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistMeasuresStepIT.java
index 6064b72700d..055c9376af1 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistMeasuresStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistMeasuresStepIT.java
@@ -64,7 +64,7 @@ public class PersistMeasuresStepIT extends BaseStepTest {
private static final int REF_4 = 4;
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistProjectLinksStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistProjectLinksStepIT.java
index ea448818e29..5f35be87610 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistProjectLinksStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistProjectLinksStepIT.java
@@ -58,7 +58,7 @@ public class PersistProjectLinksStepIT extends BaseStepTest {
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistPushEventsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistPushEventsStepIT.java
index 5d06b6ea3de..c6c19834067 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistPushEventsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistPushEventsStepIT.java
@@ -55,7 +55,7 @@ public class PersistPushEventsStepIT {
private final TestSystem2 system2 = new TestSystem2().setNow(1L);
@Rule
- public DbTester db = DbTester.create(system2);
+ public DbTester db = DbTester.create(system2, true);
public final PushEventFactory pushEventFactory = mock(PushEventFactory.class);
@Rule
@@ -143,7 +143,7 @@ public class PersistPushEventsStepIT {
@Test
public void store_push_events_for_branch() {
- var project = db.components().insertPrivateProject().getMainBranchComponent();
+ var project = db.components().insertPrivateProject().getProjectDto();
db.components().insertProjectBranch(project, b -> b.setUuid("uuid_1"));
protoIssueCache.newAppender()
@@ -155,7 +155,7 @@ public class PersistPushEventsStepIT {
.setComponentKey("ck2"))
.close();
- when(pushEventFactory.raiseEventOnIssue(eq(project.uuid()), any(DefaultIssue.class))).thenReturn(
+ when(pushEventFactory.raiseEventOnIssue(eq(project.getUuid()), any(DefaultIssue.class))).thenReturn(
Optional.of(createPushEvent()),
Optional.of(createPushEvent()));
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerAnalysisCacheStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerAnalysisCacheStepIT.java
index b55016055cc..33be7c2539d 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerAnalysisCacheStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerAnalysisCacheStepIT.java
@@ -41,7 +41,7 @@ public class PersistScannerAnalysisCacheStepIT {
@Rule
public BatchReportReaderRule reader = new BatchReportReaderRule();
@Rule
- public DbTester dbTester = DbTester.create();
+ public DbTester dbTester = DbTester.create(true);
private final DbClient client = dbTester.getDbClient();
private final TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
private final PersistScannerAnalysisCacheStep step = new PersistScannerAnalysisCacheStep(reader, dbTester.getDbClient(), treeRootHolder);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerContextStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerContextStepIT.java
index d85d967f103..75ffd3be6a2 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerContextStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistScannerContextStepIT.java
@@ -42,7 +42,7 @@ public class PersistScannerContextStepIT {
private static final String ANALYSIS_UUID = "UUID";
@ClassRule
- public static final DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public static final DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public BatchReportReaderRule reportReader = new BatchReportReaderRule();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ProjectNclocComputationStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ProjectNclocComputationStepIT.java
index 16f47518a2a..86f55ee584c 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ProjectNclocComputationStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ProjectNclocComputationStepIT.java
@@ -25,9 +25,11 @@ import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolderRule;
import org.sonar.ce.task.step.TestComputationStepContext;
import org.sonar.db.DbClient;
import org.sonar.db.DbTester;
+import org.sonar.db.component.BranchDto;
import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.metric.MetricDto;
+import org.sonar.db.project.ProjectDto;
import org.sonar.server.project.Project;
import static java.util.Collections.emptyList;
@@ -36,7 +38,7 @@ import static org.sonar.api.measures.Metric.ValueType.INT;
public class ProjectNclocComputationStepIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private final DbClient dbClient = db.getDbClient();
@Rule
@@ -47,12 +49,12 @@ public class ProjectNclocComputationStepIT {
@Test
public void test_computing_branch_ncloc() {
MetricDto ncloc = db.measures().insertMetric(m -> m.setKey("ncloc").setValueType(INT.toString()));
- ComponentDto project = db.components().insertPublicProject().getMainBranchComponent();
- ComponentDto branch1 = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.BRANCH));
+ ProjectDto project = db.components().insertPublicProject().getProjectDto();
+ BranchDto branch1 = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.BRANCH));
db.measures().insertLiveMeasure(branch1, ncloc, m -> m.setValue(200d));
- ComponentDto branch2 = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.BRANCH));
+ BranchDto branch2 = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.BRANCH));
db.measures().insertLiveMeasure(branch2, ncloc, m -> m.setValue(10d));
- analysisMetadataHolder.setProject(new Project(project.uuid(), project.getKey(), project.name(), project.description(), emptyList()));
+ analysisMetadataHolder.setProject(new Project(project.getUuid(), project.getKey(), project.getName(), project.getDescription(), emptyList()));
step.execute(TestComputationStepContext.TestStatistics::new);
assertThat(dbClient.projectDao().getNclocSum(db.getSession())).isEqualTo(200L);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistAnalysisStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistAnalysisStepIT.java
index 0bdeef19ed9..47412e095b3 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistAnalysisStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistAnalysisStepIT.java
@@ -54,7 +54,7 @@ public class ReportPersistAnalysisStepIT extends BaseStepTest {
private static final String REVISION_ID = "5f6432a1";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistComponentsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistComponentsStepIT.java
index 7dd7d3449c9..2875e742dcb 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistComponentsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ReportPersistComponentsStepIT.java
@@ -67,7 +67,7 @@ public class ReportPersistComponentsStepIT extends BaseStepTest {
private static final String PROJECT_KEY = "PROJECT_KEY";
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/SendIssueNotificationsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/SendIssueNotificationsStepIT.java
index c048f544747..2c80401f8d8 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/SendIssueNotificationsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/SendIssueNotificationsStepIT.java
@@ -134,7 +134,7 @@ public class SendIssueNotificationsStepIT extends BaseStepTest {
@Rule
public TemporaryFolder temp = new TemporaryFolder();
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
private final Random random = new Random();
private final RuleType[] RULE_TYPES_EXCEPT_HOTSPOTS = Stream.of(RuleType.values()).filter(r -> r != SECURITY_HOTSPOT).toArray(RuleType[]::new);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateNeedIssueSyncStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateNeedIssueSyncStepIT.java
index 99ef5311432..ec67cdc0a76 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateNeedIssueSyncStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateNeedIssueSyncStepIT.java
@@ -37,7 +37,7 @@ public class UpdateNeedIssueSyncStepIT {
private static final Component PROJECT = ReportComponent.DUMB_PROJECT;
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule().setRoot(PROJECT);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateQualityProfilesLastUsedDateStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateQualityProfilesLastUsedDateStepIT.java
index 69bcb33dbb2..aac33312e66 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateQualityProfilesLastUsedDateStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/UpdateQualityProfilesLastUsedDateStepIT.java
@@ -58,7 +58,7 @@ public class UpdateQualityProfilesLastUsedDateStepIT {
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule().setAnalysisDate(ANALYSIS_DATE);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ValidateProjectStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ValidateProjectStepIT.java
index bdb52642505..ca99be5ec18 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ValidateProjectStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ValidateProjectStepIT.java
@@ -52,7 +52,7 @@ public class ValidateProjectStepIT {
static final Branch DEFAULT_BRANCH = new DefaultBranchImpl(DEFAULT_MAIN_BRANCH_NAME);
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistAnalysisStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistAnalysisStepIT.java
index 3d0ab973fc8..5f93479a6a5 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistAnalysisStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistAnalysisStepIT.java
@@ -53,7 +53,7 @@ public class ViewsPersistAnalysisStepIT extends BaseStepTest {
private static final String ANALYSIS_UUID = "U1";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistComponentsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistComponentsStepIT.java
index c55441a7fc7..bf19e21ea04 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistComponentsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/ViewsPersistComponentsStepIT.java
@@ -80,7 +80,7 @@ public class ViewsPersistComponentsStepIT extends BaseStepTest {
private static final String PROJECT_VIEW_1_UUID = "PV1_UUID";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/AuditPurgeStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/AuditPurgeStepIT.java
index e24e30454ca..683dc2e9cd4 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/AuditPurgeStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/AuditPurgeStepIT.java
@@ -51,14 +51,14 @@ public class AuditPurgeStepIT {
.setValue(MONTHLY.name());
@Rule
- public final DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public final DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private final DbClient dbClient = dbTester.getDbClient();
private final System2 system2 = new System2();
@Rule
- public final DbTester db = DbTester.create(system2);
+ public final DbTester db = DbTester.create(system2, true);
private final AuditHousekeepingFrequencyHelper auditHousekeepingFrequencyHelper = mock(AuditHousekeepingFrequencyHelper.class);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStepIT.java
index 9bb14e07ee9..79eeea41d04 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStepIT.java
@@ -33,22 +33,23 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.sonar.db.component.BranchType.BRANCH;
public class IgnoreOrphanBranchStepIT {
-
- private String BRANCH_UUID = "branch_uuid";
+ private final String ENTITY_UUID = "entity_uuid";
+ private final String BRANCH_UUID = "branch_uuid";
@Rule
public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
- private CeTask.Component component = new CeTask.Component(BRANCH_UUID, "component key", "component name");
- private CeTask ceTask = new CeTask.Builder()
+ private final CeTask.Component entity = new CeTask.Component(ENTITY_UUID, "component key", "component name");
+ private final CeTask.Component component = new CeTask.Component(BRANCH_UUID, "component key", "component name");
+ private final CeTask ceTask = new CeTask.Builder()
.setType("type")
.setUuid("uuid")
.setComponent(component)
- .setMainComponent(component)
+ .setEntity(entity)
.build();
- private DbClient dbClient = dbTester.getDbClient();
- private IgnoreOrphanBranchStep underTest = new IgnoreOrphanBranchStep(ceTask, dbClient);
+ private final DbClient dbClient = dbTester.getDbClient();
+ private final IgnoreOrphanBranchStep underTest = new IgnoreOrphanBranchStep(ceTask, dbClient);
@Test
public void execute() {
@@ -94,13 +95,13 @@ public class IgnoreOrphanBranchStepIT {
.setType("type")
.setUuid("uuid")
.setComponent(null)
- .setMainComponent(null)
+ .setEntity(null)
.build();
IgnoreOrphanBranchStep underTest = new IgnoreOrphanBranchStep(ceTask, dbClient);
assertThatThrownBy(() -> underTest.execute(() -> null))
.isInstanceOf(UnsupportedOperationException.class)
- .hasMessage("main component not found in task");
+ .hasMessage("entity not found in task");
}
@Test
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IndexIssuesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IndexIssuesStepIT.java
index fbd85186c05..fe3cbb234b5 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IndexIssuesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/taskprocessor/IndexIssuesStepIT.java
@@ -38,32 +38,27 @@ import static org.mockito.Mockito.verify;
import static org.sonar.db.component.BranchType.BRANCH;
public class IndexIssuesStepIT {
-
- private String BRANCH_UUID = "branch_uuid";
-
+ private final String ENTITY_UUID = "entity_uuid";
+ private final String BRANCH_UUID = "branch_uuid";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
-
- private DbClient dbClient = dbTester.getDbClient();
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
- private CeTask.Component component = new CeTask.Component(BRANCH_UUID, "component key", "component name");
- private CeTask ceTask = new CeTask.Builder()
+ private final DbClient dbClient = dbTester.getDbClient();
+ private final CeTask.Component entity = new CeTask.Component(ENTITY_UUID, "component key", "component name");
+ private final CeTask.Component component = new CeTask.Component(BRANCH_UUID, "component key", "component name");
+ private final CeTask ceTask = new CeTask.Builder()
.setType("type")
.setUuid("uuid")
.setComponent(component)
- .setMainComponent(component)
+ .setEntity(entity)
.build();
@Rule
public EsTester es = EsTester.create();
- private System2 system2 = new System2();
- @Rule
- public DbTester db = DbTester.create(system2);
-
- private IssueIndexer issueIndexer = mock(IssueIndexer.class);
- private IndexIssuesStep underTest = new IndexIssuesStep(ceTask, dbClient, issueIndexer);
+ private final IssueIndexer issueIndexer = mock(IssueIndexer.class);
+ private final IndexIssuesStep underTest = new IndexIssuesStep(ceTask, dbClient, issueIndexer);
@Test
public void execute() {
@@ -107,7 +102,7 @@ public class IndexIssuesStepIT {
.setType("type")
.setUuid("uuid")
.setComponent(null)
- .setMainComponent(null)
+ .setEntity(null)
.build();
IndexIssuesStep underTest = new IndexIssuesStep(ceTask, dbClient, issueIndexer);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/analysis/ExportAnalysesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/analysis/ExportAnalysesStepIT.java
index eebf642d89c..6c96fe0ac00 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/analysis/ExportAnalysesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/analysis/ExportAnalysesStepIT.java
@@ -96,7 +96,7 @@ public class ExportAnalysesStepIT {
.setBranchUuid(PROJECT_UUID);
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public LogTester logTester = new LogTester();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/branches/ExportBranchesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/branches/ExportBranchesStepIT.java
index cd0864a80d4..662525f15e3 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/branches/ExportBranchesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/branches/ExportBranchesStepIT.java
@@ -42,6 +42,7 @@ import org.sonar.db.DbTester;
import org.sonar.db.component.BranchDto;
import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
+import org.sonar.db.component.ProjectData;
import org.sonar.db.project.ProjectExportMapper;
import static java.util.stream.Collectors.toMap;
@@ -53,20 +54,9 @@ import static org.sonar.db.component.ComponentDto.UUID_PATH_OF_ROOT;
public class ExportBranchesStepIT {
private static final String PROJECT_UUID = "PROJECT_UUID";
- private static final ComponentDto PROJECT = new ComponentDto()
- // no id yet
- .setScope(Scopes.PROJECT)
- .setQualifier(Qualifiers.PROJECT)
- .setKey("the_project")
- .setName("The Project")
- .setDescription("The project description")
- .setEnabled(true)
- .setUuid(PROJECT_UUID)
- .setUuidPath(UUID_PATH_OF_ROOT)
- .setBranchUuid(PROJECT_UUID);
@Rule
- public DbTester dbTester = DbTester.createWithExtensionMappers(System2.INSTANCE, ProjectExportMapper.class);
+ public DbTester dbTester = DbTester.createWithExtensionMappers(System2.INSTANCE, true, ProjectExportMapper.class);
@Rule
public LogTester logTester = new LogTester();
@@ -109,13 +99,13 @@ public class ExportBranchesStepIT {
public void setUp() {
logTester.setLevel(Level.DEBUG);
Date createdAt = new Date();
- ComponentDto projectDto = dbTester.components().insertPublicProject(PROJECT).getMainBranchComponent().setCreatedAt(createdAt);
+ ProjectData projectData = dbTester.components().insertPublicProject(PROJECT_UUID);
for (BranchDto branch : branches) {
createdAt = DateUtils.addMinutes(createdAt, 10);
- dbTester.components().insertProjectBranch(PROJECT, branch).setCreatedAt(createdAt);
+ dbTester.components().insertProjectBranch(projectData.getProjectDto(), branch).setCreatedAt(createdAt);
}
dbTester.commit();
- when(projectHolder.projectDto()).thenReturn(dbTester.components().getProjectDtoByMainBranch(projectDto));
+ when(projectHolder.projectDto()).thenReturn(projectData.getProjectDto());
}
@Test
@@ -127,7 +117,7 @@ public class ExportBranchesStepIT {
.stream()
.collect(toMap(ProjectDump.Branch::getUuid, Function.identity()));
assertThat(branches).hasSize(3);
- ProjectDump.Branch mainBranch = branches.get(PROJECT_UUID);
+ ProjectDump.Branch mainBranch = branches.values().stream().filter(ProjectDump.Branch::getIsMain).findFirst().get();
assertThat(mainBranch).isNotNull();
assertThat(mainBranch.getKee()).isEqualTo(BranchDto.DEFAULT_MAIN_BRANCH_NAME);
assertThat(mainBranch.getProjectUuid()).isEqualTo(PROJECT_UUID);
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/component/ExportComponentsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/component/ExportComponentsStepIT.java
index 67a2285b2f5..dd9913cca8a 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/component/ExportComponentsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/component/ExportComponentsStepIT.java
@@ -78,7 +78,7 @@ public class ExportComponentsStepIT {
.setBranchUuid(PROJECT_UUID);
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public LogTester logTester = new LogTester();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/file/ExportLineHashesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/file/ExportLineHashesStepIT.java
index 6ca08fc528b..6e63b776cc3 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/file/ExportLineHashesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/file/ExportLineHashesStepIT.java
@@ -55,16 +55,15 @@ public class ExportLineHashesStepIT {
private static final String FILE_UUID_2 = "file-2-uuid";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public LogTester logTester = new LogTester();
- private DbClient dbClient = dbTester.getDbClient();
- private DbSession dbSession = dbClient.openSession(false);
- private FakeDumpWriter dumpWriter = new FakeDumpWriter();
- private MutableComponentRepository componentRepository = new ComponentRepositoryImpl();
-
- private ExportLineHashesStep underTest = new ExportLineHashesStep(dbClient, dumpWriter, componentRepository);
+ private final DbClient dbClient = dbTester.getDbClient();
+ private final DbSession dbSession = dbClient.openSession(false);
+ private final FakeDumpWriter dumpWriter = new FakeDumpWriter();
+ private final MutableComponentRepository componentRepository = new ComponentRepositoryImpl();
+ private final ExportLineHashesStep underTest = new ExportLineHashesStep(dbClient, dumpWriter, componentRepository);
@Before
public void before() {
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStepIT.java
index 4a672629829..94ff9c8d49d 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStepIT.java
@@ -39,11 +39,11 @@ import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.component.BranchDto;
import org.sonar.db.component.BranchType;
-import org.sonar.db.component.ComponentDto;
+import org.sonar.db.component.ProjectData;
import org.sonar.db.issue.IssueChangeDto;
import org.sonar.db.issue.IssueDto;
+import org.sonar.db.project.ProjectDto;
-import static com.google.common.collect.Lists.newArrayList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.mockito.Mockito.mock;
@@ -63,7 +63,7 @@ public class ExportIssuesChangelogStepIT {
private static final String ISSUE_CLOSED_UUID = "issue closed uuid";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public LogTester logTester = new LogTester();
@@ -73,21 +73,22 @@ public class ExportIssuesChangelogStepIT {
private final FakeDumpWriter dumpWriter = new FakeDumpWriter();
private final ExportIssuesChangelogStep underTest = new ExportIssuesChangelogStep(dbClient, projectHolder, dumpWriter);
+ private BranchDto mainBranch;
private int issueChangeUuidGenerator = 0;
@Before
public void setUp() {
logTester.setLevel(Level.DEBUG);
- ComponentDto projectDto = dbTester.components().insertPublicProject(p -> p.setUuid(PROJECT_UUID)).getMainBranchComponent();
- when(projectHolder.projectDto()).thenReturn(dbTester.components().getProjectDtoByMainBranch(projectDto));
- when(projectHolder.branches()).thenReturn(newArrayList(
- new BranchDto().setBranchType(BranchType.BRANCH).setKey("master").setProjectUuid(PROJECT_UUID).setUuid(PROJECT_UUID)));
-
- insertIssue(PROJECT_UUID, ISSUE_OPEN_UUID, STATUS_OPEN);
- insertIssue(PROJECT_UUID, ISSUE_CONFIRMED_UUID, STATUS_CONFIRMED);
- insertIssue(PROJECT_UUID, ISSUE_REOPENED_UUID, STATUS_REOPENED);
- insertIssue(PROJECT_UUID, ISSUE_RESOLVED_UUID, STATUS_RESOLVED);
- insertIssue(PROJECT_UUID, ISSUE_CLOSED_UUID, STATUS_CLOSED);
+ ProjectData projectData = dbTester.components().insertPublicProject(PROJECT_UUID);
+ mainBranch = projectData.getMainBranchDto();
+ when(projectHolder.projectDto()).thenReturn(projectData.getProjectDto());
+ when(projectHolder.branches()).thenReturn(List.of(mainBranch));
+
+ insertIssue(mainBranch.getUuid(), ISSUE_OPEN_UUID, STATUS_OPEN);
+ insertIssue(mainBranch.getUuid(), ISSUE_CONFIRMED_UUID, STATUS_CONFIRMED);
+ insertIssue(mainBranch.getUuid(), ISSUE_REOPENED_UUID, STATUS_REOPENED);
+ insertIssue(mainBranch.getUuid(), ISSUE_RESOLVED_UUID, STATUS_RESOLVED);
+ insertIssue(mainBranch.getUuid(), ISSUE_CLOSED_UUID, STATUS_CLOSED);
}
@After
@@ -145,7 +146,7 @@ public class ExportIssuesChangelogStepIT {
.setChangeType("change type")
.setUserUuid("user_uuid")
.setIssueChangeCreationDate(454135L)
- .setProjectUuid(PROJECT_UUID);
+ .setProjectUuid(mainBranch.getUuid());
insertIssueChange(issueChangeDto);
underTest.execute(new TestComputationStepContext());
@@ -193,7 +194,7 @@ public class ExportIssuesChangelogStepIT {
@Test
public void execute_sets_createAt_to_zero_if_both_createdAt_and_issueChangeDate_are_null() {
- insertIssueChange(new IssueChangeDto().setUuid(Uuids.createFast()).setIssueKey(ISSUE_REOPENED_UUID).setProjectUuid(PROJECT_UUID));
+ insertIssueChange(new IssueChangeDto().setUuid(Uuids.createFast()).setIssueKey(ISSUE_REOPENED_UUID).setProjectUuid(mainBranch.getUuid()));
underTest.execute(new TestComputationStepContext());
@@ -262,10 +263,10 @@ public class ExportIssuesChangelogStepIT {
return dto;
}
- private void insertIssue(String projectUuid, String uuid, String status) {
+ private void insertIssue(String branchUuid, String uuid, String status) {
IssueDto dto = new IssueDto()
.setKee(uuid)
- .setProjectUuid(projectUuid)
+ .setProjectUuid(branchUuid)
.setStatus(status);
dbClient.issueDao().insert(dbSession, dto);
dbSession.commit();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java
index af669dcc260..93e23a07e27 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java
@@ -83,7 +83,7 @@ public class ExportIssuesStepIT {
public static final DbIssues.MessageFormatting MESSAGE_FORMATTING = DbIssues.MessageFormatting.newBuilder().setStart(0).setEnd(4).setType(MessageFormattingType.CODE).build();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public LogTester logTester = new LogTester();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/rule/ExportAdHocRulesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/rule/ExportAdHocRulesStepIT.java
index d68b74e7cc5..6b4bd209228 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/rule/ExportAdHocRulesStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/rule/ExportAdHocRulesStepIT.java
@@ -44,6 +44,7 @@ import org.sonar.db.DbTester;
import org.sonar.db.component.BranchDto;
import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
+import org.sonar.db.component.ProjectData;
import org.sonar.db.issue.IssueDto;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.rule.RuleDto;
@@ -56,19 +57,6 @@ import static org.sonar.db.component.ComponentDto.UUID_PATH_OF_ROOT;
public class ExportAdHocRulesStepIT {
private static final String PROJECT_UUID = "some-uuid";
-
- private static final ComponentDto PROJECT = new ComponentDto()
- // no id yet
- .setScope(Scopes.PROJECT)
- .setQualifier(Qualifiers.PROJECT)
- .setKey("the_project")
- .setName("The Project")
- .setDescription("The project description")
- .setEnabled(true)
- .setUuid(PROJECT_UUID)
- .setUuidPath(UUID_PATH_OF_ROOT)
- .setBranchUuid(PROJECT_UUID);
-
private static final List<BranchDto> BRANCHES = ImmutableList.of(
new BranchDto().setBranchType(BranchType.PULL_REQUEST).setProjectUuid(PROJECT_UUID).setKey("pr-1").setUuid("pr-1-uuid").setMergeBranchUuid("master").setIsMain(false),
new BranchDto().setBranchType(BranchType.BRANCH).setProjectUuid(PROJECT_UUID).setKey("branch-2").setUuid("branch-2-uuid").setMergeBranchUuid("master")
@@ -78,14 +66,14 @@ public class ExportAdHocRulesStepIT {
@Rule
public LogTester logTester = new LogTester();
-
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private int issueUuidGenerator = 1;
- private FakeDumpWriter dumpWriter = new FakeDumpWriter();
- private ProjectHolder projectHolder = mock(ProjectHolder.class);
- private ExportAdHocRulesStep underTest = new ExportAdHocRulesStep(dbTester.getDbClient(), projectHolder, dumpWriter);
+ private ComponentDto mainBranch;
+ private final FakeDumpWriter dumpWriter = new FakeDumpWriter();
+ private final ProjectHolder projectHolder = mock(ProjectHolder.class);
+ private final ExportAdHocRulesStep underTest = new ExportAdHocRulesStep(dbTester.getDbClient(), projectHolder, dumpWriter);
@Before
public void setup() {
@@ -110,7 +98,7 @@ public class ExportAdHocRulesStepIT {
RuleDto rule2 = insertAddHocRule( "rule-2");
insertAddHocRule( "rule-3");
insertIssue(rule1, differentProject, differentProject);
- insertIssue(rule2, PROJECT_UUID, PROJECT_UUID);
+ insertIssue(rule2, mainBranch.uuid(), mainBranch.uuid());
underTest.execute(new TestComputationStepContext());
@@ -125,9 +113,9 @@ public class ExportAdHocRulesStepIT {
RuleDto rule1 = insertStandardRule("rule-1");
RuleDto rule2 = insertExternalRule("rule-2");
RuleDto rule3 = insertAddHocRule("rule-3");
- insertIssue(rule1, PROJECT_UUID, PROJECT_UUID);
- insertIssue(rule2, PROJECT_UUID, PROJECT_UUID);
- insertIssue(rule3, PROJECT_UUID, PROJECT_UUID);
+ insertIssue(rule1, mainBranch.uuid(), mainBranch.uuid());
+ insertIssue(rule2, mainBranch.uuid(), mainBranch.uuid());
+ insertIssue(rule3, mainBranch.uuid(), mainBranch.uuid());
underTest.execute(new TestComputationStepContext());
@@ -160,9 +148,9 @@ public class ExportAdHocRulesStepIT {
RuleDto rule1 = insertAddHocRule("rule-1");
RuleDto rule2 = insertAddHocRule("rule-2");
RuleDto rule3 = insertAddHocRule("rule-3");
- insertIssue(rule1, PROJECT_UUID, PROJECT_UUID);
- insertIssue(rule2, PROJECT_UUID, PROJECT_UUID);
- insertIssue(rule3, PROJECT_UUID, PROJECT_UUID);
+ insertIssue(rule1, mainBranch.uuid(), mainBranch.uuid());
+ insertIssue(rule2, mainBranch.uuid(), mainBranch.uuid());
+ insertIssue(rule3, mainBranch.uuid(), mainBranch.uuid());
dumpWriter.failIfMoreThan(2, DumpElement.AD_HOC_RULES);
assertThatThrownBy(() -> underTest.execute(new TestComputationStepContext()))
@@ -177,14 +165,15 @@ public class ExportAdHocRulesStepIT {
private ProjectDto createProject() {
Date createdAt = new Date();
- ComponentDto projectDto = dbTester.components().insertPublicProject(PROJECT).getMainBranchComponent();
- BRANCHES.forEach(branch -> dbTester.components().insertProjectBranch(projectDto, branch).setCreatedAt(createdAt));
+ ProjectData projectData = dbTester.components().insertPublicProject(PROJECT_UUID);
+ mainBranch = projectData.getMainBranchComponent();
+ BRANCHES.forEach(branch -> dbTester.components().insertProjectBranch(projectData.getProjectDto(), branch).setCreatedAt(createdAt));
dbTester.commit();
- return dbTester.components().getProjectDtoByMainBranch(projectDto);
+ return projectData.getProjectDto();
}
- private void insertIssue(RuleDto ruleDto, String projectUuid, String componentUuid) {
- IssueDto dto = createBaseIssueDto(ruleDto, projectUuid, componentUuid);
+ private void insertIssue(RuleDto ruleDto, String branchUuid, String componentUuid) {
+ IssueDto dto = createBaseIssueDto(ruleDto, branchUuid, componentUuid);
insertIssue(dto);
}
@@ -193,11 +182,11 @@ public class ExportAdHocRulesStepIT {
dbTester.commit();
}
- private IssueDto createBaseIssueDto(RuleDto ruleDto, String projectUuid, String componentUuid) {
+ private IssueDto createBaseIssueDto(RuleDto ruleDto, String branchUuid, String componentUuid) {
return new IssueDto()
.setKee("issue_uuid_" + issueUuidGenerator++)
.setComponentUuid(componentUuid)
- .setProjectUuid(projectUuid)
+ .setProjectUuid(branchUuid)
.setRuleUuid(ruleDto.getUuid())
.setStatus("OPEN");
}
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportEventsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportEventsStepIT.java
index 84edae825c0..b1ffa6fabbf 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportEventsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportEventsStepIT.java
@@ -58,7 +58,7 @@ public class ExportEventsStepIT {
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public LogTester logTester = new LogTester();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLinksStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLinksStepIT.java
index c4ce226b002..2d54cea746b 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLinksStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLinksStepIT.java
@@ -58,7 +58,7 @@ public class ExportLinksStepIT {
.setBranchUuid(PROJECT_UUID);
@Rule
- public DbTester db = DbTester.createWithExtensionMappers(System2.INSTANCE, ProjectExportMapper.class);
+ public DbTester db = DbTester.createWithExtensionMappers(System2.INSTANCE, true, ProjectExportMapper.class);
@Rule
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLiveMeasuresStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLiveMeasuresStepIT.java
index 9739cf0d182..a8a874f1b4f 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLiveMeasuresStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportLiveMeasuresStepIT.java
@@ -47,13 +47,13 @@ public class ExportLiveMeasuresStepIT {
@Rule
public LogTester logTester = new LogTester();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
- private ComponentRepositoryImpl componentRepository = new ComponentRepositoryImpl();
- private MutableMetricRepository metricRepository = new MutableMetricRepositoryImpl();
- private ProjectHolder projectHolder = mock(ProjectHolder.class);
- private FakeDumpWriter dumpWriter = new FakeDumpWriter();
- private ExportLiveMeasuresStep underTest = new ExportLiveMeasuresStep(dbTester.getDbClient(), projectHolder, componentRepository, metricRepository, dumpWriter);
+ private final ComponentRepositoryImpl componentRepository = new ComponentRepositoryImpl();
+ private final MutableMetricRepository metricRepository = new MutableMetricRepositoryImpl();
+ private final ProjectHolder projectHolder = mock(ProjectHolder.class);
+ private final FakeDumpWriter dumpWriter = new FakeDumpWriter();
+ private final ExportLiveMeasuresStep underTest = new ExportLiveMeasuresStep(dbTester.getDbClient(), projectHolder, componentRepository, metricRepository, dumpWriter);
@Before
public void before() {
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMeasuresStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMeasuresStepIT.java
index 6bc708f93b3..136b2dd1501 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMeasuresStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMeasuresStepIT.java
@@ -97,7 +97,7 @@ public class ExportMeasuresStepIT {
public LogTester logTester = new LogTester();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private ComponentRepositoryImpl componentRepository = new ComponentRepositoryImpl();
private MutableMetricRepository metricRepository = new MutableMetricRepositoryImpl();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMetricsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMetricsStepIT.java
index 4304b5fc353..325d91d1fd9 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMetricsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportMetricsStepIT.java
@@ -52,7 +52,7 @@ public class ExportMetricsStepIT {
public LogTester logTester = new LogTester();
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
MutableMetricRepository metricsHolder = new MutableMetricRepositoryImpl();
FakeDumpWriter dumpWriter = new FakeDumpWriter();
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportNewCodePeriodsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportNewCodePeriodsStepIT.java
index 8a61f02a780..c2921880f7b 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportNewCodePeriodsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportNewCodePeriodsStepIT.java
@@ -38,6 +38,7 @@ import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.newcodeperiod.NewCodePeriodDto;
import org.sonar.db.newcodeperiod.NewCodePeriodType;
+import org.sonar.db.project.ProjectDto;
import org.sonar.db.project.ProjectExportMapper;
import static org.assertj.core.api.Assertions.assertThat;
@@ -50,13 +51,6 @@ public class ExportNewCodePeriodsStepIT {
private static final String PROJECT_UUID = "project_uuid";
private static final String ANOTHER_PROJECT_UUID = "another_project_uuid";
- private static final ComponentDto PROJECT = new ComponentDto()
- .setUuid(PROJECT_UUID)
- .setUuidPath(UUID_PATH_OF_ROOT)
- .setBranchUuid(PROJECT_UUID)
- .setQualifier(Qualifiers.PROJECT)
- .setName("project")
- .setKey("the_project");
private static final ComponentDto ANOTHER_PROJECT = new ComponentDto()
.setUuid(ANOTHER_PROJECT_UUID)
.setUuidPath(UUID_PATH_OF_ROOT)
@@ -76,10 +70,12 @@ public class ExportNewCodePeriodsStepIT {
new BranchDto().setBranchType(BranchType.BRANCH).setProjectUuid(ANOTHER_PROJECT_UUID).setKey("branch-3").setUuid("branch-uuid-3").setMergeBranchUuid("master")
.setExcludeFromPurge(true).setIsMain(false));
+ private ProjectDto project;
+
@Rule
public LogTester logTester = new LogTester();
@Rule
- public DbTester dbTester = DbTester.createWithExtensionMappers(System2.INSTANCE, ProjectExportMapper.class);
+ public DbTester dbTester = DbTester.createWithExtensionMappers(System2.INSTANCE, true, ProjectExportMapper.class);
private MutableProjectHolder projectHolder = new MutableProjectHolderImpl();
private FakeDumpWriter dumpWriter = new FakeDumpWriter();
@@ -89,14 +85,14 @@ public class ExportNewCodePeriodsStepIT {
public void setUp() {
logTester.setLevel(Level.DEBUG);
Date createdAt = new Date();
- ComponentDto projectDto = dbTester.components().insertPublicProject(PROJECT).getMainBranchComponent();
- PROJECT_BRANCHES.forEach(branch -> dbTester.components().insertProjectBranch(projectDto, branch).setCreatedAt(createdAt));
+ project = dbTester.components().insertPrivateProject(PROJECT_UUID).getProjectDto();
+ PROJECT_BRANCHES.forEach(branch -> dbTester.components().insertProjectBranch(project, branch).setCreatedAt(createdAt));
ComponentDto anotherProjectDto = dbTester.components().insertPublicProject(ANOTHER_PROJECT).getMainBranchComponent();
ANOTHER_PROJECT_BRANCHES.forEach(branch -> dbTester.components().insertProjectBranch(anotherProjectDto, branch).setCreatedAt(createdAt));
dbTester.commit();
- projectHolder.setProjectDto(dbTester.components().getProjectDtoByMainBranch(PROJECT));
+ projectHolder.setProjectDto(project);
}
@Test
@@ -109,10 +105,10 @@ public class ExportNewCodePeriodsStepIT {
@Test
public void export_only_project_new_code_periods_on_branches_excluded_from_purge() {
- NewCodePeriodDto newCodePeriod1 = newDto("uuid1", PROJECT.uuid(), null, SPECIFIC_ANALYSIS, "analysis-uuid");
- NewCodePeriodDto newCodePeriod2 = newDto("uuid2", PROJECT.uuid(), "branch-uuid-1", SPECIFIC_ANALYSIS, "analysis-uuid");
+ NewCodePeriodDto newCodePeriod1 = newDto("uuid1", project.getUuid(), null, SPECIFIC_ANALYSIS, "analysis-uuid");
+ NewCodePeriodDto newCodePeriod2 = newDto("uuid2", project.getUuid(), "branch-uuid-1", SPECIFIC_ANALYSIS, "analysis-uuid");
// the following new code periods are not exported
- NewCodePeriodDto newCodePeriod3 = newDto("uuid3", PROJECT.uuid(), "branch-uuid-2", SPECIFIC_ANALYSIS, "analysis-uuid");
+ NewCodePeriodDto newCodePeriod3 = newDto("uuid3", project.getUuid(), "branch-uuid-2", SPECIFIC_ANALYSIS, "analysis-uuid");
NewCodePeriodDto anotherProjectNewCodePeriods = newDto("uuid4", ANOTHER_PROJECT.uuid(), "branch-uuid-3", SPECIFIC_ANALYSIS, "analysis-uuid");
NewCodePeriodDto globalNewCodePeriod = newDto("uuid5", null, null, PREVIOUS_VERSION, null);
insertNewCodePeriods(newCodePeriod1, newCodePeriod2, newCodePeriod3, anotherProjectNewCodePeriods, globalNewCodePeriod);
@@ -127,7 +123,7 @@ public class ExportNewCodePeriodsStepIT {
@Test
public void test_exported_fields() {
- NewCodePeriodDto dto = newDto("uuid1", PROJECT.uuid(), "branch-uuid-1", SPECIFIC_ANALYSIS, "analysis-uuid");
+ NewCodePeriodDto dto = newDto("uuid1", project.getUuid(), "branch-uuid-1", SPECIFIC_ANALYSIS, "analysis-uuid");
insertNewCodePeriods(dto);
underTest.execute(new TestComputationStepContext());
@@ -144,8 +140,8 @@ public class ExportNewCodePeriodsStepIT {
public void throws_ISE_if_error() {
dumpWriter.failIfMoreThan(1, DumpElement.NEW_CODE_PERIODS);
insertNewCodePeriods(
- newDto("uuid1", PROJECT.uuid(), null, SPECIFIC_ANALYSIS, "analysis-uuid"),
- newDto("uuid2", PROJECT.uuid(), "branch-uuid-1", SPECIFIC_ANALYSIS, "analysis-uuid"));
+ newDto("uuid1", project.getUuid(), null, SPECIFIC_ANALYSIS, "analysis-uuid"),
+ newDto("uuid2", project.getUuid(), "branch-uuid-1", SPECIFIC_ANALYSIS, "analysis-uuid"));
assertThatThrownBy(() -> underTest.execute(new TestComputationStepContext()))
.isInstanceOf(IllegalStateException.class)
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportSettingsStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportSettingsStepIT.java
index b2ea92b133e..43e407dbbac 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportSettingsStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/ExportSettingsStepIT.java
@@ -58,11 +58,11 @@ public class ExportSettingsStepIT {
@Rule
public LogTester logTester = new LogTester();
@Rule
- public DbTester dbTester = DbTester.createWithExtensionMappers(System2.INSTANCE, ProjectExportMapper.class);
- private MutableComponentRepository componentRepository = new ComponentRepositoryImpl();
- private MutableProjectHolder projectHolder = new MutableProjectHolderImpl();
- private FakeDumpWriter dumpWriter = new FakeDumpWriter();
- private ExportSettingsStep underTest = new ExportSettingsStep(dbTester.getDbClient(), projectHolder, componentRepository, dumpWriter);
+ public DbTester dbTester = DbTester.createWithExtensionMappers(System2.INSTANCE, true, ProjectExportMapper.class);
+ private final MutableComponentRepository componentRepository = new ComponentRepositoryImpl();
+ private final MutableProjectHolder projectHolder = new MutableProjectHolderImpl();
+ private final FakeDumpWriter dumpWriter = new FakeDumpWriter();
+ private final ExportSettingsStep underTest = new ExportSettingsStep(dbTester.getDbClient(), projectHolder, componentRepository, dumpWriter);
@Before
public void setUp() {
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/LoadProjectStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/LoadProjectStepIT.java
index 29e1180b6fc..5fce2aafedb 100644
--- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/LoadProjectStepIT.java
+++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/steps/LoadProjectStepIT.java
@@ -37,7 +37,7 @@ public class LoadProjectStepIT {
private static final String PROJECT_KEY = "project_key";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private final ProjectDescriptor descriptor = new ProjectDescriptor("project_uuid", PROJECT_KEY, "Project Name");
private final MutableProjectHolder definitionHolder = new MutableProjectHolderImpl();
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java
index 1bee87571ad..cdad8bc203b 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java
@@ -167,7 +167,7 @@ public class PostProjectAnalysisTasksExecutor implements ComputationStepExecutor
}
private static Project createProject(org.sonar.ce.task.CeTask ceTask) {
- return ceTask.getMainComponent()
+ return ceTask.getEntity()
.map(c -> new ProjectImpl(
c.getUuid(),
c.getKey().orElseThrow(() -> new IllegalStateException("Missing project key")),
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStep.java
index 12af107f1cd..918dc9a6bea 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStep.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/source/PersistFileSourcesStep.java
@@ -78,7 +78,7 @@ public class PersistFileSourcesStep implements ComputationStep {
private class FileSourceVisitor extends TypeAwareVisitorAdapter {
private final DbSession session;
- private String projectUuid;
+ private String branchUuid;
private FileSourceVisitor(DbSession session) {
super(CrawlerDepthLimit.FILE, PRE_ORDER);
@@ -86,8 +86,8 @@ public class PersistFileSourcesStep implements ComputationStep {
}
@Override
- public void visitProject(Component project) {
- this.projectUuid = project.getUuid();
+ public void visitProject(Component branch) {
+ this.branchUuid = branch.getUuid();
}
@Override
@@ -113,7 +113,7 @@ public class PersistFileSourcesStep implements ComputationStep {
if (previousDto == null) {
FileSourceDto dto = new FileSourceDto()
.setUuid(uuidFactory.create())
- .setProjectUuid(projectUuid)
+ .setProjectUuid(branchUuid)
.setFileUuid(file.getUuid())
.setBinaryData(binaryData)
.setSrcHash(srcHash)
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java
index 14ad8283eaa..bd98f1f6f52 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/LoadReportAnalysisMetadataHolderStep.java
@@ -87,11 +87,11 @@ public class LoadReportAnalysisMetadataHolderStep implements ComputationStep {
* @return a {@link Runnable} to execute some checks on the project at the end of the step
*/
private Runnable loadProject(ScannerReport.Metadata reportMetadata) {
- CeTask.Component mainComponent = mandatoryComponent(ceTask.getMainComponent());
- String mainComponentKey = mainComponent.getKey()
+ CeTask.Component entity = mandatoryComponent(ceTask.getEntity());
+ String entityKey = entity.getKey()
.orElseThrow(() -> MessageException.of(format(
- "Compute Engine task main component key is null. Project with UUID %s must have been deleted since report was uploaded. Can not proceed.",
- mainComponent.getUuid())));
+ "Compute Engine task entity key is null. Project with UUID %s must have been deleted since report was uploaded. Can not proceed.",
+ entity.getUuid())));
CeTask.Component component = mandatoryComponent(ceTask.getComponent());
if (!component.getKey().isPresent()) {
throw MessageException.of(format(
@@ -102,18 +102,17 @@ public class LoadReportAnalysisMetadataHolderStep implements ComputationStep {
ProjectDto dto = toProject(reportMetadata.getProjectKey());
analysisMetadata.setProject(Project.fromProjectDtoWithTags(dto));
return () -> {
- if (!mainComponentKey.equals(reportMetadata.getProjectKey())) {
+ if (!entityKey.equals(reportMetadata.getProjectKey())) {
throw MessageException.of(format(
"ProjectKey in report (%s) is not consistent with projectKey under which the report has been submitted (%s)",
reportMetadata.getProjectKey(),
- mainComponentKey));
+ entityKey));
}
};
}
- private static CeTask.Component mandatoryComponent(Optional<CeTask.Component> mainComponent) {
- return mainComponent
- .orElseThrow(() -> new IllegalStateException("component missing on ce task"));
+ private static CeTask.Component mandatoryComponent(Optional<CeTask.Component> entity) {
+ return entity.orElseThrow(() -> new IllegalStateException("component missing on ce task"));
}
private void loadQualityProfiles(ScannerReport.Metadata reportMetadata) {
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStep.java
index 4790834cdd4..c40fee64e5e 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStep.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/taskprocessor/IgnoreOrphanBranchStep.java
@@ -40,11 +40,11 @@ public final class IgnoreOrphanBranchStep implements ComputationStep {
@Override
public void execute(Context context) {
- String mainComponentUuid = ceTask.getMainComponent().orElseThrow(() -> new UnsupportedOperationException("main component not found in task")).getUuid();
+ String entityUuid = ceTask.getEntity().orElseThrow(() -> new UnsupportedOperationException("entity not found in task")).getUuid();
String componentUuid = ceTask.getComponent().orElseThrow(() -> new UnsupportedOperationException("component not found in task")).getUuid();
try (DbSession dbSession = dbClient.openSession(false)) {
- Optional<ComponentDto> componentDto = dbClient.componentDao().selectByUuid(dbSession, mainComponentUuid);
+ Optional<ComponentDto> componentDto = dbClient.componentDao().selectByUuid(dbSession, entityUuid);
if(!componentDto.isPresent()){
LOG.info("reindexation task has been trigger on an orphan branch. removing any exclude_from_purge flag, and skip the indexation");
dbClient.branchDao().updateExcludeFromPurge(dbSession, componentUuid, false);
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStep.java
index 2bf7818d3dc..51945cd2804 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStep.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesChangelogStep.java
@@ -41,11 +41,10 @@ public class ExportIssuesChangelogStep implements ComputationStep {
private static final String STATUS_CLOSED = "CLOSED";
private static final String QUERY = "select" +
" ic.kee, ic.issue_key, ic.change_type, ic.change_data, ic.user_login," +
- " ic.issue_change_creation_date, ic.created_at, p.uuid" +
+ " ic.issue_change_creation_date, ic.created_at, pb.uuid" +
" from issue_changes ic" +
" join issues i on i.kee = ic.issue_key" +
- " join projects p on p.uuid = i.project_uuid" +
- " join project_branches pb on pb.uuid = p.uuid" +
+ " join project_branches pb on pb.uuid = i.project_uuid" +
" where pb.project_uuid = ? and pb.branch_type = 'BRANCH' and pb.exclude_from_purge = ? " +
" and i.status <> ?" +
" order by ic.created_at asc";
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/taskprocessor/ProjectExportTaskProcessor.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/taskprocessor/ProjectExportTaskProcessor.java
index e208583103d..3383d7258e3 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/taskprocessor/ProjectExportTaskProcessor.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/taskprocessor/ProjectExportTaskProcessor.java
@@ -65,8 +65,8 @@ public class ProjectExportTaskProcessor implements CeTaskProcessor {
}
private static void failIfNotMain(CeTask.Component exportComponent, CeTask task) {
- task.getMainComponent().filter(mainComponent -> mainComponent.equals(exportComponent))
- .orElseThrow(() -> new IllegalStateException("Component of task must be the same as main component"));
+ task.getEntity().filter(entity -> entity.equals(exportComponent))
+ .orElseThrow(() -> new IllegalStateException("Component of task must be the same as entity"));
}
private static CeTask.Component mandatoryComponent(CeTask task, String type) {
diff --git a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutorTest.java b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutorTest.java
index c95b925ccee..d7ea7410212 100644
--- a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutorTest.java
+++ b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutorTest.java
@@ -88,11 +88,12 @@ public class PostProjectAnalysisTasksExecutorTest {
private final ArgumentCaptor<PostProjectAnalysisTask.Context> taskContextCaptor = ArgumentCaptor.forClass(PostProjectAnalysisTask.Context.class);
private final CeTask.Component component = new CeTask.Component("component uuid", "component key", "component name");
+ private final CeTask.Component entity = new CeTask.Component("entity uuid", "component key", "component name");
private final CeTask ceTask = new CeTask.Builder()
.setType("type")
.setUuid("uuid")
.setComponent(component)
- .setMainComponent(component)
+ .setEntity(entity)
.build();
private final PostProjectAnalysisTask postProjectAnalysisTask = newPostProjectAnalysisTask("PT1");
private final PostProjectAnalysisTasksExecutor underTest = new PostProjectAnalysisTasksExecutor(
@@ -189,9 +190,9 @@ public class PostProjectAnalysisTasksExecutorTest {
verify(postProjectAnalysisTask).finished(taskContextCaptor.capture());
Project project = taskContextCaptor.getValue().getProjectAnalysis().getProject();
- assertThat(project.getUuid()).isEqualTo(ceTask.getComponent().get().getUuid());
- assertThat(project.getKey()).isEqualTo(ceTask.getComponent().get().getKey().get());
- assertThat(project.getName()).isEqualTo(ceTask.getComponent().get().getName().get());
+ assertThat(project.getUuid()).isEqualTo(ceTask.getEntity().get().getUuid());
+ assertThat(project.getKey()).isEqualTo(ceTask.getEntity().get().getKey().get());
+ assertThat(project.getName()).isEqualTo(ceTask.getEntity().get().getName().get());
}
@Test
diff --git a/server/sonar-ce-task/src/main/java/org/sonar/ce/task/CeTask.java b/server/sonar-ce-task/src/main/java/org/sonar/ce/task/CeTask.java
index 82aed72779c..95cc6b2c529 100644
--- a/server/sonar-ce-task/src/main/java/org/sonar/ce/task/CeTask.java
+++ b/server/sonar-ce-task/src/main/java/org/sonar/ce/task/CeTask.java
@@ -40,17 +40,17 @@ public class CeTask {
private final String type;
private final String uuid;
private final Component component;
- private final Component mainComponent;
+ private final Component entity;
private final User submitter;
private final Map<String, String> characteristics;
private CeTask(Builder builder) {
this.uuid = requireNonNull(emptyToNull(builder.uuid), "uuid can't be null nor empty");
this.type = requireNonNull(emptyToNull(builder.type), "type can't be null nor empty");
- checkArgument((builder.component == null) == (builder.mainComponent == null),
- "None or both component and main component must be non null");
+ checkArgument((builder.component == null) == (builder.entity == null),
+ "None or both component and entity must be non null");
this.component = builder.component;
- this.mainComponent = builder.mainComponent;
+ this.entity = builder.entity;
this.submitter = builder.submitter;
if (builder.characteristics == null) {
this.characteristics = emptyMap();
@@ -103,8 +103,8 @@ public class CeTask {
return Optional.ofNullable(component);
}
- public Optional<Component> getMainComponent() {
- return Optional.ofNullable(mainComponent);
+ public Optional<Component> getEntity() {
+ return Optional.ofNullable(entity);
}
@CheckForNull
@@ -122,7 +122,7 @@ public class CeTask {
.add("type", type)
.add("uuid", uuid)
.add("component", component)
- .add("mainComponent", mainComponent)
+ .add("entity", entity)
.add("submitter", submitter)
.toString();
}
@@ -148,7 +148,7 @@ public class CeTask {
private String uuid;
private String type;
private Component component;
- private Component mainComponent;
+ private Component entity;
private User submitter;
private Map<String, String> characteristics;
@@ -167,8 +167,8 @@ public class CeTask {
return this;
}
- public Builder setMainComponent(@Nullable Component mainComponent) {
- this.mainComponent = mainComponent;
+ public Builder setEntity(@Nullable Component entity) {
+ this.entity = entity;
return this;
}
diff --git a/server/sonar-ce-task/src/test/java/org/sonar/ce/task/CeTaskTest.java b/server/sonar-ce-task/src/test/java/org/sonar/ce/task/CeTaskTest.java
index c773ae1c5ce..84ec151ab7d 100644
--- a/server/sonar-ce-task/src/test/java/org/sonar/ce/task/CeTaskTest.java
+++ b/server/sonar-ce-task/src/test/java/org/sonar/ce/task/CeTaskTest.java
@@ -35,20 +35,20 @@ public class CeTaskTest {
private CeTask.Builder underTest = new CeTask.Builder();
@Test
- @UseDataProvider("oneAndOnlyOneOfComponentAndMainComponent")
- public void build_fails_with_IAE_if_only_one_of_component_and_main_component_is_non_null(CeTask.Component component, CeTask.Component mainComponent) {
+ @UseDataProvider("oneAndOnlyOneOfComponentAndEntity")
+ public void build_fails_with_IAE_if_only_one_of_component_and_main_component_is_non_null(CeTask.Component component, CeTask.Component entity) {
underTest.setType("TYPE_1");
underTest.setUuid("UUID_1");
underTest.setComponent(component);
- underTest.setMainComponent(mainComponent);
+ underTest.setEntity(entity);
assertThatThrownBy(() -> underTest.build())
.isInstanceOf(IllegalArgumentException.class)
- .hasMessage("None or both component and main component must be non null");
+ .hasMessage("None or both component and entity must be non null");
}
@DataProvider
- public static Object[][] oneAndOnlyOneOfComponentAndMainComponent() {
+ public static Object[][] oneAndOnlyOneOfComponentAndEntity() {
CeTask.Component component = new CeTask.Component("COMPONENT_UUID_1", "COMPONENT_KEY_1", "The component");
return new Object[][] {
{component, null},
@@ -59,13 +59,13 @@ public class CeTaskTest {
@Test
public void verify_getters() {
CeTask.Component component = new CeTask.Component("COMPONENT_UUID_1", "COMPONENT_KEY_1", "The component");
- CeTask.Component mainComponent = new CeTask.Component("MAIN_COMPONENT_UUID_1", "MAIN_COMPONENT_KEY_1", "The main component");
+ CeTask.Component entity = new CeTask.Component("ENTITY_UUID_1", "ENTITY_KEY_1", "The entity");
CeTask.User submitter = new CeTask.User("UUID_USER_1", "LOGIN_1");
underTest.setType("TYPE_1");
underTest.setUuid("UUID_1");
underTest.setSubmitter(submitter);
underTest.setComponent(component);
- underTest.setMainComponent(mainComponent);
+ underTest.setEntity(entity);
underTest.setCharacteristics(ImmutableMap.of("k1", "v1", "k2", "v2"));
CeTask task = underTest.build();
@@ -74,7 +74,7 @@ public class CeTaskTest {
assertThat(task.getType()).isEqualTo("TYPE_1");
assertThat(task.getSubmitter()).isEqualTo(submitter);
assertThat(task.getComponent()).contains(component);
- assertThat(task.getMainComponent()).contains(mainComponent);
+ assertThat(task.getEntity()).contains(entity);
assertThat(task.getCharacteristics())
.hasSize(2)
.containsEntry("k1", "v1")
@@ -84,11 +84,11 @@ public class CeTaskTest {
@Test
public void verify_toString() {
CeTask.Component component = new CeTask.Component("COMPONENT_UUID_1", "COMPONENT_KEY_1", "The component");
- CeTask.Component mainComponent = new CeTask.Component("MAIN_COMPONENT_UUID_1", "MAIN_COMPONENT_KEY_1", "The main component");
+ CeTask.Component entity = new CeTask.Component("ENTITY_UUID_1", "ENTITY_KEY_1", "The entity");
underTest.setType("TYPE_1");
underTest.setUuid("UUID_1");
underTest.setComponent(component);
- underTest.setMainComponent(mainComponent);
+ underTest.setEntity(entity);
underTest.setSubmitter(new CeTask.User("UUID_USER_1", "LOGIN_1"));
underTest.setCharacteristics(ImmutableMap.of("k1", "v1", "k2", "v2"));
@@ -99,7 +99,7 @@ public class CeTaskTest {
"type=TYPE_1, " +
"uuid=UUID_1, " +
"component=Component{uuid='COMPONENT_UUID_1', key='COMPONENT_KEY_1', name='The component'}, " +
- "mainComponent=Component{uuid='MAIN_COMPONENT_UUID_1', key='MAIN_COMPONENT_KEY_1', name='The main component'}, " +
+ "entity=Component{uuid='ENTITY_UUID_1', key='ENTITY_KEY_1', name='The entity'}, " +
"submitter=User{uuid='UUID_USER_1', login='LOGIN_1'}" +
"}");
}
diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java
index 5fee41a2903..3eb49dbfde1 100644
--- a/server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java
+++ b/server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java
@@ -45,8 +45,10 @@ import org.sonar.db.ce.CeActivityDto;
import org.sonar.db.ce.CeQueueDto;
import org.sonar.db.ce.CeQueueTesting;
import org.sonar.db.ce.CeTaskTypes;
+import org.sonar.db.component.BranchDto;
import org.sonar.db.component.ComponentDto;
-import org.sonar.db.component.ComponentTesting;
+import org.sonar.db.component.ProjectData;
+import org.sonar.db.project.ProjectDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.platform.NodeInformation;
@@ -71,20 +73,19 @@ public class InternalCeQueueImplIT {
private static final String WORKER_UUID_2 = "worker uuid 2";
private static final String NODE_NAME = "nodeName1";
- private System2 system2 = new AlwaysIncreasingSystem2();
+ private final System2 system2 = new AlwaysIncreasingSystem2();
@Rule
public DbTester db = DbTester.create(system2);
- private DbSession session = db.getSession();
-
- private UuidFactory uuidFactory = UuidFactoryImpl.INSTANCE;
- private CEQueueStatus queueStatus = new CEQueueStatusImpl(db.getDbClient(), mock(System2.class));
- private ComputeEngineStatus computeEngineStatus = mock(ComputeEngineStatus.class);
- private Configuration config = mock(Configuration.class);
- private NextPendingTaskPicker nextPendingTaskPicker = new NextPendingTaskPicker(config, db.getDbClient());
- private NodeInformation nodeInformation = mock(NodeInformation.class);
- private InternalCeQueue underTest = new InternalCeQueueImpl(system2, db.getDbClient(), uuidFactory, queueStatus,
+ private final DbSession session = db.getSession();
+ private final UuidFactory uuidFactory = UuidFactoryImpl.INSTANCE;
+ private final CEQueueStatus queueStatus = new CEQueueStatusImpl(db.getDbClient(), mock(System2.class));
+ private final ComputeEngineStatus computeEngineStatus = mock(ComputeEngineStatus.class);
+ private final Configuration config = mock(Configuration.class);
+ private final NextPendingTaskPicker nextPendingTaskPicker = new NextPendingTaskPicker(config, db.getDbClient());
+ private final NodeInformation nodeInformation = mock(NodeInformation.class);
+ private final InternalCeQueue underTest = new InternalCeQueueImpl(system2, db.getDbClient(), uuidFactory, queueStatus,
computeEngineStatus, nextPendingTaskPicker, nodeInformation);
@Before
@@ -96,8 +97,7 @@ public class InternalCeQueueImplIT {
@Test
public void submit_returns_task_populated_from_CeTaskSubmit_and_creates_CeQueue_row() {
- ComponentDto project1 = newProjectDto("PROJECT_1");
- CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, project1, project1, "rob");
+ CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, "entity", "component", "rob");
CeTask task = underTest.submit(taskSubmit);
UserDto userDto = db.getDbClient().userDao().selectByUuid(db.getSession(), taskSubmit.getSubmitterUuid());
verifyCeTask(taskSubmit, task, null, userDto);
@@ -106,12 +106,12 @@ public class InternalCeQueueImplIT {
@Test
public void submit_populates_component_name_and_key_of_CeTask_if_component_exists() {
- ComponentDto componentDto = insertComponent(newProjectDto("PROJECT_1"));
- CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, componentDto, componentDto, null);
+ ProjectData projectData = newProject("PROJECT_1");
+ CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, projectData, null);
CeTask task = underTest.submit(taskSubmit);
- verifyCeTask(taskSubmit, task, componentDto, null);
+ verifyCeTask(taskSubmit, task, projectData.getMainBranchComponent(), null);
}
@Test
@@ -125,8 +125,7 @@ public class InternalCeQueueImplIT {
@Test
public void massSubmit_returns_tasks_for_each_CeTaskSubmit_populated_from_CeTaskSubmit_and_creates_CeQueue_row_for_each() {
- ComponentDto project1 = newProjectDto("PROJECT_1");
- CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, project1, project1, "rob");
+ CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, "entity", "component", "rob");
CeTaskSubmit taskSubmit2 = createTaskSubmit("some type");
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
@@ -141,15 +140,14 @@ public class InternalCeQueueImplIT {
@Test
public void massSubmit_populates_component_name_and_key_of_CeTask_if_component_exists() {
- ComponentDto componentDto1 = insertComponent(newProjectDto("PROJECT_1"));
- CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, componentDto1, componentDto1, null);
- ComponentDto nonExistingComponent = newProjectDto("non existing component uuid");
- CeTaskSubmit taskSubmit2 = createTaskSubmit("something", nonExistingComponent, nonExistingComponent, null);
+ ProjectData project = newProject("PROJECT_1");
+ CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, project, null);
+ CeTaskSubmit taskSubmit2 = createTaskSubmit("something", project.projectUuid(), "non-existing", null);
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
assertThat(tasks).hasSize(2);
- verifyCeTask(taskSubmit1, tasks.get(0), componentDto1, null);
+ verifyCeTask(taskSubmit1, tasks.get(0), project.getMainBranchComponent(), null);
verifyCeTask(taskSubmit2, tasks.get(1), null, null);
}
@@ -162,7 +160,7 @@ public class InternalCeQueueImplIT {
@Test
public void test_remove() {
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
underTest.remove(peek.get(), CeActivityDto.Status.SUCCESS, null, null);
@@ -194,7 +192,7 @@ public class InternalCeQueueImplIT {
@Test
public void remove_does_not_set_analysisUuid_in_CeActivity_when_CeTaskResult_has_no_analysis_uuid() {
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
underTest.remove(peek.get(), CeActivityDto.Status.SUCCESS, newTaskResult(null), null);
@@ -206,7 +204,7 @@ public class InternalCeQueueImplIT {
@Test
public void remove_sets_analysisUuid_in_CeActivity_when_CeTaskResult_has_analysis_uuid() {
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
Optional<CeTask> peek = underTest.peek(WORKER_UUID_2, true);
underTest.remove(peek.get(), CeActivityDto.Status.SUCCESS, newTaskResult(AN_ANALYSIS_UUID), null);
@@ -220,7 +218,7 @@ public class InternalCeQueueImplIT {
@Test
public void remove_sets_nodeName_in_CeActivity_when_nodeInformation_defines_node_name() {
when(nodeInformation.getNodeName()).thenReturn(Optional.of(NODE_NAME));
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
Optional<CeTask> peek = underTest.peek(WORKER_UUID_2, true);
underTest.remove(peek.get(), CeActivityDto.Status.SUCCESS, newTaskResult(AN_ANALYSIS_UUID), null);
@@ -233,7 +231,7 @@ public class InternalCeQueueImplIT {
@Test
public void remove_do_not_set_nodeName_in_CeActivity_when_nodeInformation_does_not_define_node_name() {
when(nodeInformation.getNodeName()).thenReturn(Optional.empty());
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
Optional<CeTask> peek = underTest.peek(WORKER_UUID_2, true);
underTest.remove(peek.get(), CeActivityDto.Status.SUCCESS, newTaskResult(AN_ANALYSIS_UUID), null);
@@ -247,7 +245,7 @@ public class InternalCeQueueImplIT {
public void remove_saves_error_message_and_stacktrace_when_exception_is_provided() {
Throwable error = new NullPointerException("Fake NPE to test persistence to DB");
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
underTest.remove(peek.get(), CeActivityDto.Status.FAILED, null, error);
@@ -263,7 +261,7 @@ public class InternalCeQueueImplIT {
public void remove_saves_error_when_TypedMessageException_is_provided() {
Throwable error = new TypedExceptionImpl("aType", "aMessage");
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
underTest.remove(peek.get(), CeActivityDto.Status.FAILED, null, error);
@@ -277,7 +275,7 @@ public class InternalCeQueueImplIT {
public void remove_updates_queueStatus_success_even_if_task_does_not_exist_in_DB() {
CEQueueStatus queueStatus = mock(CEQueueStatus.class);
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
db.getDbClient().ceQueueDao().deleteByUuid(db.getSession(), task.getUuid());
db.commit();
@@ -295,7 +293,7 @@ public class InternalCeQueueImplIT {
public void remove_updates_queueStatus_failure_even_if_task_does_not_exist_in_DB() {
CEQueueStatus queueStatusMock = mock(CEQueueStatus.class);
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
db.getDbClient().ceQueueDao().deleteByUuid(db.getSession(), task.getUuid());
db.commit();
InternalCeQueueImpl underTest = new InternalCeQueueImpl(system2, db.getDbClient(), null, queueStatusMock, null, null, nodeInformation);
@@ -313,7 +311,7 @@ public class InternalCeQueueImplIT {
CEQueueStatus queueStatusMock = mock(CEQueueStatus.class);
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
db.executeUpdateSql("update ce_queue set status = 'PENDING', started_at = 123 where uuid = '" + task.getUuid() + "'");
db.commit();
InternalCeQueueImpl underTest = new InternalCeQueueImpl(system2, db.getDbClient(), null, queueStatusMock, null, null, nodeInformation);
@@ -360,7 +358,7 @@ public class InternalCeQueueImplIT {
@Test
public void fail_to_remove_if_not_in_queue() {
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
underTest.remove(task, CeActivityDto.Status.SUCCESS, null, null);
assertThatThrownBy(() -> underTest.remove(task, CeActivityDto.Status.SUCCESS, null, null))
@@ -369,14 +367,16 @@ public class InternalCeQueueImplIT {
@Test
public void test_peek() {
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ ProjectData projectData = newProject("PROJECT_1");
+ ComponentDto mainBranchComponent = projectData.getMainBranchComponent();
+ CeTask task = submit(CeTaskTypes.REPORT, projectData);
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
assertThat(peek).isPresent();
assertThat(peek.get().getUuid()).isEqualTo(task.getUuid());
assertThat(peek.get().getType()).isEqualTo(CeTaskTypes.REPORT);
- assertThat(peek.get().getComponent()).contains(new CeTask.Component("PROJECT_1", null, null));
- assertThat(peek.get().getMainComponent()).contains(peek.get().getComponent().get());
+ assertThat(peek.get().getComponent()).contains(new CeTask.Component(mainBranchComponent.uuid(), mainBranchComponent.getKey(), mainBranchComponent.name()));
+ assertThat(peek.get().getEntity()).contains(peek.get().getComponent().get());
// no more pending tasks
peek = underTest.peek(WORKER_UUID_2, true);
@@ -385,16 +385,16 @@ public class InternalCeQueueImplIT {
@Test
public void peek_populates_name_and_key_for_existing_component_and_main_component() {
- ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto branch = db.components().insertProjectBranch(project);
- CeTask task = submit(CeTaskTypes.REPORT, project, branch);
+ ProjectDto project = db.components().insertPrivateProject().getProjectDto();
+ BranchDto branch = db.components().insertProjectBranch(project);
+ CeTask task = submit(CeTaskTypes.REPORT, branch);
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
assertThat(peek).isPresent();
assertThat(peek.get().getUuid()).isEqualTo(task.getUuid());
assertThat(peek.get().getType()).isEqualTo(CeTaskTypes.REPORT);
- assertThat(peek.get().getComponent()).contains(new CeTask.Component(branch.uuid(), branch.getKey(), branch.name()));
- assertThat(peek.get().getMainComponent()).contains(new CeTask.Component(project.uuid(), project.getKey(), project.name()));
+ assertThat(peek.get().getComponent()).contains(new CeTask.Component(branch.getUuid(), project.getKey(), project.getName()));
+ assertThat(peek.get().getEntity()).contains(new CeTask.Component(project.getUuid(), project.getKey(), project.getName()));
// no more pending tasks
peek = underTest.peek(WORKER_UUID_2, true);
@@ -403,7 +403,7 @@ public class InternalCeQueueImplIT {
@Test
public void peek_is_paused_then_resumed() {
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
underTest.pauseWorkers();
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
@@ -429,7 +429,7 @@ public class InternalCeQueueImplIT {
@Test
public void peek_nothing_if_application_status_stopping() {
- submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
when(computeEngineStatus.getStatus()).thenReturn(STOPPING);
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
@@ -512,7 +512,7 @@ public class InternalCeQueueImplIT {
@Test
public void cancel_pending() {
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
CeQueueDto queueDto = db.getDbClient().ceQueueDao().selectByUuid(db.getSession(), task.getUuid()).get();
underTest.cancel(db.getSession(), queueDto);
@@ -524,7 +524,7 @@ public class InternalCeQueueImplIT {
@Test
public void fail_to_cancel_if_in_progress() {
- CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
+ CeTask task = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
underTest.peek(WORKER_UUID_2, true);
CeQueueDto queueDto = db.getDbClient().ceQueueDao().selectByUuid(db.getSession(), task.getUuid()).get();
@@ -535,9 +535,9 @@ public class InternalCeQueueImplIT {
@Test
public void cancelAll_pendings_but_not_in_progress() {
- CeTask inProgressTask = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
- CeTask pendingTask1 = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_2"));
- CeTask pendingTask2 = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_3"));
+ CeTask inProgressTask = submit(CeTaskTypes.REPORT, newProject("PROJECT_1"));
+ CeTask pendingTask1 = submit(CeTaskTypes.REPORT, newProject("PROJECT_2"));
+ CeTask pendingTask2 = submit(CeTaskTypes.REPORT, newProject("PROJECT_3"));
underTest.peek(WORKER_UUID_2, true);
int canceledCount = underTest.cancelAll();
@@ -675,40 +675,43 @@ public class InternalCeQueueImplIT {
assertThat(dto.getTaskType()).isEqualTo(taskSubmit.getType());
Optional<CeTaskSubmit.Component> component = taskSubmit.getComponent();
if (component.isPresent()) {
- assertThat(dto.getMainComponentUuid()).isEqualTo(component.get().getMainComponentUuid());
+ assertThat(dto.getEntityUuid()).isEqualTo(component.get().getEntityUuid());
assertThat(dto.getComponentUuid()).isEqualTo(component.get().getUuid());
} else {
- assertThat(dto.getMainComponentUuid()).isNull();
+ assertThat(dto.getEntityUuid()).isNull();
assertThat(dto.getComponentUuid()).isNull();
}
assertThat(dto.getSubmitterUuid()).isEqualTo(taskSubmit.getSubmitterUuid());
assertThat(dto.getCreatedAt()).isEqualTo(dto.getUpdatedAt());
}
- private ComponentDto newProjectDto(String uuid) {
- return ComponentTesting.newPublicProjectDto(uuid).setName("name_" + uuid).setKey("key_" + uuid);
+ private ProjectData newProject(String uuid) {
+ return db.components().insertPublicProject(uuid);
}
- private CeTask submit(String reportType, ComponentDto mainBranchComponent) {
- return underTest.submit(createTaskSubmit(reportType, mainBranchComponent, mainBranchComponent, null));
+ private CeTask submit(String reportType, BranchDto branchDto) {
+ return underTest.submit(createTaskSubmit(reportType, branchDto.getProjectUuid(), branchDto.getUuid(), null));
}
- private CeTask submit(String reportType, ComponentDto mainBranchComponent, ComponentDto branchComponent) {
- return underTest.submit(createTaskSubmit(reportType, mainBranchComponent, branchComponent, null));
+ private CeTask submit(String reportType, ProjectData projectData) {
+ return underTest.submit(createTaskSubmit(reportType, projectData.getProjectDto().getUuid(), projectData.getMainBranchDto().getUuid(), null));
}
private CeTaskSubmit createTaskSubmit(String type) {
return createTaskSubmit(type, null, null, null);
}
- private CeTaskSubmit createTaskSubmit(String type, @Nullable ComponentDto mainBranchComponentDto, @Nullable ComponentDto componentDto,
- @Nullable String submitterUuid) {
+ private CeTaskSubmit createTaskSubmit(String type, ProjectData projectData, @Nullable String submitterUuid) {
+ return createTaskSubmit(type, projectData.projectUuid(), projectData.getMainBranchDto().getUuid(), submitterUuid);
+ }
+
+ private CeTaskSubmit createTaskSubmit(String type, @Nullable String entityUuid, @Nullable String componentUuid, @Nullable String submitterUuid) {
CeTaskSubmit.Builder builder = underTest.prepareSubmit()
.setType(type)
.setSubmitterUuid(submitterUuid)
.setCharacteristics(emptyMap());
- if (componentDto != null && mainBranchComponentDto != null) {
- builder.setComponent(CeTaskSubmit.Component.fromDto(componentDto.uuid(), mainBranchComponentDto.uuid()));
+ if (componentUuid != null && entityUuid != null) {
+ builder.setComponent(CeTaskSubmit.Component.fromDto(componentUuid, entityUuid));
}
return builder.build();
}
@@ -719,10 +722,6 @@ public class InternalCeQueueImplIT {
return taskResult;
}
- private ComponentDto insertComponent(ComponentDto componentDto) {
- return db.components().insertComponent(componentDto);
- }
-
private CeQueueDto makeInProgress(CeQueueDto ceQueueDto, String workerUuid) {
CeQueueTesting.makeInProgress(session, workerUuid, system2.now(), ceQueueDto);
return db.getDbClient().ceQueueDao().selectByUuid(session, ceQueueDto.getUuid()).get();
diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java
index 86057fc7889..e4cda8dc5e1 100644
--- a/server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java
+++ b/server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java
@@ -205,7 +205,7 @@ public class NextPendingTaskPickerIT {
// we have branch task in progress.
insertInProgress("1");
// The PR can run in parallel, but needs to wait for this other project to finish. We dont allow PRs to jump ahead
- insertPending("2", c -> c.setMainComponentUuid("different project"));
+ insertPending("2", c -> c.setEntityUuid("different project"));
insertPendingPullRequest("3");
Optional<CeQueueDto> ceQueueDto = underTest.findPendingTask("workerUuid", db.getSession(), true);
@@ -220,7 +220,7 @@ public class NextPendingTaskPickerIT {
insertInProgress("1");
// The PR can run in parallel and is ahead of the other project
insertPendingPullRequest("2");
- insertPending("3", c -> c.setMainComponentUuid("different project"));
+ insertPending("3", c -> c.setEntityUuid("different project"));
Optional<CeQueueDto> ceQueueDto = underTest.findPendingTask("workerUuid", db.getSession(), true);
@@ -247,7 +247,7 @@ public class NextPendingTaskPickerIT {
public void findPendingTask_excludingViewPickUpOrphanBranches() {
insertPending("1", dto -> dto
.setComponentUuid("1")
- .setMainComponentUuid("non-existing-uuid")
+ .setEntityUuid("non-existing-uuid")
.setStatus(PENDING)
.setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC)
.setCreatedAt(100_000L));
@@ -260,11 +260,11 @@ public class NextPendingTaskPickerIT {
@Test
public void exclude_portfolios_computation_when_indexing_issues() {
String taskUuid1 = "1", taskUuid2 = "2";
- String mainComponentUuid = "1";
- insertBranch(mainComponentUuid);
+ String branchUuid = "1";
+ insertBranch(branchUuid);
insertPending(taskUuid1, dto -> dto
- .setComponentUuid(mainComponentUuid)
- .setMainComponentUuid(mainComponentUuid)
+ .setComponentUuid(branchUuid)
+ .setEntityUuid("entity_uuid")
.setStatus(PENDING)
.setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC)
.setCreatedAt(100_000L));
@@ -273,7 +273,7 @@ public class NextPendingTaskPickerIT {
insertView(view_uuid);
insertPending(taskUuid2, dto -> dto
.setComponentUuid(view_uuid)
- .setMainComponentUuid(view_uuid)
+ .setEntityUuid(view_uuid)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
@@ -351,7 +351,7 @@ public class NextPendingTaskPickerIT {
dto.setStatus(status);
dto.setSubmitterUuid("henri");
dto.setComponentUuid(UUID.randomUUID().toString());
- dto.setMainComponentUuid("1");
+ dto.setEntityUuid("1");
if (ceQueueDtoConsumer != null) {
ceQueueDtoConsumer.accept(dto);
}
diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java
index 9e98bd98d81..1fbc8fd3a47 100644
--- a/server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java
+++ b/server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java
@@ -743,11 +743,12 @@ public class CeWorkerImplIT {
for (int i = 0; i < characteristics.length; i += 2) {
characteristicMap.put(characteristics[i], characteristics[i + 1]);
}
- CeTask.Component component = new CeTask.Component("PROJECT_1", null, null);
+ CeTask.Component entity = new CeTask.Component("PROJECT_1", null, null);
+ CeTask.Component component = new CeTask.Component("BRANCH_1", null, null);
return new CeTask.Builder()
.setUuid("TASK_1").setType(CeTaskTypes.REPORT)
.setComponent(component)
- .setMainComponent(component)
+ .setEntity(entity)
.setSubmitter(submitter)
.setCharacteristics(characteristicMap)
.build();
diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CEQueueStatusImpl.java b/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CEQueueStatusImpl.java
index 8c9335249e1..aba8eb7378b 100644
--- a/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CEQueueStatusImpl.java
+++ b/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CEQueueStatusImpl.java
@@ -77,7 +77,7 @@ public class CEQueueStatusImpl implements CEQueueStatus {
@Override
public Optional<Long> getLongestTimePending() {
try (DbSession dbSession = dbClient.openSession(false)) {
- return dbClient.ceQueueDao().selectCreationDateOfOldestPendingByMainComponentUuid(dbSession, null)
+ return dbClient.ceQueueDao().selectCreationDateOfOldestPendingByEntityUuid(dbSession, null)
.map(creationDate -> system.now() - creationDate);
}
}
diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/queue/InternalCeQueueImpl.java b/server/sonar-ce/src/main/java/org/sonar/ce/queue/InternalCeQueueImpl.java
index 51092ed94cc..5e42f5f2f10 100644
--- a/server/sonar-ce/src/main/java/org/sonar/ce/queue/InternalCeQueueImpl.java
+++ b/server/sonar-ce/src/main/java/org/sonar/ce/queue/InternalCeQueueImpl.java
@@ -29,7 +29,6 @@ import java.util.Optional;
import java.util.Set;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
-
import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.utils.System2;
import org.slf4j.Logger;
@@ -46,14 +45,12 @@ import org.sonar.db.DbSession;
import org.sonar.db.ce.CeActivityDto;
import org.sonar.db.ce.CeQueueDto;
import org.sonar.db.ce.CeTaskCharacteristicDto;
-import org.sonar.db.component.ComponentDto;
import org.sonar.server.platform.NodeInformation;
import static com.google.common.base.Preconditions.checkArgument;
import static java.lang.String.format;
import static java.util.Collections.singletonList;
import static java.util.Objects.requireNonNull;
-import static java.util.Optional.ofNullable;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
@ComputeEngineSide
@@ -88,13 +85,10 @@ public class InternalCeQueueImpl extends CeQueueImpl implements InternalCeQueue
return Optional.empty();
}
CeQueueDto taskDto = opt.get();
- Map<String, ComponentDto> componentsByUuid = loadComponentDtos(dbSession, taskDto);
Map<String, String> characteristics = dbClient.ceTaskCharacteristicsDao().selectByTaskUuids(dbSession, singletonList(taskDto.getUuid())).stream()
.collect(uniqueIndex(CeTaskCharacteristicDto::getKey, CeTaskCharacteristicDto::getValue));
- CeTask task = convertToTask(dbSession, taskDto, characteristics,
- ofNullable(taskDto.getComponentUuid()).map(componentsByUuid::get).orElse(null),
- ofNullable(taskDto.getMainComponentUuid()).map(componentsByUuid::get).orElse(null));
+ CeTask task = convertToTask(dbSession, taskDto, characteristics);
queueStatus.addInProgress();
return Optional.of(task);
}
diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/queue/NextPendingTaskPicker.java b/server/sonar-ce/src/main/java/org/sonar/ce/queue/NextPendingTaskPicker.java
index 897267552ee..4de52967eb5 100644
--- a/server/sonar-ce/src/main/java/org/sonar/ce/queue/NextPendingTaskPicker.java
+++ b/server/sonar-ce/src/main/java/org/sonar/ce/queue/NextPendingTaskPicker.java
@@ -108,8 +108,8 @@ public class NextPendingTaskPicker {
}
private static List<PrOrBranchTask> filterOldestPerProject(List<PrOrBranchTask> queuedPrOrBranches) {
- Set<String> mainComponentUuidsSeen = new HashSet<>();
- return queuedPrOrBranches.stream().filter(t -> mainComponentUuidsSeen.add(t.getMainComponentUuid())).toList();
+ Set<String> entityUuidsSeen = new HashSet<>();
+ return queuedPrOrBranches.stream().filter(t -> entityUuidsSeen.add(t.getEntityUuid())).toList();
}
/**
@@ -120,9 +120,9 @@ public class NextPendingTaskPicker {
* This method returns the longest waiting branch in the queue which can be scheduled concurrently with pull requests.
*/
private static boolean canRunBranch(PrOrBranchTask task, List<PrOrBranchTask> inProgress) {
- String mainComponentUuid = task.getMainComponentUuid();
+ String entityUuid = task.getEntityUuid();
List<PrOrBranchTask> sameComponentTasks = inProgress.stream()
- .filter(t -> t.getMainComponentUuid().equals(mainComponentUuid))
+ .filter(t -> t.getEntityUuid().equals(entityUuid))
.toList();
//we can peek branch analysis task only if all the other in progress tasks for this component uuid are pull requests
return sameComponentTasks.stream().map(PrOrBranchTask::getBranchType).allMatch(s -> Objects.equals(s, PULL_REQUEST));
@@ -135,7 +135,7 @@ public class NextPendingTaskPicker {
private static boolean canRunPr(PrOrBranchTask task, List<PrOrBranchTask> inProgress) {
// return true unless the same PR is already in progress
return inProgress.stream()
- .noneMatch(pr -> pr.getMainComponentUuid().equals(task.getMainComponentUuid()) && Objects.equals(pr.getBranchType(), PULL_REQUEST) &&
+ .noneMatch(pr -> pr.getEntityUuid().equals(task.getEntityUuid()) && Objects.equals(pr.getBranchType(), PULL_REQUEST) &&
Objects.equals(pr.getComponentUuid(), (task.getComponentUuid())));
}
}
diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/taskprocessor/CeWorkerImpl.java b/server/sonar-ce/src/main/java/org/sonar/ce/taskprocessor/CeWorkerImpl.java
index a5f5d0e728d..c396d637496 100644
--- a/server/sonar-ce/src/main/java/org/sonar/ce/taskprocessor/CeWorkerImpl.java
+++ b/server/sonar-ce/src/main/java/org/sonar/ce/taskprocessor/CeWorkerImpl.java
@@ -270,7 +270,7 @@ public class CeWorkerImpl implements CeWorker {
private static Profiler startLogProfiler(CeTask task) {
Profiler profiler = Profiler.create(LOG)
.logTimeLast(true)
- .addContext("project", task.getMainComponent().flatMap(CeTask.Component::getKey).orElse(null))
+ .addContext("project", task.getEntity().flatMap(CeTask.Component::getKey).orElse(null))
.addContext("type", task.getType());
for (Map.Entry<String, String> characteristic : task.getCharacteristics().entrySet()) {
profiler.addContext(characteristic.getKey(), characteristic.getValue());
diff --git a/server/sonar-ce/src/test/java/org/sonar/ce/taskprocessor/CeTaskProcessorRepositoryImplTest.java b/server/sonar-ce/src/test/java/org/sonar/ce/taskprocessor/CeTaskProcessorRepositoryImplTest.java
index bf3e7f97514..90d96fc361e 100644
--- a/server/sonar-ce/src/test/java/org/sonar/ce/taskprocessor/CeTaskProcessorRepositoryImplTest.java
+++ b/server/sonar-ce/src/test/java/org/sonar/ce/taskprocessor/CeTaskProcessorRepositoryImplTest.java
@@ -105,11 +105,13 @@ public class CeTaskProcessorRepositoryImplTest {
private static CeTask createCeTask(String ceTaskType, String key) {
CeTask.Component component = new CeTask.Component("uuid_" + key, key, "name_" + key);
+ CeTask.Component entity = new CeTask.Component("uuid_entity_" + key, key, "name_" + key);
+
return new CeTask.Builder()
.setType(ceTaskType)
.setUuid("task_uuid_" + key)
.setComponent(component)
- .setMainComponent(component)
+ .setEntity(entity)
.build();
}
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeActivityDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeActivityDaoIT.java
index 5a45c0e42e1..bcd4c1160d7 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeActivityDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeActivityDaoIT.java
@@ -67,7 +67,7 @@ import static org.sonar.db.ce.CeTaskTypes.REPORT;
@RunWith(DataProviderRunner.class)
public class CeActivityDaoIT {
- private static final String MAINCOMPONENT_1 = randomAlphabetic(12);
+ private static final String ENTITY_1 = randomAlphabetic(12);
private static final String MAINCOMPONENT_2 = randomAlphabetic(13);
private static final String COMPONENT_1 = randomAlphabetic(14);
@@ -89,14 +89,14 @@ public class CeActivityDaoIT {
@Test
public void test_insert() {
- CeActivityDto inserted = insert("TASK_1", REPORT, COMPONENT_1, MAINCOMPONENT_1, SUCCESS);
+ CeActivityDto inserted = insert("TASK_1", REPORT, COMPONENT_1, ENTITY_1, SUCCESS);
Optional<CeActivityDto> saved = underTest.selectByUuid(db.getSession(), "TASK_1");
assertThat(saved).isPresent();
CeActivityDto dto = saved.get();
assertThat(dto.getUuid()).isEqualTo("TASK_1");
assertThat(dto.getNodeName()).isEqualTo(NODE_NAME);
- assertThat(dto.getMainComponentUuid()).isEqualTo(MAINCOMPONENT_1);
+ assertThat(dto.getEntityUuid()).isEqualTo(ENTITY_1);
assertThat(dto.getComponentUuid()).isEqualTo(COMPONENT_1);
assertThat(dto.getStatus()).isEqualTo(SUCCESS);
assertThat(dto.getSubmitterUuid()).isEqualTo("submitter uuid");
@@ -105,7 +105,7 @@ public class CeActivityDaoIT {
assertThat(dto.getIsLast()).isTrue();
assertThat(dto.getMainIsLast()).isTrue();
assertThat(dto.getIsLastKey()).isEqualTo("REPORT" + COMPONENT_1);
- assertThat(dto.getMainIsLastKey()).isEqualTo("REPORT" + MAINCOMPONENT_1);
+ assertThat(dto.getMainIsLastKey()).isEqualTo("REPORT" + ENTITY_1);
assertThat(dto.getCreatedAt()).isEqualTo(INITIAL_TIME + 1);
assertThat(dto.getStartedAt()).isEqualTo(1_500_000_000_000L);
assertThat(dto.getExecutedAt()).isEqualTo(1_500_000_000_500L);
@@ -362,7 +362,7 @@ public class CeActivityDaoIT {
@Test
public void test_insert_of_errorMessage_of_1_000_chars() {
- CeActivityDto dto = createActivityDto("TASK_1", REPORT, COMPONENT_1, MAINCOMPONENT_1, FAILED)
+ CeActivityDto dto = createActivityDto("TASK_1", REPORT, COMPONENT_1, ENTITY_1, FAILED)
.setErrorMessage(Strings.repeat("x", 1_000));
underTest.insert(db.getSession(), dto);
@@ -373,7 +373,7 @@ public class CeActivityDaoIT {
@Test
public void test_insert_of_errorMessage_of_1_001_chars_is_truncated_to_1000() {
String expected = Strings.repeat("x", 1_000);
- CeActivityDto dto = createActivityDto("TASK_1", REPORT, COMPONENT_1, MAINCOMPONENT_1, FAILED)
+ CeActivityDto dto = createActivityDto("TASK_1", REPORT, COMPONENT_1, ENTITY_1, FAILED)
.setErrorMessage(expected + "y");
underTest.insert(db.getSession(), dto);
@@ -383,7 +383,7 @@ public class CeActivityDaoIT {
@Test
public void test_insert_error_message_and_stacktrace() {
- CeActivityDto dto = createActivityDto("TASK_1", REPORT, COMPONENT_1, MAINCOMPONENT_1, FAILED)
+ CeActivityDto dto = createActivityDto("TASK_1", REPORT, COMPONENT_1, ENTITY_1, FAILED)
.setErrorStacktrace("error stack");
underTest.insert(db.getSession(), dto);
@@ -396,7 +396,7 @@ public class CeActivityDaoIT {
@Test
public void test_insert_error_message_only() {
- CeActivityDto dto = createActivityDto("TASK_1", REPORT, COMPONENT_1, MAINCOMPONENT_1, FAILED);
+ CeActivityDto dto = createActivityDto("TASK_1", REPORT, COMPONENT_1, ENTITY_1, FAILED);
underTest.insert(db.getSession(), dto);
Optional<CeActivityDto> saved = underTest.selectByUuid(db.getSession(), "TASK_1");
@@ -408,7 +408,7 @@ public class CeActivityDaoIT {
@Test
public void insert_must_set_relevant_is_last_field() {
// only a single task on MAINCOMPONENT_1 -> is_last=true
- insert("TASK_1", REPORT, MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", REPORT, ENTITY_1, SUCCESS);
assertThat(underTest.selectByUuid(db.getSession(), "TASK_1").get().getIsLast()).isTrue();
// only a single task on MAINCOMPONENT_2 -> is_last=true
@@ -416,13 +416,13 @@ public class CeActivityDaoIT {
assertThat(underTest.selectByUuid(db.getSession(), "TASK_2").get().getIsLast()).isTrue();
// two tasks on MAINCOMPONENT_1, the most recent one is TASK_3
- insert("TASK_3", REPORT, MAINCOMPONENT_1, FAILED);
+ insert("TASK_3", REPORT, ENTITY_1, FAILED);
assertThat(underTest.selectByUuid(db.getSession(), "TASK_1").get().getIsLast()).isFalse();
assertThat(underTest.selectByUuid(db.getSession(), "TASK_2").get().getIsLast()).isTrue();
assertThat(underTest.selectByUuid(db.getSession(), "TASK_3").get().getIsLast()).isTrue();
// inserting a cancelled task does not change the last task
- insert("TASK_4", REPORT, MAINCOMPONENT_1, CANCELED);
+ insert("TASK_4", REPORT, ENTITY_1, CANCELED);
assertThat(underTest.selectByUuid(db.getSession(), "TASK_1").get().getIsLast()).isFalse();
assertThat(underTest.selectByUuid(db.getSession(), "TASK_2").get().getIsLast()).isTrue();
assertThat(underTest.selectByUuid(db.getSession(), "TASK_3").get().getIsLast()).isTrue();
@@ -431,8 +431,8 @@ public class CeActivityDaoIT {
@Test
public void test_selectByQuery() {
- insert("TASK_1", REPORT, MAINCOMPONENT_1, SUCCESS);
- insert("TASK_2", REPORT, MAINCOMPONENT_1, FAILED);
+ insert("TASK_1", REPORT, ENTITY_1, SUCCESS);
+ insert("TASK_2", REPORT, ENTITY_1, FAILED);
insert("TASK_3", REPORT, MAINCOMPONENT_2, SUCCESS);
insert("TASK_4", "views", null, SUCCESS);
@@ -442,7 +442,7 @@ public class CeActivityDaoIT {
assertThat(dtos).extracting("uuid").containsExactly("TASK_4", "TASK_3", "TASK_2", "TASK_1");
// select by component uuid
- query = new CeTaskQuery().setMainComponentUuid(MAINCOMPONENT_1);
+ query = new CeTaskQuery().setEntityUuid(ENTITY_1);
dtos = underTest.selectByQuery(db.getSession(), query, forPage(1).andSize(100));
assertThat(dtos).extracting("uuid").containsExactly("TASK_2", "TASK_1");
@@ -460,7 +460,7 @@ public class CeActivityDaoIT {
assertThat(dtos).extracting("uuid").containsExactly("TASK_4");
// select by multiple conditions
- query = new CeTaskQuery().setType(REPORT).setOnlyCurrents(true).setMainComponentUuid(MAINCOMPONENT_1);
+ query = new CeTaskQuery().setType(REPORT).setOnlyCurrents(true).setEntityUuid(ENTITY_1);
dtos = underTest.selectByQuery(db.getSession(), query, forPage(1).andSize(100));
assertThat(dtos).extracting("uuid").containsExactly("TASK_2");
}
@@ -468,9 +468,9 @@ public class CeActivityDaoIT {
@Test
public void test_selectByQuery_verify_order_if_same_date() {
system2.setNow(INITIAL_TIME);
- insert("TASK_1", REPORT, MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", REPORT, ENTITY_1, SUCCESS);
system2.setNow(INITIAL_TIME);
- insert("TASK_2", REPORT, MAINCOMPONENT_1, FAILED);
+ insert("TASK_2", REPORT, ENTITY_1, FAILED);
system2.setNow(INITIAL_TIME);
insert("TASK_3", REPORT, MAINCOMPONENT_2, SUCCESS);
system2.setNow(INITIAL_TIME);
@@ -482,7 +482,7 @@ public class CeActivityDaoIT {
assertThat(dtos).extracting("uuid").containsExactly("TASK_4", "TASK_3", "TASK_2", "TASK_1");
// select by component uuid
- query = new CeTaskQuery().setMainComponentUuid(MAINCOMPONENT_1);
+ query = new CeTaskQuery().setEntityUuid(ENTITY_1);
dtos = underTest.selectByQuery(db.getSession(), query, forPage(1).andSize(100));
assertThat(dtos).extracting("uuid").containsExactly("TASK_2", "TASK_1");
@@ -500,17 +500,17 @@ public class CeActivityDaoIT {
assertThat(dtos).extracting("uuid").containsExactly("TASK_4");
// select by multiple conditions
- query = new CeTaskQuery().setType(REPORT).setOnlyCurrents(true).setMainComponentUuid(MAINCOMPONENT_1);
+ query = new CeTaskQuery().setType(REPORT).setOnlyCurrents(true).setEntityUuid(ENTITY_1);
dtos = underTest.selectByQuery(db.getSession(), query, forPage(1).andSize(100));
assertThat(dtos).extracting("uuid").containsExactly("TASK_2");
}
@Test
public void selectByQuery_does_not_populate_errorStacktrace_field() {
- insert("TASK_1", REPORT, MAINCOMPONENT_1, FAILED);
- underTest.insert(db.getSession(), createActivityDto("TASK_2", REPORT, COMPONENT_1, MAINCOMPONENT_1, FAILED).setErrorStacktrace("some stack"));
+ insert("TASK_1", REPORT, ENTITY_1, FAILED);
+ underTest.insert(db.getSession(), createActivityDto("TASK_2", REPORT, COMPONENT_1, ENTITY_1, FAILED).setErrorStacktrace("some stack"));
- List<CeActivityDto> dtos = underTest.selectByQuery(db.getSession(), new CeTaskQuery().setMainComponentUuid(MAINCOMPONENT_1), forPage(1).andSize(100));
+ List<CeActivityDto> dtos = underTest.selectByQuery(db.getSession(), new CeTaskQuery().setEntityUuid(ENTITY_1), forPage(1).andSize(100));
assertThat(dtos)
.hasSize(2)
@@ -519,13 +519,13 @@ public class CeActivityDaoIT {
@Test
public void selectByQuery_populates_hasScannerContext_flag() {
- insert("TASK_1", REPORT, MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", REPORT, ENTITY_1, SUCCESS);
CeActivityDto dto2 = insert("TASK_2", REPORT, MAINCOMPONENT_2, SUCCESS);
insertScannerContext(dto2.getUuid());
- CeActivityDto dto = underTest.selectByQuery(db.getSession(), new CeTaskQuery().setMainComponentUuid(MAINCOMPONENT_1), forPage(1).andSize(100)).iterator().next();
+ CeActivityDto dto = underTest.selectByQuery(db.getSession(), new CeTaskQuery().setEntityUuid(ENTITY_1), forPage(1).andSize(100)).iterator().next();
assertThat(dto.isHasScannerContext()).isFalse();
- dto = underTest.selectByQuery(db.getSession(), new CeTaskQuery().setMainComponentUuid(MAINCOMPONENT_2), forPage(1).andSize(100)).iterator().next();
+ dto = underTest.selectByQuery(db.getSession(), new CeTaskQuery().setEntityUuid(MAINCOMPONENT_2), forPage(1).andSize(100)).iterator().next();
assertThat(dto.isHasScannerContext()).isTrue();
}
@@ -550,7 +550,7 @@ public class CeActivityDaoIT {
.containsExactly(tuple("TASK_4", 60), tuple("TASK_3", 10), tuple("TASK_2", 30), tuple("TASK_1", moreThan1));
// select by component uuid
- query = new CeTaskQuery().setMainComponentUuid("PROJECT_1");
+ query = new CeTaskQuery().setEntityUuid("PROJECT_1");
assertThat(underTest.selectByQuery(db.getSession(), query, forPage(1).andSize(100)))
.extracting(CeActivityDto::getUuid, ceActivityDto -> ceActivityDto.getCeTaskMessageDtos().size())
.containsExactly(tuple("TASK_2", 30), tuple("TASK_1", moreThan1));
@@ -572,7 +572,7 @@ public class CeActivityDaoIT {
.containsExactly(tuple("TASK_4", 60));
// select by multiple conditions
- query = new CeTaskQuery().setType(REPORT).setOnlyCurrents(true).setMainComponentUuid("PROJECT_1");
+ query = new CeTaskQuery().setType(REPORT).setOnlyCurrents(true).setEntityUuid("PROJECT_1");
assertThat(underTest.selectByQuery(db.getSession(), query, forPage(1).andSize(100)))
.extracting(CeActivityDto::getUuid, ceActivityDto -> ceActivityDto.getCeTaskMessageDtos().size())
.containsExactly(tuple("TASK_2", 30));
@@ -593,8 +593,8 @@ public class CeActivityDaoIT {
@Test
public void selectByQuery_is_paginated_and_return_results_sorted_from_last_to_first() {
- insert("TASK_1", REPORT, MAINCOMPONENT_1, SUCCESS);
- insert("TASK_2", REPORT, MAINCOMPONENT_1, FAILED);
+ insert("TASK_1", REPORT, ENTITY_1, SUCCESS);
+ insert("TASK_2", REPORT, ENTITY_1, FAILED);
insert("TASK_3", REPORT, MAINCOMPONENT_2, SUCCESS);
insert("TASK_4", "views", null, SUCCESS);
@@ -609,10 +609,10 @@ public class CeActivityDaoIT {
@Test
public void selectByQuery_no_results_if_shortcircuited_by_component_uuids() {
- insert("TASK_1", REPORT, MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", REPORT, ENTITY_1, SUCCESS);
CeTaskQuery query = new CeTaskQuery();
- query.setMainComponentUuids(Collections.emptyList());
+ query.setEntityUuids(Collections.emptyList());
assertThat(underTest.selectByQuery(db.getSession(), query, forPage(1).andSize(1))).isEmpty();
}
@@ -695,8 +695,8 @@ public class CeActivityDaoIT {
@Test
public void selectOlderThan_does_not_populate_errorStacktrace() {
- insert("TASK_1", REPORT, MAINCOMPONENT_1, FAILED);
- underTest.insert(db.getSession(), createActivityDto("TASK_2", REPORT, COMPONENT_1, MAINCOMPONENT_1, FAILED).setErrorStacktrace("some stack"));
+ insert("TASK_1", REPORT, ENTITY_1, FAILED);
+ underTest.insert(db.getSession(), createActivityDto("TASK_2", REPORT, COMPONENT_1, ENTITY_1, FAILED).setErrorStacktrace("some stack"));
List<CeActivityDto> dtos = underTest.selectOlderThan(db.getSession(), system2.now() + 1_000_000L);
@@ -722,9 +722,9 @@ public class CeActivityDaoIT {
@Test
public void deleteByUuids() {
- insert("TASK_1", "REPORT", MAINCOMPONENT_1, SUCCESS);
- insert("TASK_2", "REPORT", MAINCOMPONENT_1, SUCCESS);
- insert("TASK_3", "REPORT", MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", "REPORT", ENTITY_1, SUCCESS);
+ insert("TASK_2", "REPORT", ENTITY_1, SUCCESS);
+ insert("TASK_3", "REPORT", ENTITY_1, SUCCESS);
underTest.deleteByUuids(db.getSession(), ImmutableSet.of("TASK_1", "TASK_3"));
assertThat(underTest.selectByUuid(db.getSession(), "TASK_1")).isEmpty();
@@ -734,7 +734,7 @@ public class CeActivityDaoIT {
@Test
public void deleteByUuids_does_nothing_if_uuid_does_not_exist() {
- insert("TASK_1", "REPORT", MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", "REPORT", ENTITY_1, SUCCESS);
// must not fail
underTest.deleteByUuids(db.getSession(), singleton("TASK_2"));
@@ -743,48 +743,48 @@ public class CeActivityDaoIT {
}
@Test
- public void count_last_by_status_and_main_component_uuid() {
- insert("TASK_1", CeTaskTypes.REPORT, MAINCOMPONENT_1, SUCCESS);
+ public void count_last_by_status_and_entity_uuid() {
+ insert("TASK_1", CeTaskTypes.REPORT, ENTITY_1, SUCCESS);
// component 2
insert("TASK_2", CeTaskTypes.REPORT, MAINCOMPONENT_2, SUCCESS);
// status failed
- insert("TASK_3", CeTaskTypes.REPORT, MAINCOMPONENT_1, FAILED);
+ insert("TASK_3", CeTaskTypes.REPORT, ENTITY_1, FAILED);
// status canceled
- insert("TASK_4", CeTaskTypes.REPORT, MAINCOMPONENT_1, CANCELED);
- insert("TASK_5", CeTaskTypes.REPORT, MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_4", CeTaskTypes.REPORT, ENTITY_1, CANCELED);
+ insert("TASK_5", CeTaskTypes.REPORT, ENTITY_1, SUCCESS);
db.commit();
- assertThat(underTest.countLastByStatusAndMainComponentUuid(dbSession, SUCCESS, MAINCOMPONENT_1)).isOne();
- assertThat(underTest.countLastByStatusAndMainComponentUuid(dbSession, SUCCESS, null)).isEqualTo(2);
+ assertThat(underTest.countLastByStatusAndEntityUuid(dbSession, SUCCESS, ENTITY_1)).isOne();
+ assertThat(underTest.countLastByStatusAndEntityUuid(dbSession, SUCCESS, null)).isEqualTo(2);
}
@Test
public void selectLastByComponentUuidAndTaskType_returns_task_of_given_type() {
- insert("TASK_1", "VIEW_REFRESH", MAINCOMPONENT_1, MAINCOMPONENT_1, SUCCESS);
- insert("TASK_2", CeTaskTypes.REPORT, MAINCOMPONENT_1, MAINCOMPONENT_1, SUCCESS);
- insert("TASK_3", "PROJECT_EXPORT", MAINCOMPONENT_1, MAINCOMPONENT_1, SUCCESS);
- insert("TASK_4", "PROJECT_IMPORT", MAINCOMPONENT_1, MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", "VIEW_REFRESH", ENTITY_1, ENTITY_1, SUCCESS);
+ insert("TASK_2", CeTaskTypes.REPORT, ENTITY_1, ENTITY_1, SUCCESS);
+ insert("TASK_3", "PROJECT_EXPORT", ENTITY_1, ENTITY_1, SUCCESS);
+ insert("TASK_4", "PROJECT_IMPORT", ENTITY_1, ENTITY_1, SUCCESS);
db.commit();
- Optional<CeActivityDto> result = underTest.selectLastByComponentUuidAndTaskType(db.getSession(), MAINCOMPONENT_1, "PROJECT_EXPORT");
+ Optional<CeActivityDto> result = underTest.selectLastByComponentUuidAndTaskType(db.getSession(), ENTITY_1, "PROJECT_EXPORT");
assertThat(result).hasValueSatisfying(value -> assertThat(value.getUuid()).isEqualTo("TASK_3"));
}
@Test
public void selectLastByComponentUuidAndTaskType_returns_empty_if_task_of_given_type_does_not_exist() {
- insert("TASK_1", CeTaskTypes.REPORT, MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", CeTaskTypes.REPORT, ENTITY_1, SUCCESS);
db.commit();
- Optional<CeActivityDto> result = underTest.selectLastByComponentUuidAndTaskType(db.getSession(), MAINCOMPONENT_1, "PROJECT_EXPORT");
+ Optional<CeActivityDto> result = underTest.selectLastByComponentUuidAndTaskType(db.getSession(), ENTITY_1, "PROJECT_EXPORT");
assertThat(result).isEmpty();
}
@Test
public void selectByTaskType() {
- insert("TASK_1", CeTaskTypes.REPORT, MAINCOMPONENT_1, SUCCESS);
- insert("TASK_2", CeTaskTypes.BRANCH_ISSUE_SYNC, MAINCOMPONENT_1, SUCCESS);
+ insert("TASK_1", CeTaskTypes.REPORT, ENTITY_1, SUCCESS);
+ insert("TASK_2", CeTaskTypes.BRANCH_ISSUE_SYNC, ENTITY_1, SUCCESS);
db.commit();
assertThat(underTest.selectByTaskType(db.getSession(), CeTaskTypes.REPORT))
@@ -801,8 +801,8 @@ public class CeActivityDaoIT {
public void hasAnyFailedOrCancelledIssueSyncTask() {
assertThat(underTest.hasAnyFailedOrCancelledIssueSyncTask(db.getSession())).isFalse();
- insert("TASK_1", REPORT, MAINCOMPONENT_1, SUCCESS);
- insert("TASK_2", REPORT, MAINCOMPONENT_1, FAILED);
+ insert("TASK_1", REPORT, ENTITY_1, SUCCESS);
+ insert("TASK_2", REPORT, ENTITY_1, FAILED);
ProjectDto projectDto1 = db.components().insertPrivateProject(
branchDto -> branchDto.setNeedIssueSync(false), c -> {
@@ -855,26 +855,26 @@ public class CeActivityDaoIT {
return insert(uuid, type, mainComponentUuid, mainComponentUuid, status);
}
- private CeActivityDto insertAndCommit(String uuid, String type, @Nullable String componentUuid, @Nullable String mainComponentUuid, CeActivityDto.Status status) {
- CeActivityDto res = insert(uuid, type, componentUuid, mainComponentUuid, status);
+ private CeActivityDto insertAndCommit(String uuid, String type, @Nullable String componentUuid, @Nullable String entityUuid, CeActivityDto.Status status) {
+ CeActivityDto res = insert(uuid, type, componentUuid, entityUuid, status);
db.commit();
return res;
}
- private CeActivityDto insert(String uuid, String type, @Nullable String componentUuid, @Nullable String mainComponentUuid, CeActivityDto.Status status) {
- CeActivityDto dto = createActivityDto(uuid, type, componentUuid, mainComponentUuid, status);
+ private CeActivityDto insert(String uuid, String type, @Nullable String componentUuid, @Nullable String entityUuid, CeActivityDto.Status status) {
+ CeActivityDto dto = createActivityDto(uuid, type, componentUuid, entityUuid, status);
system2.tick();
underTest.insert(db.getSession(), dto);
return dto;
}
- private CeActivityDto createActivityDto(String uuid, String type, @Nullable String componentUuid, @Nullable String mainComponentUuid, CeActivityDto.Status status) {
+ private CeActivityDto createActivityDto(String uuid, String type, @Nullable String componentUuid, @Nullable String entityUuid, CeActivityDto.Status status) {
CeQueueDto creating = new CeQueueDto();
creating.setUuid(uuid);
creating.setStatus(PENDING);
creating.setTaskType(type);
creating.setComponentUuid(componentUuid);
- creating.setMainComponentUuid(mainComponentUuid);
+ creating.setEntityUuid(entityUuid);
creating.setSubmitterUuid("submitter uuid");
creating.setCreatedAt(system2.now());
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeQueueDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeQueueDaoIT.java
index 0523341c9b2..6546c6c9c82 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeQueueDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/ce/CeQueueDaoIT.java
@@ -58,8 +58,8 @@ public class CeQueueDaoIT {
private static final long INIT_TIME = 1_450_000_000_000L;
private static final String TASK_UUID_1 = "TASK_1";
private static final String TASK_UUID_2 = "TASK_2";
- private static final String MAIN_COMPONENT_UUID_1 = "PROJECT_1";
- private static final String MAIN_COMPONENT_UUID_2 = "PROJECT_2";
+ private static final String ENTITY_UUID_1 = "PROJECT_1";
+ private static final String ENTITY_UUID_2 = "PROJECT_2";
private static final String COMPONENT_UUID_1 = "BRANCH_1";
private static final String TASK_UUID_3 = "TASK_3";
private static final String SELECT_QUEUE_UUID_AND_STATUS_QUERY = "select uuid,status from ce_queue";
@@ -84,7 +84,7 @@ public class CeQueueDaoIT {
long now = 1_334_333L;
CeQueueDto dto = new CeQueueDto()
.setTaskType(CeTaskTypes.REPORT)
- .setComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setComponentUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setSubmitterUuid(SUBMITTER_LOGIN);
@@ -104,7 +104,7 @@ public class CeQueueDaoIT {
CeQueueDto saved = underTest.selectByUuid(db.getSession(), uuid).get();
assertThat(saved.getUuid()).isEqualTo(uuid);
assertThat(saved.getTaskType()).isEqualTo(CeTaskTypes.REPORT);
- assertThat(saved.getComponentUuid()).isEqualTo(MAIN_COMPONENT_UUID_1);
+ assertThat(saved.getComponentUuid()).isEqualTo(ENTITY_UUID_1);
assertThat(saved.getStatus()).isEqualTo(PENDING);
assertThat(saved.getSubmitterUuid()).isEqualTo(SUBMITTER_LOGIN);
assertThat(saved.getWorkerUuid()).isNull();
@@ -115,7 +115,7 @@ public class CeQueueDaoIT {
CeQueueDto saved = underTest.selectByUuid(db.getSession(), uuid4).get();
assertThat(saved.getUuid()).isEqualTo(uuid4);
assertThat(saved.getTaskType()).isEqualTo(CeTaskTypes.REPORT);
- assertThat(saved.getComponentUuid()).isEqualTo(MAIN_COMPONENT_UUID_1);
+ assertThat(saved.getComponentUuid()).isEqualTo(ENTITY_UUID_1);
assertThat(saved.getStatus()).isEqualTo(PENDING);
assertThat(saved.getSubmitterUuid()).isEqualTo(SUBMITTER_LOGIN);
assertThat(saved.getWorkerUuid()).isNull();
@@ -126,13 +126,13 @@ public class CeQueueDaoIT {
@Test
public void test_selectByUuid() {
- CeQueueDto ceQueueDto = insertPending(TASK_UUID_1, MAIN_COMPONENT_UUID_1);
+ CeQueueDto ceQueueDto = insertPending(TASK_UUID_1, ENTITY_UUID_1);
assertThat(underTest.selectByUuid(db.getSession(), "TASK_UNKNOWN")).isEmpty();
CeQueueDto saved = underTest.selectByUuid(db.getSession(), TASK_UUID_1).get();
assertThat(saved.getUuid()).isEqualTo(TASK_UUID_1);
assertThat(saved.getTaskType()).isEqualTo(CeTaskTypes.REPORT);
- assertThat(saved.getMainComponentUuid()).isEqualTo(MAIN_COMPONENT_UUID_1);
+ assertThat(saved.getEntityUuid()).isEqualTo(ENTITY_UUID_1);
assertThat(saved.getComponentUuid()).isEqualTo(ceQueueDto.getComponentUuid());
assertThat(saved.getStatus()).isEqualTo(PENDING);
assertThat(saved.getSubmitterUuid()).isEqualTo("henri");
@@ -144,19 +144,19 @@ public class CeQueueDaoIT {
@Test
public void test_selectByMainComponentUuid() {
- insertPending(TASK_UUID_1, MAIN_COMPONENT_UUID_1);
- insertPending(TASK_UUID_2, MAIN_COMPONENT_UUID_1);
+ insertPending(TASK_UUID_1, ENTITY_UUID_1);
+ insertPending(TASK_UUID_2, ENTITY_UUID_1);
insertPending(TASK_UUID_3, "PROJECT_2");
- assertThat(underTest.selectByMainComponentUuid(db.getSession(), "UNKNOWN")).isEmpty();
- assertThat(underTest.selectByMainComponentUuid(db.getSession(), MAIN_COMPONENT_UUID_1)).extracting("uuid").containsOnly(TASK_UUID_1, TASK_UUID_2);
- assertThat(underTest.selectByMainComponentUuid(db.getSession(), "PROJECT_2")).extracting("uuid").containsOnly(TASK_UUID_3);
+ assertThat(underTest.selectByEntityUuid(db.getSession(), "UNKNOWN")).isEmpty();
+ assertThat(underTest.selectByEntityUuid(db.getSession(), ENTITY_UUID_1)).extracting("uuid").containsOnly(TASK_UUID_1, TASK_UUID_2);
+ assertThat(underTest.selectByEntityUuid(db.getSession(), "PROJECT_2")).extracting("uuid").containsOnly(TASK_UUID_3);
}
@Test
public void test_selectAllInAscOrder() {
- insertPending(TASK_UUID_1, MAIN_COMPONENT_UUID_1);
- insertPending(TASK_UUID_2, MAIN_COMPONENT_UUID_1);
+ insertPending(TASK_UUID_1, ENTITY_UUID_1);
+ insertPending(TASK_UUID_2, ENTITY_UUID_1);
insertPending(TASK_UUID_3, "PROJECT_2");
assertThat(underTest.selectAllInAscOrder(db.getSession())).extracting("uuid").containsOnly(TASK_UUID_1, TASK_UUID_2, TASK_UUID_3);
@@ -182,17 +182,17 @@ public class CeQueueDaoIT {
insertPending("p1", dto -> {
dto.setCreatedAt(time);
dto.setUpdatedAt(time + 500);
- dto.setMainComponentUuid("c1");
+ dto.setEntityUuid("c1");
});
insertPending("p2", dto -> {
dto.setCreatedAt(time + 1000);
dto.setUpdatedAt(time + 2000);
- dto.setMainComponentUuid("c2");
+ dto.setEntityUuid("c2");
});
- makeInProgress("w1", alwaysIncreasingSystem2.now(), insertPending("i1", dto -> dto.setMainComponentUuid("c3")));
+ makeInProgress("w1", alwaysIncreasingSystem2.now(), insertPending("i1", dto -> dto.setEntityUuid("c3")));
- assertThat(underTest.selectCreationDateOfOldestPendingByMainComponentUuid(db.getSession(), null))
+ assertThat(underTest.selectCreationDateOfOldestPendingByEntityUuid(db.getSession(), null))
.isEqualTo(Optional.of(time));
}
@@ -202,29 +202,29 @@ public class CeQueueDaoIT {
insertPending("p1", dto -> {
dto.setCreatedAt(time);
dto.setUpdatedAt(time + 500);
- dto.setMainComponentUuid("c2");
+ dto.setEntityUuid("c2");
});
insertPending("p2", dto -> {
dto.setCreatedAt(time + 2000);
dto.setUpdatedAt(time + 3000);
- dto.setMainComponentUuid("c1");
+ dto.setEntityUuid("c1");
});
insertPending("p3", dto -> {
dto.setCreatedAt(time + 4000);
dto.setUpdatedAt(time + 5000);
- dto.setMainComponentUuid("c1");
+ dto.setEntityUuid("c1");
});
- makeInProgress("w1", alwaysIncreasingSystem2.now(), insertPending("i1", dto -> dto.setMainComponentUuid("c1")));
+ makeInProgress("w1", alwaysIncreasingSystem2.now(), insertPending("i1", dto -> dto.setEntityUuid("c1")));
- assertThat(underTest.selectCreationDateOfOldestPendingByMainComponentUuid(db.getSession(), "c1"))
+ assertThat(underTest.selectCreationDateOfOldestPendingByEntityUuid(db.getSession(), "c1"))
.isEqualTo(Optional.of(time + 2000));
}
@Test
public void selectCreationDateOfOldestPendingByMainComponentUuid_returns_empty_when_no_pending_tasks() {
makeInProgress("w1", alwaysIncreasingSystem2.now(), insertPending("i1"));
- assertThat(underTest.selectCreationDateOfOldestPendingByMainComponentUuid(db.getSession(), null))
+ assertThat(underTest.selectCreationDateOfOldestPendingByEntityUuid(db.getSession(), null))
.isEmpty();
}
@@ -244,8 +244,8 @@ public class CeQueueDaoIT {
@Test
public void test_delete() {
- insertPending(TASK_UUID_1, MAIN_COMPONENT_UUID_1);
- insertPending(TASK_UUID_2, MAIN_COMPONENT_UUID_1);
+ insertPending(TASK_UUID_1, ENTITY_UUID_1);
+ insertPending(TASK_UUID_2, ENTITY_UUID_1);
int deletedCount = underTest.deleteByUuid(db.getSession(), "UNKNOWN");
assertThat(deletedCount).isZero();
@@ -262,7 +262,7 @@ public class CeQueueDaoIT {
@Test
public void test_delete_with_expected_status() {
- insertPending(TASK_UUID_1, MAIN_COMPONENT_UUID_1);
+ insertPending(TASK_UUID_1, ENTITY_UUID_1);
insertInProgress(TASK_UUID_2, "workerUuid", System2.INSTANCE.now());
int deletedCount = underTest.deleteByUuid(db.getSession(), "UNKNOWN", null);
@@ -425,42 +425,42 @@ public class CeQueueDaoIT {
public void select_by_query() {
// task status not in query
insertPending(newCeQueueDto(TASK_UUID_1)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
// too early
insertPending(newCeQueueDto(TASK_UUID_3)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(90_000L));
// task type not in query
insertPending(newCeQueueDto("TASK_4")
- .setMainComponentUuid("PROJECT_2")
+ .setEntityUuid("PROJECT_2")
.setStatus(PENDING)
.setTaskType("ANOTHER_TYPE")
.setCreatedAt(100_000L));
// correct
insertPending(newCeQueueDto(TASK_UUID_2)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
// correct submitted later
insertPending(newCeQueueDto("TASK_5")
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(120_000L));
// select by component uuid, status, task type and minimum submitted at
CeTaskQuery query = new CeTaskQuery()
- .setMainComponentUuids(newArrayList(MAIN_COMPONENT_UUID_1, "PROJECT_2"))
+ .setEntityUuids(newArrayList(ENTITY_UUID_1, "PROJECT_2"))
.setStatuses(singletonList(PENDING.name()))
.setType(CeTaskTypes.REPORT)
.setMinSubmittedAt(100_000L);
@@ -475,7 +475,7 @@ public class CeQueueDaoIT {
@Test
public void select_by_query_returns_empty_list_when_only_current() {
insertPending(newCeQueueDto(TASK_UUID_1)
- .setComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setComponentUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
@@ -492,7 +492,7 @@ public class CeQueueDaoIT {
@Test
public void select_by_query_returns_empty_list_when_max_submitted_at() {
insertPending(newCeQueueDto(TASK_UUID_1)
- .setComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setComponentUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
@@ -507,14 +507,14 @@ public class CeQueueDaoIT {
}
@Test
- public void select_by_query_returns_empty_list_when_empty_list_of_main_component_uuid() {
+ public void select_by_query_returns_empty_list_when_empty_list_of_entity_uuid() {
insertPending(newCeQueueDto(TASK_UUID_1)
- .setComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setComponentUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
- CeTaskQuery query = new CeTaskQuery().setMainComponentUuids(Collections.emptyList());
+ CeTaskQuery query = new CeTaskQuery().setEntityUuids(Collections.emptyList());
List<CeQueueDto> result = underTest.selectByQueryInDescOrder(db.getSession(), query, 1_000);
int total = underTest.countByQuery(db.getSession(), query);
@@ -524,57 +524,57 @@ public class CeQueueDaoIT {
}
@Test
- public void count_by_status_and_main_component_uuid() {
+ public void count_by_status_and_entity_uuid() {
// task retrieved in the queue
insertPending(newCeQueueDto(TASK_UUID_1)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
// on component uuid 2, not returned
insertPending(newCeQueueDto(TASK_UUID_2)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_2)
+ .setEntityUuid(ENTITY_UUID_2)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
// pending status, not returned
insertPending(newCeQueueDto(TASK_UUID_3)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
- assertThat(underTest.countByStatusAndMainComponentUuid(db.getSession(), IN_PROGRESS, MAIN_COMPONENT_UUID_1)).isOne();
+ assertThat(underTest.countByStatusAndEntityUuid(db.getSession(), IN_PROGRESS, ENTITY_UUID_1)).isOne();
assertThat(underTest.countByStatus(db.getSession(), IN_PROGRESS)).isEqualTo(2);
}
@Test
- public void count_by_status_and_main_component_uuids() {
+ public void count_by_status_and_entity_uuids() {
// task retrieved in the queue
insertPending(newCeQueueDto(TASK_UUID_1)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
// on component uuid 2, not returned
insertPending(newCeQueueDto(TASK_UUID_2)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_2)
+ .setEntityUuid(ENTITY_UUID_2)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
// pending status, not returned
insertPending(newCeQueueDto(TASK_UUID_3)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(100_000L));
- assertThat(underTest.countByStatusAndMainComponentUuids(db.getSession(), IN_PROGRESS, ImmutableSet.of())).isEmpty();
- assertThat(underTest.countByStatusAndMainComponentUuids(db.getSession(), IN_PROGRESS, ImmutableSet.of("non existing component uuid"))).isEmpty();
- assertThat(underTest.countByStatusAndMainComponentUuids(db.getSession(), IN_PROGRESS, ImmutableSet.of(MAIN_COMPONENT_UUID_1, MAIN_COMPONENT_UUID_2)))
- .containsOnly(entry(MAIN_COMPONENT_UUID_1, 1), entry(MAIN_COMPONENT_UUID_2, 1));
- assertThat(underTest.countByStatusAndMainComponentUuids(db.getSession(), PENDING, ImmutableSet.of(MAIN_COMPONENT_UUID_1, MAIN_COMPONENT_UUID_2)))
- .containsOnly(entry(MAIN_COMPONENT_UUID_1, 1));
+ assertThat(underTest.countByStatusAndEntityUuids(db.getSession(), IN_PROGRESS, ImmutableSet.of())).isEmpty();
+ assertThat(underTest.countByStatusAndEntityUuids(db.getSession(), IN_PROGRESS, ImmutableSet.of("non existing component uuid"))).isEmpty();
+ assertThat(underTest.countByStatusAndEntityUuids(db.getSession(), IN_PROGRESS, ImmutableSet.of(ENTITY_UUID_1, ENTITY_UUID_2)))
+ .containsOnly(entry(ENTITY_UUID_1, 1), entry(ENTITY_UUID_2, 1));
+ assertThat(underTest.countByStatusAndEntityUuids(db.getSession(), PENDING, ImmutableSet.of(ENTITY_UUID_1, ENTITY_UUID_2)))
+ .containsOnly(entry(ENTITY_UUID_1, 1));
assertThat(underTest.countByStatus(db.getSession(), IN_PROGRESS)).isEqualTo(2);
}
@@ -603,7 +603,7 @@ public class CeQueueDaoIT {
assertThat(underTest.hasAnyIssueSyncTaskPendingOrInProgress(db.getSession())).isFalse();
insertPending(newCeQueueDto(TASK_UUID_1)
- .setComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setComponentUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC)
.setCreatedAt(100_000L));
@@ -616,7 +616,7 @@ public class CeQueueDaoIT {
assertThat(underTest.hasAnyIssueSyncTaskPendingOrInProgress(db.getSession())).isFalse();
insertPending(newCeQueueDto(TASK_UUID_1)
- .setComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setComponentUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC)
.setCreatedAt(100_000L));
@@ -628,13 +628,13 @@ public class CeQueueDaoIT {
public void selectOldestPendingPrOrBranch_returns_oldest_100_pr_or_branch_tasks() {
for (int i = 1; i < 110; i++) {
insertPending(newCeQueueDto("task" + i)
- .setComponentUuid(MAIN_COMPONENT_UUID_1).setStatus(PENDING).setTaskType(CeTaskTypes.REPORT).setCreatedAt(i));
+ .setComponentUuid(ENTITY_UUID_1).setStatus(PENDING).setTaskType(CeTaskTypes.REPORT).setCreatedAt(i));
}
for (int i = 1; i < 10; i++) {
insertPending(newCeQueueDto("progress" + i)
- .setComponentUuid(MAIN_COMPONENT_UUID_1).setStatus(IN_PROGRESS).setTaskType(CeTaskTypes.REPORT).setCreatedAt(i));
+ .setComponentUuid(ENTITY_UUID_1).setStatus(IN_PROGRESS).setTaskType(CeTaskTypes.REPORT).setCreatedAt(i));
insertPending(newCeQueueDto("sync" + i)
- .setComponentUuid(MAIN_COMPONENT_UUID_1).setStatus(PENDING).setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC).setCreatedAt(i));
+ .setComponentUuid(ENTITY_UUID_1).setStatus(PENDING).setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC).setCreatedAt(i));
}
List<PrOrBranchTask> prOrBranchTasks = underTest.selectOldestPendingPrOrBranch(db.getSession());
@@ -647,7 +647,7 @@ public class CeQueueDaoIT {
public void selectOldestPendingPrOrBranch_returns_branch_branch_type_if_no_characteristics() {
insertPending(newCeQueueDto(TASK_UUID_1)
.setComponentUuid(COMPONENT_UUID_1)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(123L));
@@ -655,15 +655,15 @@ public class CeQueueDaoIT {
assertThat(prOrBranchTasks).hasSize(1);
assertThat(prOrBranchTasks.get(0))
- .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getMainComponentUuid, PrOrBranchTask::getTaskType)
- .containsExactly(BRANCH_KEY, COMPONENT_UUID_1, MAIN_COMPONENT_UUID_1, CeTaskTypes.REPORT);
+ .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getEntityUuid, PrOrBranchTask::getTaskType)
+ .containsExactly(BRANCH_KEY, COMPONENT_UUID_1, ENTITY_UUID_1, CeTaskTypes.REPORT);
}
@Test
public void selectOldestPendingPrOrBranch_returns_branch_branch_type_if_unrelated_characteristics() {
insertPending(newCeQueueDto(TASK_UUID_1)
.setComponentUuid(COMPONENT_UUID_1)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(123L));
@@ -672,15 +672,15 @@ public class CeQueueDaoIT {
assertThat(prOrBranchTasks).hasSize(1);
assertThat(prOrBranchTasks.get(0))
- .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getMainComponentUuid, PrOrBranchTask::getTaskType)
- .containsExactly(BRANCH_KEY, COMPONENT_UUID_1, MAIN_COMPONENT_UUID_1, CeTaskTypes.REPORT);
+ .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getEntityUuid, PrOrBranchTask::getTaskType)
+ .containsExactly(BRANCH_KEY, COMPONENT_UUID_1, ENTITY_UUID_1, CeTaskTypes.REPORT);
}
@Test
public void selectOldestPendingPrOrBranch_returns_all_fields() {
insertPending(newCeQueueDto(TASK_UUID_1)
.setComponentUuid(COMPONENT_UUID_1)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(123L));
@@ -690,15 +690,15 @@ public class CeQueueDaoIT {
assertThat(prOrBranchTasks).hasSize(1);
assertThat(prOrBranchTasks.get(0))
- .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getMainComponentUuid, PrOrBranchTask::getTaskType)
- .containsExactly(PULL_REQUEST, COMPONENT_UUID_1, MAIN_COMPONENT_UUID_1, CeTaskTypes.REPORT);
+ .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getEntityUuid, PrOrBranchTask::getTaskType)
+ .containsExactly(PULL_REQUEST, COMPONENT_UUID_1, ENTITY_UUID_1, CeTaskTypes.REPORT);
}
@Test
public void selectInProgressWithCharacteristics_returns_all_fields() {
insertPending(newCeQueueDto(TASK_UUID_1)
.setComponentUuid(COMPONENT_UUID_1)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(123L));
@@ -708,15 +708,15 @@ public class CeQueueDaoIT {
assertThat(prOrBranchTasks).hasSize(1);
assertThat(prOrBranchTasks.get(0))
- .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getMainComponentUuid, PrOrBranchTask::getTaskType)
- .containsExactly(PULL_REQUEST, COMPONENT_UUID_1, MAIN_COMPONENT_UUID_1, CeTaskTypes.REPORT);
+ .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getEntityUuid, PrOrBranchTask::getTaskType)
+ .containsExactly(PULL_REQUEST, COMPONENT_UUID_1, ENTITY_UUID_1, CeTaskTypes.REPORT);
}
@Test
public void selectInProgressWithCharacteristics_returns_branch_branch_type_if_no_characteristics() {
insertPending(newCeQueueDto(TASK_UUID_1)
.setComponentUuid(COMPONENT_UUID_1)
- .setMainComponentUuid(MAIN_COMPONENT_UUID_1)
+ .setEntityUuid(ENTITY_UUID_1)
.setStatus(IN_PROGRESS)
.setTaskType(CeTaskTypes.REPORT)
.setCreatedAt(123L));
@@ -725,8 +725,8 @@ public class CeQueueDaoIT {
assertThat(prOrBranchTasks).hasSize(1);
assertThat(prOrBranchTasks.get(0))
- .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getMainComponentUuid, PrOrBranchTask::getTaskType)
- .containsExactly(BRANCH_KEY, COMPONENT_UUID_1, MAIN_COMPONENT_UUID_1, CeTaskTypes.REPORT);
+ .extracting(PrOrBranchTask::getBranchType, PrOrBranchTask::getComponentUuid, PrOrBranchTask::getEntityUuid, PrOrBranchTask::getTaskType)
+ .containsExactly(BRANCH_KEY, COMPONENT_UUID_1, ENTITY_UUID_1, CeTaskTypes.REPORT);
}
private void insertPending(CeQueueDto dto) {
@@ -758,7 +758,7 @@ public class CeQueueDaoIT {
CeQueueDto dto = new CeQueueDto();
dto.setUuid(uuid);
dto.setTaskType(CeTaskTypes.REPORT);
- dto.setMainComponentUuid(mainComponentUuid);
+ dto.setEntityUuid(mainComponentUuid);
dto.setComponentUuid("uuid_" + pendingComponentUuidGenerator++);
dto.setStatus(PENDING);
dto.setSubmitterUuid("henri");
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/measure/LiveMeasureDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/measure/LiveMeasureDaoIT.java
index 674833e209e..f59c3b8a3d2 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/measure/LiveMeasureDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/measure/LiveMeasureDaoIT.java
@@ -34,6 +34,7 @@ import org.junit.Test;
import org.mockito.internal.util.collections.Sets;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
+import org.sonar.db.component.BranchDto;
import org.sonar.db.component.BranchType;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ProjectData;
@@ -55,7 +56,7 @@ import static org.sonar.db.measure.MeasureTesting.newLiveMeasure;
public class LiveMeasureDaoIT {
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
private final LiveMeasureDao underTest = db.getDbClient().liveMeasureDao();
private MetricDto metric;
@@ -148,26 +149,27 @@ public class LiveMeasureDaoIT {
public void selectForProjectsByMetricUuids() {
MetricDto metric = db.measures().insertMetric();
MetricDto metric2 = db.measures().insertMetric();
- ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject().getMainBranchComponent();
- underTest.insert(db.getSession(), newLiveMeasure(project, metric).setValue(3.14).setData((String) null));
- underTest.insert(db.getSession(), newLiveMeasure(project, metric2).setValue(4.54).setData((String) null));
- underTest.insert(db.getSession(), newLiveMeasure(project2, metric).setValue(99.99).setData((String) null));
+ BranchDto projectBranch = db.components().insertPrivateProject().getMainBranchDto();
+ BranchDto project2Branch = db.components().insertPrivateProject().getMainBranchDto();
+ underTest.insert(db.getSession(), newLiveMeasure(projectBranch, metric).setValue(3.14).setData((String) null));
+ underTest.insert(db.getSession(), newLiveMeasure(projectBranch, metric2).setValue(4.54).setData((String) null));
+ underTest.insert(db.getSession(), newLiveMeasure(project2Branch, metric).setValue(99.99).setData((String) null));
- List<LiveMeasureDto> selected = underTest.selectForProjectsByMetricUuids(db.getSession(), List.of(metric.getUuid(), metric2.getUuid()));
+ List<ProjectMainBranchLiveMeasureDto> selected = underTest.selectForProjectMainBranchesByMetricUuids(db.getSession(), List.of(metric.getUuid(), metric2.getUuid()));
assertThat(selected)
- .extracting(LiveMeasureDto::getComponentUuid, LiveMeasureDto::getProjectUuid, LiveMeasureDto::getMetricUuid, LiveMeasureDto::getValue, LiveMeasureDto::getDataAsString)
+ .extracting(ProjectMainBranchLiveMeasureDto::getProjectUuid, ProjectMainBranchLiveMeasureDto::getMetricUuid,
+ ProjectMainBranchLiveMeasureDto::getValue, ProjectMainBranchLiveMeasureDto::getTextValue)
.containsExactlyInAnyOrder(
- tuple(project.uuid(), project.uuid(), metric.getUuid(), 3.14, null),
- tuple(project.uuid(), project.uuid(), metric2.getUuid(), 4.54, null),
- tuple(project2.uuid(), project2.uuid(), metric.getUuid(), 99.99, null));
+ tuple(projectBranch.getProjectUuid(), metric.getUuid(), 3.14, null),
+ tuple(projectBranch.getProjectUuid(), metric2.getUuid(), 4.54, null),
+ tuple(project2Branch.getProjectUuid(), metric.getUuid(), 99.99, null));
}
@Test
public void selectForProjectsByMetricUuids_whenMetricDoesNotMatch_shouldReturnEmptyList() {
ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent();
underTest.insert(db.getSession(), newLiveMeasure(project, metric).setValue(3.14).setData((String) null));
- List<LiveMeasureDto> selected = underTest.selectForProjectsByMetricUuids(db.getSession(), singletonList("_other_"));
+ List<ProjectMainBranchLiveMeasureDto> selected = underTest.selectForProjectMainBranchesByMetricUuids(db.getSession(), singletonList("_other_"));
assertThat(selected).isEmpty();
}
@@ -182,10 +184,10 @@ public class LiveMeasureDaoIT {
underTest.insert(db.getSession(), newLiveMeasure(project.getMainBranchComponent(), metric).setValue(4.54).setData((String) null));
underTest.insert(db.getSession(), newLiveMeasure(project2.getMainBranchComponent(), metric).setValue(5.56).setData((String) null));
- List<LiveMeasureDto> selected = underTest.selectForProjectsByMetricUuids(db.getSession(), List.of(metric.getUuid()));
+ List<ProjectMainBranchLiveMeasureDto> selected = underTest.selectForProjectMainBranchesByMetricUuids(db.getSession(), List.of(metric.getUuid()));
assertThat(selected)
- .extracting(LiveMeasureDto::getProjectUuid)
+ .extracting(ProjectMainBranchLiveMeasureDto::getProjectUuid)
.containsExactlyInAnyOrder(project.projectUuid(), project2.projectUuid());
}
@@ -344,8 +346,8 @@ public class LiveMeasureDaoIT {
LiveMeasureDto result = underTest.selectMeasure(db.getSession(), file.uuid(), metric.getKey()).orElseThrow(() -> new IllegalArgumentException("Measure not found"));
assertThat(result).as("Fail to map fields of %s", result.toString()).extracting(
- LiveMeasureDto::getProjectUuid, LiveMeasureDto::getComponentUuid, LiveMeasureDto::getMetricUuid, LiveMeasureDto::getValue,
- LiveMeasureDto::getDataAsString, LiveMeasureDto::getTextValue)
+ LiveMeasureDto::getProjectUuid, LiveMeasureDto::getComponentUuid, LiveMeasureDto::getMetricUuid, LiveMeasureDto::getValue,
+ LiveMeasureDto::getDataAsString, LiveMeasureDto::getTextValue)
.contains(project.uuid(), file.uuid(), metric.getUuid(), 3.14, "text_value", "text_value");
}
@@ -354,21 +356,21 @@ public class LiveMeasureDaoIT {
MetricDto ncloc = db.measures().insertMetric(m -> m.setKey("ncloc").setValueType(INT.toString()));
MetricDto lines = db.measures().insertMetric(m -> m.setKey("lines").setValueType(INT.toString()));
- ComponentDto simpleProject = db.components().insertPublicProject().getMainBranchComponent();
+ ProjectData simpleProject = db.components().insertPublicProject();
db.measures().insertLiveMeasure(simpleProject, ncloc, m -> m.setValue(10d));
- ComponentDto projectWithBiggerBranch = db.components().insertPublicProject().getMainBranchComponent();
- ComponentDto bigBranch = db.components().insertProjectBranch(projectWithBiggerBranch, b -> b.setBranchType(BranchType.BRANCH));
+ ProjectData projectWithBiggerBranch = db.components().insertPublicProject();
+ BranchDto bigBranch = db.components().insertProjectBranch(projectWithBiggerBranch.getProjectDto(), b -> b.setBranchType(BranchType.BRANCH));
db.measures().insertLiveMeasure(projectWithBiggerBranch, ncloc, m -> m.setValue(100d));
db.measures().insertLiveMeasure(bigBranch, ncloc, m -> m.setValue(200d));
- ComponentDto projectWithLinesButNoLoc = db.components().insertPublicProject().getMainBranchComponent();
+ ProjectData projectWithLinesButNoLoc = db.components().insertPublicProject();
db.measures().insertLiveMeasure(projectWithLinesButNoLoc, lines, m -> m.setValue(365d));
db.measures().insertLiveMeasure(projectWithLinesButNoLoc, ncloc, m -> m.setValue(0d));
- assertThat(underTest.sumNclocOfBiggestBranchForProject(db.getSession(), simpleProject.uuid())).isEqualTo(10L);
- assertThat(underTest.sumNclocOfBiggestBranchForProject(db.getSession(), projectWithBiggerBranch.uuid())).isEqualTo(200L);
- assertThat(underTest.sumNclocOfBiggestBranchForProject(db.getSession(), projectWithLinesButNoLoc.uuid())).isZero();
+ assertThat(underTest.sumNclocOfBiggestBranchForProject(db.getSession(), simpleProject.projectUuid())).isEqualTo(10L);
+ assertThat(underTest.sumNclocOfBiggestBranchForProject(db.getSession(), projectWithBiggerBranch.projectUuid())).isEqualTo(200L);
+ assertThat(underTest.sumNclocOfBiggestBranchForProject(db.getSession(), projectWithLinesButNoLoc.projectUuid())).isZero();
}
@Test
@@ -392,17 +394,25 @@ public class LiveMeasureDaoIT {
Map<String, MetricDto> metrics = setupMetrics();
MetricDto ncloc = metrics.get("ncloc");
MetricDto nclocLanguageDistribution = metrics.get("ncloc_language_distribution");
- Map<String, ComponentDto> components = setupProjectsWithLoc(ncloc, nclocLanguageDistribution, metrics.get("lines"));
+ setupProjectsWithLoc(ncloc, nclocLanguageDistribution, metrics.get("lines"));
List<ProjectLocDistributionDto> results = underTest.selectLargestBranchesLocDistribution(db.getSession(), ncloc.getUuid(), nclocLanguageDistribution.getUuid());
assertThat(results)
.containsExactlyInAnyOrder(
- new ProjectLocDistributionDto(components.get("projectWithTieOnBranchSize").uuid(), components.get("projectWithTieOnBranchSize").uuid(), "java=250;js=0"),
- new ProjectLocDistributionDto(components.get("projectWithTieOnOtherBranches").uuid(), components.get("tieBranch1").uuid(), "java=230;js=0"),
- new ProjectLocDistributionDto(components.get("projectWithBranchBiggerThanMaster").uuid(), components.get("notMasterBranch").uuid(), "java=100;js=100"),
- new ProjectLocDistributionDto(components.get("simpleProject").uuid(), components.get("simpleProject").uuid(), "java=10;js=0"),
- new ProjectLocDistributionDto(components.get("projectWithLinesButNoLoc").uuid(), components.get("projectWithLinesButNoLoc").uuid(), "java=0;js=0"));
+ new ProjectLocDistributionDto("projectWithTieOnBranchSize", getMainBranchUuid("projectWithTieOnBranchSize"), "java=250;js=0"),
+ new ProjectLocDistributionDto("projectWithTieOnOtherBranches", getBranchUuid("projectWithTieOnOtherBranches", "tieBranch1"), "java=230;js=0"),
+ new ProjectLocDistributionDto("projectWithBranchBiggerThanMaster", getBranchUuid("projectWithBranchBiggerThanMaster", "notMasterBranch"), "java=100;js=100"),
+ new ProjectLocDistributionDto("simpleProject", getMainBranchUuid("simpleProject"), "java=10;js=0"),
+ new ProjectLocDistributionDto("projectWithLinesButNoLoc", getMainBranchUuid("projectWithLinesButNoLoc"), "java=0;js=0"));
+ }
+
+ private String getBranchUuid(String projectUuid, String branchKey) {
+ return db.getDbClient().branchDao().selectByBranchKey(db.getSession(), projectUuid, branchKey).get().getUuid();
+ }
+
+ private String getMainBranchUuid(String projectUuid) {
+ return db.getDbClient().branchDao().selectMainBranchByProjectUuid(db.getSession(), projectUuid).get().getUuid();
}
@Test
@@ -696,63 +706,58 @@ public class LiveMeasureDaoIT {
"lines", lines);
}
- private Map<String, ComponentDto> setupProjectsWithLoc(MetricDto ncloc, MetricDto nclocDistribution, MetricDto lines) {
- ComponentDto simpleProject = addProjectWithMeasure("simpleProject", ncloc, 10d);
- addMeasureToComponent(simpleProject, nclocDistribution, "java=10;js=0");
-
- ComponentDto projectWithBranchBiggerThanMaster = addProjectWithMeasure("projectWithBranchBiggerThanMaster", ncloc, 100d);
- addMeasureToComponent(projectWithBranchBiggerThanMaster, nclocDistribution, "java=100;js=0");
+ private void setupProjectsWithLoc(MetricDto ncloc, MetricDto nclocDistribution, MetricDto lines) {
+ ProjectData simpleProject = addProjectWithMeasure("simpleProject", ncloc, 10d);
+ addMeasureToMainBranch(simpleProject, nclocDistribution, "java=10;js=0");
- ComponentDto notMasterBranch = addBranchToProjectWithMeasure(projectWithBranchBiggerThanMaster, "notMasterBranch", ncloc, 200d);
- addMeasureToComponent(notMasterBranch, nclocDistribution, "java=100;js=100");
+ ProjectData projectWithBranchBiggerThanMaster = addProjectWithMeasure("projectWithBranchBiggerThanMaster", ncloc, 100d);
+ addMeasureToMainBranch(projectWithBranchBiggerThanMaster, nclocDistribution, "java=100;js=0");
- ComponentDto projectWithLinesButNoLoc = addProjectWithMeasure("projectWithLinesButNoLoc", lines, 365d);
- addMeasureToComponent(projectWithLinesButNoLoc, nclocDistribution, "java=0;js=0");
- addMeasureToComponent(projectWithLinesButNoLoc, ncloc, 0d, false);
+ BranchDto notMasterBranch = addBranchToProjectWithMeasure(projectWithBranchBiggerThanMaster, "notMasterBranch", ncloc, 200d);
+ addMeasureToBranch(notMasterBranch, nclocDistribution, "java=100;js=100");
- ComponentDto projectWithTieOnBranchSize = addProjectWithMeasure("projectWithTieOnBranchSize", ncloc, 250d);
- addMeasureToComponent(projectWithTieOnBranchSize, nclocDistribution, "java=250;js=0");
- ComponentDto tieBranch = addBranchToProjectWithMeasure(projectWithTieOnBranchSize, "tieBranch", ncloc, 250d);
- addMeasureToComponent(tieBranch, nclocDistribution, "java=250;js=0");
+ ProjectData projectWithLinesButNoLoc = addProjectWithMeasure("projectWithLinesButNoLoc", lines, 365d);
+ addMeasureToMainBranch(projectWithLinesButNoLoc, nclocDistribution, "java=0;js=0");
+ addMeasureToBranch(projectWithLinesButNoLoc.getMainBranchDto(), ncloc, 0d, false);
- ComponentDto projectWithTieOnOtherBranches = addProjectWithMeasure("projectWithTieOnOtherBranches", ncloc, 220d);
- addMeasureToComponent(projectWithTieOnOtherBranches, nclocDistribution, "java=220;js=0");
- ComponentDto tieBranch1 = addBranchToProjectWithMeasure(projectWithTieOnOtherBranches, "tieBranch1", ncloc, 230d);
- addMeasureToComponent(tieBranch1, nclocDistribution, "java=230;js=0");
- ComponentDto tieBranch2 = addBranchToProjectWithMeasure(projectWithTieOnOtherBranches, "tieBranch2", ncloc, 230d);
- addMeasureToComponent(tieBranch2, nclocDistribution, "java=230;js=0");
+ ProjectData projectWithTieOnBranchSize = addProjectWithMeasure("projectWithTieOnBranchSize", ncloc, 250d);
+ addMeasureToMainBranch(projectWithTieOnBranchSize, nclocDistribution, "java=250;js=0");
+ BranchDto tieBranch = addBranchToProjectWithMeasure(projectWithTieOnBranchSize, "tieBranch", ncloc, 250d);
+ addMeasureToBranch(tieBranch, nclocDistribution, "java=250;js=0");
- return Map.of("simpleProject", simpleProject,
- "projectWithBranchBiggerThanMaster", projectWithBranchBiggerThanMaster,
- "notMasterBranch", notMasterBranch,
- "projectWithLinesButNoLoc", projectWithLinesButNoLoc,
- "projectWithTieOnBranchSize", projectWithTieOnBranchSize,
- "tieBranch", tieBranch,
- "projectWithTieOnOtherBranches", projectWithTieOnOtherBranches,
- "tieBranch1", tieBranch1,
- "tieBranch2", tieBranch2);
+ ProjectData projectWithTieOnOtherBranches = addProjectWithMeasure("projectWithTieOnOtherBranches", ncloc, 220d);
+ addMeasureToMainBranch(projectWithTieOnOtherBranches, nclocDistribution, "java=220;js=0");
+ BranchDto tieBranch1 = addBranchToProjectWithMeasure(projectWithTieOnOtherBranches, "tieBranch1", ncloc, 230d);
+ addMeasureToBranch(tieBranch1, nclocDistribution, "java=230;js=0");
+ BranchDto tieBranch2 = addBranchToProjectWithMeasure(projectWithTieOnOtherBranches, "tieBranch2", ncloc, 230d);
+ addMeasureToBranch(tieBranch2, nclocDistribution, "java=230;js=0");
}
- private ComponentDto addProjectWithMeasure(String projectKey, MetricDto metric, double metricValue) {
- ComponentDto project = db.components().insertPublicProject(p -> p.setKey(projectKey)).getMainBranchComponent();
- addMeasureToComponent(project, metric, metricValue, true);
+ private ProjectData addProjectWithMeasure(String projectKey, MetricDto metric, double metricValue) {
+ ProjectData project = db.components().insertPublicProject(projectKey, p -> p.setKey(projectKey));
+ addMeasureToBranch(project.getMainBranchDto(), metric, metricValue, true);
return project;
}
- private void addMeasureToComponent(ComponentDto component, MetricDto metric, double metricValue, boolean addSnapshot) {
+ private void addMeasureToBranch(BranchDto component, MetricDto metric, double metricValue, boolean addSnapshot) {
db.measures().insertLiveMeasure(component, metric, m -> m.setValue(metricValue));
if (addSnapshot) {
db.components().insertSnapshot(component, t -> t.setLast(true));
}
}
- private void addMeasureToComponent(ComponentDto component, MetricDto metric, String metricValue) {
+ private void addMeasureToMainBranch(ProjectData projectData, MetricDto metric, String metricValue) {
+ addMeasureToBranch(projectData.getMainBranchDto(), metric, metricValue);
+ }
+
+ private void addMeasureToBranch(BranchDto component, MetricDto metric, String metricValue) {
db.measures().insertLiveMeasure(component, metric, m -> m.setData(metricValue));
}
- private ComponentDto addBranchToProjectWithMeasure(ComponentDto project, String branchKey, MetricDto metric, double metricValue) {
- ComponentDto branch = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.BRANCH).setKey(branchKey));
- addMeasureToComponent(branch, metric, metricValue, true);
+ private BranchDto addBranchToProjectWithMeasure(ProjectData project, String branchKey, MetricDto metric, double metricValue) {
+ BranchDto branch = db.components()
+ .insertProjectBranch(project.getProjectDto(), b -> b.setBranchType(BranchType.BRANCH).setKey(branchKey));
+ addMeasureToBranch(branch, metric, metricValue, true);
return branch;
}
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/measure/MeasureDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/measure/MeasureDaoIT.java
index ede1a896723..446e093f265 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/measure/MeasureDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/measure/MeasureDaoIT.java
@@ -46,21 +46,19 @@ public class MeasureDaoIT {
private MetricDto coverage;
private MetricDto complexity;
private MetricDto ncloc;
- private MetricDto nclocDistribution;
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
- private DbClient dbClient = db.getDbClient();
- private DbSession dbSession = db.getSession();
-
- private MeasureDao underTest = db.getDbClient().measureDao();
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
+ private final DbClient dbClient = db.getDbClient();
+ private final DbSession dbSession = db.getSession();
+ private final MeasureDao underTest = db.getDbClient().measureDao();
@Before
public void before() {
coverage = db.measures().insertMetric(m -> m.setKey("coverage"));
complexity = db.measures().insertMetric(m -> m.setKey("complexity"));
ncloc = db.measures().insertMetric(m -> m.setKey("ncloc"));
- nclocDistribution = db.measures().insertMetric(m -> m.setKey("ncloc_language_distribution"));
+ db.measures().insertMetric(m -> m.setKey("ncloc_language_distribution"));
}
@Test
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeDaoIT.java
index ddb7efceb08..631e5af3e1e 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeDaoIT.java
@@ -904,7 +904,7 @@ public class PurgeDaoIT {
dbSession.commit();
assertThat(db.countRowsOfTable("ce_queue")).isOne();
- assertThat(db.countSql("select count(*) from ce_queue where main_component_uuid='" + projectToBeDeleted.uuid() + "'")).isZero();
+ assertThat(db.countSql("select count(*) from ce_queue where entity_uuid='" + projectToBeDeleted.uuid() + "'")).isZero();
}
@Test
@@ -1273,9 +1273,9 @@ public class PurgeDaoIT {
public void delete_ce_analysis_older_than_180_and_scanner_context_older_than_40_days_of_specified_project_when_purging_project() {
LocalDateTime now = LocalDateTime.now();
ComponentDto project1 = db.components().insertPublicProject().getMainBranchComponent();
- Consumer<CeQueueDto> belongsToProject1 = t -> t.setMainComponentUuid(project1.uuid()).setComponentUuid(project1.uuid());
+ Consumer<CeQueueDto> belongsToProject1 = t -> t.setEntityUuid(project1.uuid()).setComponentUuid(project1.uuid());
ComponentDto project2 = db.components().insertPublicProject().getMainBranchComponent();
- Consumer<CeQueueDto> belongsToProject2 = t -> t.setMainComponentUuid(project2.uuid()).setComponentUuid(project2.uuid());
+ Consumer<CeQueueDto> belongsToProject2 = t -> t.setEntityUuid(project2.uuid()).setComponentUuid(project2.uuid());
insertCeActivityAndChildDataWithDate("VERY_OLD_1", now.minusDays(180).minusMonths(10), belongsToProject1);
insertCeActivityAndChildDataWithDate("JUST_OLD_ENOUGH_1", now.minusDays(180).minusDays(1), belongsToProject1);
@@ -1332,8 +1332,8 @@ public class PurgeDaoIT {
LocalDateTime now = LocalDateTime.now();
ComponentDto project1 = db.components().insertPublicProject().getMainBranchComponent();
ComponentDto branch1 = db.components().insertProjectBranch(project1, b -> b.setExcludeFromPurge(true));
- Consumer<CeQueueDto> belongsToProject1 = t -> t.setMainComponentUuid(project1.uuid()).setComponentUuid(project1.uuid());
- Consumer<CeQueueDto> belongsToBranch1 = t -> t.setMainComponentUuid(project1.uuid()).setComponentUuid(branch1.uuid());
+ Consumer<CeQueueDto> belongsToProject1 = t -> t.setEntityUuid(project1.uuid()).setComponentUuid(project1.uuid());
+ Consumer<CeQueueDto> belongsToBranch1 = t -> t.setEntityUuid(project1.uuid()).setComponentUuid(branch1.uuid());
insertCeActivityAndChildDataWithDate("VERY_OLD_1", now.minusDays(180).minusMonths(10), belongsToProject1);
insertCeActivityAndChildDataWithDate("JUST_OLD_ENOUGH_1", now.minusDays(180).minusDays(1), belongsToProject1);
@@ -1390,8 +1390,8 @@ public class PurgeDaoIT {
LocalDateTime now = LocalDateTime.now();
ComponentDto project1 = db.components().insertPublicProject().getMainBranchComponent();
ComponentDto branch1 = db.components().insertProjectBranch(project1);
- Consumer<CeQueueDto> belongsToProject1 = t -> t.setMainComponentUuid(project1.uuid()).setComponentUuid(project1.uuid());
- Consumer<CeQueueDto> belongsToBranch1 = t -> t.setMainComponentUuid(project1.uuid()).setComponentUuid(branch1.uuid());
+ Consumer<CeQueueDto> belongsToProject1 = t -> t.setEntityUuid(project1.uuid()).setComponentUuid(project1.uuid());
+ Consumer<CeQueueDto> belongsToBranch1 = t -> t.setEntityUuid(project1.uuid()).setComponentUuid(branch1.uuid());
insertCeActivityAndChildDataWithDate("VERY_OLD_1", now.minusDays(180).minusMonths(10), belongsToProject1);
insertCeActivityAndChildDataWithDate("JUST_OLD_ENOUGH_1", now.minusDays(180).minusDays(1), belongsToProject1);
@@ -1873,7 +1873,7 @@ public class PurgeDaoIT {
queueDto.setUuid(Uuids.create());
queueDto.setTaskType(REPORT);
queueDto.setComponentUuid(component.uuid());
- queueDto.setMainComponentUuid(mainBranch);
+ queueDto.setEntityUuid(mainBranch);
queueDto.setSubmitterUuid("submitter uuid");
queueDto.setCreatedAt(1_300_000_000_000L);
queueDto.setStatus(status);
@@ -1898,7 +1898,7 @@ public class PurgeDaoIT {
.setUuid(UuidFactoryFast.getInstance().create())
.setTaskType("foo")
.setComponentUuid(component.uuid())
- .setMainComponentUuid(mainBranch)
+ .setEntityUuid(mainBranch)
.setStatus(Status.PENDING)
.setCreatedAt(1_2323_222L)
.setUpdatedAt(1_2323_222L);
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/pushevent/PushEventDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/pushevent/PushEventDaoIT.java
index 03a1cde80cb..98d81f82575 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/pushevent/PushEventDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/pushevent/PushEventDaoIT.java
@@ -36,7 +36,7 @@ public class PushEventDaoIT {
private final TestSystem2 system2 = new TestSystem2().setNow(1L);
@Rule
- public DbTester db = DbTester.create(system2);
+ public DbTester db = DbTester.create(system2, true);
private final DbSession session = db.getSession();
private final PushEventDao underTest = db.getDbClient().pushEventDao();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoIT.java
index f79113cce42..75074881889 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/ProjectQgateAssociationDaoIT.java
@@ -34,21 +34,21 @@ import static org.assertj.core.api.Assertions.tuple;
public class ProjectQgateAssociationDaoIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
- private DbSession dbSession = db.getSession();
- private ProjectQgateAssociationDao underTest = db.getDbClient().projectQgateAssociationDao();
+ private final DbSession dbSession = db.getSession();
+ private final ProjectQgateAssociationDao underTest = db.getDbClient().projectQgateAssociationDao();
@Test
public void select_all_projects_by_query() {
QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate();
QualityGateDto qualityGate2 = db.qualityGates().insertQualityGate();
- ComponentDto project1 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject().getMainBranchComponent();
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project1), qualityGate1);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project2), qualityGate1);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project3), qualityGate2);
+ ProjectDto project1 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject().getProjectDto();
+ db.qualityGates().associateProjectToQualityGate(project1, qualityGate1);
+ db.qualityGates().associateProjectToQualityGate(project2, qualityGate1);
+ db.qualityGates().associateProjectToQualityGate(project3, qualityGate2);
List<ProjectQgateAssociationDto> result = underTest.selectProjects(dbSession, ProjectQgateAssociationQuery.builder()
.qualityGate(qualityGate1)
@@ -57,20 +57,20 @@ public class ProjectQgateAssociationDaoIT {
assertThat(result)
.extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getKey, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateUuid)
.containsExactlyInAnyOrder(
- tuple(project1.uuid(), project1.getKey(), project1.name(), qualityGate1.getUuid()),
- tuple(project2.uuid(), project2.getKey(), project2.name(), qualityGate1.getUuid()),
- tuple(project3.uuid(), project3.getKey(), project3.name(), null));
+ tuple(project1.getUuid(), project1.getKey(), project1.getName(), qualityGate1.getUuid()),
+ tuple(project2.getUuid(), project2.getKey(), project2.getName(), qualityGate1.getUuid()),
+ tuple(project3.getUuid(), project3.getKey(), project3.getName(), null));
}
@Test
public void select_all_projects_by_query_should_have_deterministic_order() {
QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate();
- ComponentDto project1 = db.components().insertPrivateProject(d -> d.setName("p1").setKey("key1")).getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject(d -> d.setName("p1").setKey("key2")).getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject(d -> d.setName("p2").setKey("key3")).getMainBranchComponent();
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project1), qualityGate1);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project2), qualityGate1);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project3), qualityGate1);
+ ProjectDto project1 = db.components().insertPrivateProject(d -> d.setName("p1").setKey("key1")).getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject(d -> d.setName("p1").setKey("key2")).getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject(d -> d.setName("p2").setKey("key3")).getProjectDto();
+ db.qualityGates().associateProjectToQualityGate(project1, qualityGate1);
+ db.qualityGates().associateProjectToQualityGate(project2, qualityGate1);
+ db.qualityGates().associateProjectToQualityGate(project3, qualityGate1);
List<ProjectQgateAssociationDto> result = underTest.selectProjects(dbSession, ProjectQgateAssociationQuery.builder()
.qualityGate(qualityGate1)
@@ -78,17 +78,17 @@ public class ProjectQgateAssociationDaoIT {
assertThat(result)
.extracting(ProjectQgateAssociationDto::getUuid)
- .containsExactlyInAnyOrder(project1.uuid(), project2.uuid(), project3.uuid());
+ .containsExactlyInAnyOrder(project1.getUuid(), project2.getUuid(), project3.getUuid());
}
@Test
public void select_projects_by_query() {
QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
- ComponentDto project1 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject().getMainBranchComponent();
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project1), qualityGate);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project2), qualityGate);
+ ProjectDto project1 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject().getProjectDto();
+ db.qualityGates().associateProjectToQualityGate(project1, qualityGate);
+ db.qualityGates().associateProjectToQualityGate(project2, qualityGate);
assertThat(underTest.selectProjects(dbSession, ProjectQgateAssociationQuery.builder()
.qualityGate(qualityGate)
@@ -96,53 +96,53 @@ public class ProjectQgateAssociationDaoIT {
.build()))
.extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateUuid)
.containsExactlyInAnyOrder(
- tuple(project1.uuid(), project1.name(), qualityGate.getUuid()),
- tuple(project2.uuid(), project2.name(), qualityGate.getUuid()));
+ tuple(project1.getUuid(), project1.getName(), qualityGate.getUuid()),
+ tuple(project2.getUuid(), project2.getName(), qualityGate.getUuid()));
assertThat(underTest.selectProjects(dbSession, ProjectQgateAssociationQuery.builder()
.qualityGate(qualityGate)
.membership(ProjectQgateAssociationQuery.OUT)
.build()))
.extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getName, ProjectQgateAssociationDto::getGateUuid)
- .containsExactlyInAnyOrder(tuple(project3.uuid(), project3.name(), null));
+ .containsExactlyInAnyOrder(tuple(project3.getUuid(), project3.getName(), null));
}
@Test
public void search_by_project_name() {
QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
- ComponentDto project1 = db.components().insertPrivateProject(p -> p.setName("Project One")).getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject(p -> p.setName("Project Two")).getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject(p -> p.setName("Project Three")).getMainBranchComponent();
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project1), qualityGate);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project2), qualityGate);
+ ProjectDto project1 = db.components().insertPrivateProject(p -> p.setName("Project One")).getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject(p -> p.setName("Project Two")).getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject(p -> p.setName("Project Three")).getProjectDto();
+ db.qualityGates().associateProjectToQualityGate(project1, qualityGate);
+ db.qualityGates().associateProjectToQualityGate(project2, qualityGate);
assertThat(underTest.selectProjects(dbSession, ProjectQgateAssociationQuery.builder()
.qualityGate(qualityGate)
.projectSearch("one")
.build()))
.extracting(ProjectQgateAssociationDto::getUuid)
- .containsExactlyInAnyOrder(project1.uuid());
+ .containsExactlyInAnyOrder(project1.getUuid());
assertThat(underTest.selectProjects(dbSession, ProjectQgateAssociationQuery.builder()
.qualityGate(qualityGate)
.projectSearch("project")
.build()))
.extracting(ProjectQgateAssociationDto::getUuid)
- .containsExactlyInAnyOrder(project1.uuid(), project2.uuid(), project3.uuid());
+ .containsExactlyInAnyOrder(project1.getUuid(), project2.getUuid(), project3.getUuid());
}
@Test
public void sorted_by_project_name() {
QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
- ComponentDto project1 = db.components().insertPrivateProject(p -> p.setName("Project One")).getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject(p -> p.setName("Project Two")).getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject(p -> p.setName("Project Three")).getMainBranchComponent();
+ ProjectDto project1 = db.components().insertPrivateProject(p -> p.setName("Project One")).getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject(p -> p.setName("Project Two")).getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject(p -> p.setName("Project Three")).getProjectDto();
assertThat(underTest.selectProjects(dbSession, ProjectQgateAssociationQuery.builder()
.qualityGate(qualityGate)
.build()))
.extracting(ProjectQgateAssociationDto::getUuid)
- .containsExactly(project1.uuid(), project3.uuid(), project2.uuid());
+ .containsExactly(project1.getUuid(), project3.getUuid(), project2.getUuid());
}
@Test
@@ -151,34 +151,34 @@ public class ProjectQgateAssociationDaoIT {
QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate();
QualityGateDto qualityGate2 = db.qualityGates().insertQualityGate();
- ComponentDto project1 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project4 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project5 = db.components().insertPrivateProject().getMainBranchComponent();
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project1), qualityGate1);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project2), qualityGate2);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project3), qualityGate1);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project4), qualityGate2);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project5), qualityGate1);
+ ProjectDto project1 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project4 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project5 = db.components().insertPrivateProject().getProjectDto();
+ db.qualityGates().associateProjectToQualityGate(project1, qualityGate1);
+ db.qualityGates().associateProjectToQualityGate(project2, qualityGate2);
+ db.qualityGates().associateProjectToQualityGate(project3, qualityGate1);
+ db.qualityGates().associateProjectToQualityGate(project4, qualityGate2);
+ db.qualityGates().associateProjectToQualityGate(project5, qualityGate1);
List<ProjectQgateAssociationDto> result = underTest.selectAll(dbSession);
assertThat(result)
.extracting(ProjectQgateAssociationDto::getUuid, ProjectQgateAssociationDto::getGateUuid)
.containsExactlyInAnyOrder(
- tuple(project1.uuid(), qualityGate1.getUuid()),
- tuple(project2.uuid(), qualityGate2.getUuid()),
- tuple(project3.uuid(), qualityGate1.getUuid()),
- tuple(project4.uuid(), qualityGate2.getUuid()),
- tuple(project5.uuid(), qualityGate1.getUuid()));
+ tuple(project1.getUuid(), qualityGate1.getUuid()),
+ tuple(project2.getUuid(), qualityGate2.getUuid()),
+ tuple(project3.getUuid(), qualityGate1.getUuid()),
+ tuple(project4.getUuid(), qualityGate2.getUuid()),
+ tuple(project5.getUuid(), qualityGate1.getUuid()));
}
@Test
public void select_qgate_uuid_is_absent() {
- ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent();
+ ProjectDto project = db.components().insertPrivateProject().getProjectDto();
- Optional<String> result = underTest.selectQGateUuidByProjectUuid(dbSession, project.uuid());
+ Optional<String> result = underTest.selectQGateUuidByProjectUuid(dbSession, project.getUuid());
assertThat(result).isEmpty();
}
@@ -187,12 +187,12 @@ public class ProjectQgateAssociationDaoIT {
public void select_qgate_uuid() {
QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate();
QualityGateDto qualityGate2 = db.qualityGates().insertQualityGate();
- ComponentDto project1 = db.components().insertPrivateProject().getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject().getMainBranchComponent();
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project1), qualityGate1);
- db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project2), qualityGate2);
+ ProjectDto project1 = db.components().insertPrivateProject().getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject().getProjectDto();
+ db.qualityGates().associateProjectToQualityGate(project1, qualityGate1);
+ db.qualityGates().associateProjectToQualityGate(project2, qualityGate2);
- Optional<String> result = underTest.selectQGateUuidByProjectUuid(dbSession, project1.uuid());
+ Optional<String> result = underTest.selectQGateUuidByProjectUuid(dbSession, project1.getUuid());
assertThat(result).contains(qualityGate1.getUuid());
}
@@ -206,7 +206,7 @@ public class ProjectQgateAssociationDaoIT {
underTest.deleteByProjectUuid(dbSession, project.getUuid());
- Optional<String> deletedQualityGate = db.qualityGates().selectQGateUuidByComponentUuid(project.getUuid());
+ Optional<String> deletedQualityGate = db.qualityGates().selectQGateUuidByProjectUuid(project.getUuid());
assertThat(deletedQualityGate).isEmpty();
}
@@ -220,7 +220,7 @@ public class ProjectQgateAssociationDaoIT {
underTest.deleteByQGateUuid(dbSession, qualityGate.getUuid());
- Optional<String> deletedQualityGate = db.qualityGates().selectQGateUuidByComponentUuid(project.getUuid());
+ Optional<String> deletedQualityGate = db.qualityGates().selectQGateUuidByProjectUuid(project.getUuid());
assertThat(deletedQualityGate).isEmpty();
}
@@ -235,7 +235,7 @@ public class ProjectQgateAssociationDaoIT {
underTest.updateProjectQGateAssociation(dbSession, project.getUuid(), secondQualityGate.getUuid());
- Optional<String> updatedQualityGateUuid = db.qualityGates().selectQGateUuidByComponentUuid(project.getUuid());
+ Optional<String> updatedQualityGateUuid = db.qualityGates().selectQGateUuidByProjectUuid(project.getUuid());
assertThat(updatedQualityGateUuid).contains(secondQualityGate.getUuid());
}
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateConditionDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateConditionDaoIT.java
index 6a46ce044d4..c4aef3ba778 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateConditionDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateConditionDaoIT.java
@@ -37,7 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class QualityGateConditionDaoIT {
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private DbSession dbSession = dbTester.getSession();
private QualityGateConditionDao underTest = dbTester.getDbClient().gateConditionDao();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateDaoIT.java
index a93511b6e8b..42b93bc482a 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateDaoIT.java
@@ -44,7 +44,7 @@ import static org.sonar.db.qualitygate.QualityGateFindingDto.RATING_VALUE_TYPE;
public class QualityGateDaoIT {
@Rule
- public final DbTester db = DbTester.create(System2.INSTANCE);
+ public final DbTester db = DbTester.create(System2.INSTANCE, true);
private final QualityGateDbTester qualityGateDbTester = new QualityGateDbTester(db);
private final DbSession dbSession = db.getSession();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateGroupPermissionsDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateGroupPermissionsDaoIT.java
index b6a160e48b7..db462721a83 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateGroupPermissionsDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateGroupPermissionsDaoIT.java
@@ -51,7 +51,7 @@ public class QualityGateGroupPermissionsDaoIT {
private final ArgumentCaptor<GroupEditorNewValue> newValueCaptor = ArgumentCaptor.forClass(GroupEditorNewValue.class);
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE, auditPersister);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, auditPersister, true);
private DbSession dbSession = dbTester.getSession();
private QualityGateGroupPermissionsDao underTest = dbTester.getDbClient().qualityGateGroupPermissionsDao();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateUserPermissionsDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateUserPermissionsDaoIT.java
index beea1928ad2..1a9c6a0479b 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateUserPermissionsDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateUserPermissionsDaoIT.java
@@ -47,7 +47,7 @@ public class QualityGateUserPermissionsDaoIT {
private final ArgumentCaptor<UserEditorNewValue> newValueCaptor = ArgumentCaptor.forClass(UserEditorNewValue.class);
@Rule
- public final DbTester db = DbTester.create(System2.INSTANCE, auditPersister);
+ public final DbTester db = DbTester.create(System2.INSTANCE, auditPersister, true);
private final DbSession dbSession = db.getSession();
private final UserDbTester userDbTester = new UserDbTester(db);
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/ActiveRuleDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/ActiveRuleDaoIT.java
index 5af54de947d..eda8fb4abbe 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/ActiveRuleDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/ActiveRuleDaoIT.java
@@ -71,7 +71,7 @@ public class ActiveRuleDaoIT {
private System2 system = new TestSystem2().setNow(NOW);
@Rule
- public DbTester db = DbTester.create(system);
+ public DbTester db = DbTester.create(system, true);
private DbSession dbSession = db.getSession();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/DefaultQProfileDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/DefaultQProfileDaoIT.java
index e7428304b37..7447f5a4ae3 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/DefaultQProfileDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/DefaultQProfileDaoIT.java
@@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class DefaultQProfileDaoIT {
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private DbSession dbSession = dbTester.getSession();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileChangeDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileChangeDaoIT.java
index 0ab04ea2c51..59bba4c269e 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileChangeDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileChangeDaoIT.java
@@ -40,7 +40,7 @@ public class QProfileChangeDaoIT {
private System2 system2 = new AlwaysIncreasingSystem2();
@Rule
- public DbTester db = DbTester.create(system2);
+ public DbTester db = DbTester.create(system2, true);
private DbSession dbSession = db.getSession();
private UuidFactory uuidFactory = new SequenceUuidFactory();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditGroupsDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditGroupsDaoIT.java
index c61b1608162..210593d2d1f 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditGroupsDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditGroupsDaoIT.java
@@ -57,7 +57,7 @@ public class QProfileEditGroupsDaoIT {
private System2 system2 = new TestSystem2().setNow(NOW);
@Rule
- public DbTester db = DbTester.create(system2, auditPersister);
+ public DbTester db = DbTester.create(system2, auditPersister, true);
private QProfileEditGroupsDao underTest = db.getDbClient().qProfileEditGroupsDao();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditUsersDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditUsersDaoIT.java
index ddb126b479d..da4a526d1cc 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditUsersDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QProfileEditUsersDaoIT.java
@@ -56,7 +56,7 @@ public class QProfileEditUsersDaoIT {
private final ArgumentCaptor<UserEditorNewValue> newValueCaptor = ArgumentCaptor.forClass(UserEditorNewValue.class);
@Rule
- public DbTester db = DbTester.create(system2, auditPersister);
+ public DbTester db = DbTester.create(system2, auditPersister, true);
private final QProfileEditUsersDao underTest = db.getDbClient().qProfileEditUsersDao();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileDaoIT.java
index b37a1067bb2..4f35d90961e 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileDaoIT.java
@@ -58,7 +58,7 @@ public class QualityProfileDaoIT {
private final System2 system = mock(System2.class);
@Rule
- public DbTester db = DbTester.create(system);
+ public DbTester db = DbTester.create(system, true);
private final DbSession dbSession = db.getSession();
private final QualityProfileDao underTest = db.getDbClient().qualityProfileDao();
@@ -674,29 +674,6 @@ public class QualityProfileDaoIT {
}
@Test
- public void test_selectQProfileUuidsByProjectUuid() {
- ProjectDto project1 = db.components().insertPublicProject().getProjectDto();
- ProjectDto project2 = db.components().insertPublicProject().getProjectDto();
- ProjectDto project3 = db.components().insertPublicProject().getProjectDto();
- QProfileDto javaProfile = db.qualityProfiles().insert(p -> p.setLanguage("java"));
- QProfileDto jsProfile = db.qualityProfiles().insert(p -> p.setLanguage("js"));
- QProfileDto cProfile = db.qualityProfiles().insert(p -> p.setLanguage("c"));
- db.qualityProfiles().associateWithProject(project1, javaProfile, cProfile);
- db.qualityProfiles().associateWithProject(project2, jsProfile);
-
- assertThat(underTest.selectQProfileUuidsByProjectUuid(dbSession, project1.getUuid()))
- .hasSize(2)
- .containsExactly(javaProfile.getKee(), cProfile.getKee());
-
- assertThat(underTest.selectQProfileUuidsByProjectUuid(dbSession, project2.getUuid()))
- .hasSize(1)
- .containsExactly(jsProfile.getKee());
-
- assertThat(underTest.selectQProfileUuidsByProjectUuid(dbSession, project3.getUuid()))
- .isEmpty();
- }
-
- @Test
public void test_selectQProfilesByProjectUuid() {
ProjectDto project1 = db.components().insertPublicProject().getProjectDto();
ProjectDto project2 = db.components().insertPublicProject().getProjectDto();
@@ -746,27 +723,27 @@ public class QualityProfileDaoIT {
@Test
public void select_selected_projects() {
- ComponentDto project1 = db.components().insertPrivateProject(t -> t.setName("Project1 name")).getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject(t -> t.setName("Project2 name")).getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject(t -> t.setName("Project3 name")).getMainBranchComponent();
+ ProjectDto project1 = db.components().insertPrivateProject(t -> t.setName("Project1 name")).getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject(t -> t.setName("Project2 name")).getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject(t -> t.setName("Project3 name")).getProjectDto();
db.components().insertPrivateProject(t -> t.setName("Project4 name")).getMainBranchComponent();
db.components().insertProjectBranch(project1, t -> t.setKey("branch"));
QProfileDto profile1 = newQualityProfileDto();
db.qualityProfiles().insert(profile1);
- db.qualityProfiles().associateWithProject(db.components().getProjectDtoByMainBranch(project1), profile1);
- db.qualityProfiles().associateWithProject(db.components().getProjectDtoByMainBranch(project2), profile1);
+ db.qualityProfiles().associateWithProject(project1, profile1);
+ db.qualityProfiles().associateWithProject(project2, profile1);
QProfileDto profile2 = newQualityProfileDto();
db.qualityProfiles().insert(profile2);
- db.qualityProfiles().associateWithProject(db.components().getProjectDtoByMainBranch(project3), profile2);
+ db.qualityProfiles().associateWithProject(project3, profile2);
QProfileDto profile3 = newQualityProfileDto();
assertThat(underTest.selectSelectedProjects(dbSession, profile1, null))
.extracting("projectUuid", "projectKey", "projectName", "profileKey")
.containsOnly(
- tuple(project1.uuid(), project1.getKey(), project1.name(), profile1.getKee()),
- tuple(project2.uuid(), project2.getKey(), project2.name(), profile1.getKee()));
+ tuple(project1.getUuid(), project1.getKey(), project1.getName(), profile1.getKee()),
+ tuple(project2.getUuid(), project2.getKey(), project2.getName(), profile1.getKee()));
assertThat(underTest.selectSelectedProjects(dbSession, profile1, "ect1")).hasSize(1);
assertThat(underTest.selectSelectedProjects(dbSession, profile3, null)).isEmpty();
@@ -774,24 +751,24 @@ public class QualityProfileDaoIT {
@Test
public void select_deselected_projects() {
- ComponentDto project1 = db.components().insertPrivateProject(t -> t.setName("Project1 name")).getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject(t -> t.setName("Project2 name")).getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject(t -> t.setName("Project3 name")).getMainBranchComponent();
+ ProjectDto project1 = db.components().insertPrivateProject(t -> t.setName("Project1 name")).getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject(t -> t.setName("Project2 name")).getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject(t -> t.setName("Project3 name")).getProjectDto();
QProfileDto profile1 = newQualityProfileDto();
db.qualityProfiles().insert(profile1);
- db.qualityProfiles().associateWithProject(db.components().getProjectDtoByMainBranch(project1), profile1);
+ db.qualityProfiles().associateWithProject(project1, profile1);
QProfileDto profile2 = newQualityProfileDto();
db.qualityProfiles().insert(profile2);
- db.qualityProfiles().associateWithProject(db.components().getProjectDtoByMainBranch(project2), profile2);
+ db.qualityProfiles().associateWithProject(project2, profile2);
QProfileDto profile3 = newQualityProfileDto();
assertThat(underTest.selectDeselectedProjects(dbSession, profile1, null))
.extracting("projectUuid", "projectKey", "projectName", "profileKey")
.containsExactly(
- tuple(project2.uuid(), project2.getKey(), project2.name(), null),
- tuple(project3.uuid(), project3.getKey(), project3.name(), null));
+ tuple(project2.getUuid(), project2.getKey(), project2.getName(), null),
+ tuple(project3.getUuid(), project3.getKey(), project3.getName(), null));
assertThat(underTest.selectDeselectedProjects(dbSession, profile1, "ect2")).hasSize(1);
assertThat(underTest.selectDeselectedProjects(dbSession, profile3, null)).hasSize(3);
@@ -799,26 +776,26 @@ public class QualityProfileDaoIT {
@Test
public void select_project_associations() {
- ComponentDto project1 = db.components().insertPrivateProject(t -> t.setName("Project1 name")).getMainBranchComponent();
- ComponentDto project2 = db.components().insertPrivateProject(t -> t.setName("Project2 name")).getMainBranchComponent();
- ComponentDto project3 = db.components().insertPrivateProject(t -> t.setName("Project3 name")).getMainBranchComponent();
+ ProjectDto project1 = db.components().insertPrivateProject(t -> t.setName("Project1 name")).getProjectDto();
+ ProjectDto project2 = db.components().insertPrivateProject(t -> t.setName("Project2 name")).getProjectDto();
+ ProjectDto project3 = db.components().insertPrivateProject(t -> t.setName("Project3 name")).getProjectDto();
db.components().insertProjectBranch(project1, t -> t.setKey("branch"));
QProfileDto profile1 = newQualityProfileDto();
db.qualityProfiles().insert(profile1);
- db.qualityProfiles().associateWithProject(db.components().getProjectDtoByMainBranch(project1), profile1);
+ db.qualityProfiles().associateWithProject(project1, profile1);
QProfileDto profile2 = newQualityProfileDto();
db.qualityProfiles().insert(profile2);
- db.qualityProfiles().associateWithProject(db.components().getProjectDtoByMainBranch(project2), profile2);
+ db.qualityProfiles().associateWithProject(project2, profile2);
QProfileDto profile3 = newQualityProfileDto();
assertThat(underTest.selectProjectAssociations(dbSession, profile1, null))
.extracting("projectUuid", "projectKey", "projectName", "profileKey")
.containsOnly(
- tuple(project1.uuid(), project1.getKey(), project1.name(), profile1.getKee()),
- tuple(project2.uuid(), project2.getKey(), project2.name(), null),
- tuple(project3.uuid(), project3.getKey(), project3.name(), null));
+ tuple(project1.getUuid(), project1.getKey(), project1.getName(), profile1.getKee()),
+ tuple(project2.getUuid(), project2.getKey(), project2.getName(), null),
+ tuple(project3.getUuid(), project3.getKey(), project3.getName(), null));
assertThat(underTest.selectProjectAssociations(dbSession, profile1, "ect2")).hasSize(1);
assertThat(underTest.selectProjectAssociations(dbSession, profile3, null)).hasSize(3);
@@ -879,33 +856,33 @@ public class QualityProfileDaoIT {
@Test
public void selectProjectAssociations_shouldFindResult_whenQueryMatchingKey() {
- ComponentDto privateProject = db.components().insertPrivateProject(project -> project.setName("project name"), project -> project.setKey("project_key")).getMainBranchComponent();
+ ProjectDto privateProject = db.components().insertPrivateProject(project -> project.setName("project name"), project -> project.setKey("project_key")).getProjectDto();
QProfileDto qProfileDto = db.qualityProfiles().insert();
List<ProjectQprofileAssociationDto> results = underTest.selectProjectAssociations(dbSession, qProfileDto, "key");
- assertThat(results).extracting(ProjectQprofileAssociationDto::getProjectUuid).containsOnly(privateProject.uuid());
+ assertThat(results).extracting(ProjectQprofileAssociationDto::getProjectUuid).containsOnly(privateProject.getUuid());
}
@Test
public void selectSelectedProjects_shouldFindResult_whenQueryMatchingKey() {
- ComponentDto privateProject = db.components().insertPrivateProject(project -> project.setName("project name"), project -> project.setKey("project_key")).getMainBranchComponent();
+ ProjectDto privateProject = db.components().insertPrivateProject(project -> project.setName("project name"), project -> project.setKey("project_key")).getProjectDto();
QProfileDto qProfileDto = db.qualityProfiles().insert();
- db.qualityProfiles().associateWithProject(db.components().getProjectDtoByMainBranch(privateProject), qProfileDto);
+ db.qualityProfiles().associateWithProject(privateProject, qProfileDto);
List<ProjectQprofileAssociationDto> results = underTest.selectSelectedProjects(dbSession, qProfileDto, "key");
- assertThat(results).extracting(ProjectQprofileAssociationDto::getProjectUuid).containsOnly(privateProject.uuid());
+ assertThat(results).extracting(ProjectQprofileAssociationDto::getProjectUuid).containsOnly(privateProject.getUuid());
}
@Test
public void selectDeselectedProjects_shouldFindResult_whenQueryMatchingKey() {
- ComponentDto privateProject = db.components().insertPrivateProject(project -> project.setName("project name"), project -> project.setKey("project_key")).getMainBranchComponent();
+ ProjectDto privateProject = db.components().insertPrivateProject(project -> project.setName("project name"), project -> project.setKey("project_key")).getProjectDto();
QProfileDto qProfileDto = db.qualityProfiles().insert();
List<ProjectQprofileAssociationDto> results = underTest.selectDeselectedProjects(dbSession, qProfileDto, "key");
- assertThat(results).extracting(ProjectQprofileAssociationDto::getProjectUuid).containsOnly(privateProject.uuid());
+ assertThat(results).extracting(ProjectQprofileAssociationDto::getProjectUuid).containsOnly(privateProject.getUuid());
}
private List<QProfileDto> createSharedData() {
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileExportDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileExportDaoIT.java
index 22fdbeb3a0b..cd24aa77e90 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileExportDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/qualityprofile/QualityProfileExportDaoIT.java
@@ -43,7 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class QualityProfileExportDaoIT {
@Rule
- public DbTester db = DbTester.create(new AlwaysIncreasingSystem2());
+ public DbTester db = DbTester.create(new AlwaysIncreasingSystem2(), true);
private final DbSession dbSession = db.getSession();
private final QualityProfileExportDao underTest = db.getDbClient().qualityProfileExportDao();
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/source/FileSourceDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/source/FileSourceDaoIT.java
index 301fa88a1da..818343ac06a 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/source/FileSourceDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/source/FileSourceDaoIT.java
@@ -50,7 +50,7 @@ import static org.sonar.db.component.ComponentTesting.newFileDto;
public class FileSourceDaoIT {
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
private final DbSession dbSession = dbTester.getSession();
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDao.java
index 3a4b17dc73e..125b4cdd4e7 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDao.java
@@ -77,7 +77,7 @@ public class CeActivityDao implements Dao {
* Ordered by id desc -> newest to oldest
*/
public List<CeActivityDto> selectByQuery(DbSession dbSession, CeTaskQuery query, Pagination pagination) {
- if (query.isShortCircuitedByMainComponentUuids()) {
+ if (query.isShortCircuitedByEntityUuids()) {
return Collections.emptyList();
}
@@ -88,8 +88,8 @@ public class CeActivityDao implements Dao {
return mapper(dbSession).countByQuery(query);
}
- public int countLastByStatusAndMainComponentUuid(DbSession dbSession, CeActivityDto.Status status, @Nullable String mainComponentUuid) {
- return mapper(dbSession).countLastByStatusAndMainComponentUuid(status, mainComponentUuid);
+ public int countLastByStatusAndEntityUuid(DbSession dbSession, CeActivityDto.Status status, @Nullable String entityUuid) {
+ return mapper(dbSession).countLastByStatusAndEntityUuid(status, entityUuid);
}
public Optional<CeActivityDto> selectLastByComponentUuidAndTaskType(DbSession dbSession, String componentUuid, String taskType) {
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDto.java
index 1ae1fde50ed..db44f83e0e7 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityDto.java
@@ -40,20 +40,18 @@ public class CeActivityDto {
private String uuid;
/**
- * Can be {@code null} when task is not associated to any data in table PROJECTS, but must always be non {@code null}
- * at the same time as {@link #mainComponentUuid}.
+ * Can be {@code null} when task is not associated to any data in table COMPONENTS, but must always be non {@code null}
+ * at the same time as {@link #entityUuid}.
* <p>
- * The component uuid of a any component (project or not) is its own UUID.
+ * The component uuid of any component (project or not) is its own UUID.
*/
private String componentUuid;
/**
- * Can be {@code null} when task is not associated to any data in table PROJECTS, but must always be non {@code null}
+ * Can be {@code null} when task is not associated to any component, but must always be non {@code null}
* at the same time as {@link #componentUuid}.
* <p>
- * The main component uuid of the main branch of project is its own UUID. For other branches of a project, it is the
- * project UUID of the main branch of that project
*/
- private String mainComponentUuid;
+ private String entityUuid;
private String analysisUuid;
private Status status;
private String taskType;
@@ -117,9 +115,9 @@ public class CeActivityDto {
this.uuid = queueDto.getUuid();
this.taskType = queueDto.getTaskType();
this.componentUuid = queueDto.getComponentUuid();
- this.mainComponentUuid = queueDto.getMainComponentUuid();
+ this.entityUuid = queueDto.getEntityUuid();
this.isLastKey = format("%s%s", taskType, Strings.nullToEmpty(componentUuid));
- this.mainIsLastKey = format("%s%s", taskType, Strings.nullToEmpty(mainComponentUuid));
+ this.mainIsLastKey = format("%s%s", taskType, Strings.nullToEmpty(entityUuid));
this.submitterUuid = queueDto.getSubmitterUuid();
this.workerUuid = queueDto.getWorkerUuid();
this.submittedAt = queueDto.getCreatedAt();
@@ -157,13 +155,13 @@ public class CeActivityDto {
}
@CheckForNull
- public String getMainComponentUuid() {
- return mainComponentUuid;
+ public String getEntityUuid() {
+ return entityUuid;
}
- public CeActivityDto setMainComponentUuid(@Nullable String s) {
- validateUuid(s, "MAIN_COMPONENT_UUID");
- this.mainComponentUuid = s;
+ public CeActivityDto setEntityUuid(@Nullable String s) {
+ validateUuid(s, "ENTITY_UUID");
+ this.entityUuid = s;
return this;
}
@@ -351,7 +349,7 @@ public class CeActivityDto {
"uuid='" + uuid + '\'' +
", nodeName='" + nodeName + '\'' +
", componentUuid='" + componentUuid + '\'' +
- ", mainComponentUuid='" + mainComponentUuid + '\'' +
+ ", entityUuid='" + entityUuid + '\'' +
", analysisUuid='" + analysisUuid + '\'' +
", status=" + status +
", taskType='" + taskType + '\'' +
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityMapper.java
index 3a651818e21..ec9580714bd 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeActivityMapper.java
@@ -38,7 +38,7 @@ public interface CeActivityMapper {
int countByQuery(@Param("query") CeTaskQuery query);
- int countLastByStatusAndMainComponentUuid(@Param("status") CeActivityDto.Status status, @Nullable @Param("mainComponentUuid") String mainComponentUuid);
+ int countLastByStatusAndEntityUuid(@Param("status") CeActivityDto.Status status, @Nullable @Param("entityUuid") String entityUuid);
void insert(CeActivityDto dto);
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java
index 77cf830d594..e736b5b0b2f 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java
@@ -59,7 +59,7 @@ public class CeQueueDao implements Dao {
}
public List<CeQueueDto> selectByQueryInDescOrder(DbSession dbSession, CeTaskQuery query, int page, int pageSize) {
- if (query.isShortCircuitedByMainComponentUuids()
+ if (query.isShortCircuitedByEntityUuids()
|| query.isOnlyCurrents()
|| query.getMaxExecutedAt() != null) {
return emptyList();
@@ -72,7 +72,7 @@ public class CeQueueDao implements Dao {
}
public int countByQuery(DbSession dbSession, CeTaskQuery query) {
- if (query.isShortCircuitedByMainComponentUuids()
+ if (query.isShortCircuitedByEntityUuids()
|| query.isOnlyCurrents()
|| query.getMaxExecutedAt() != null) {
return 0;
@@ -84,8 +84,8 @@ public class CeQueueDao implements Dao {
/**
* Ordered by ascending id: oldest to newest
*/
- public List<CeQueueDto> selectByMainComponentUuid(DbSession session, String projectUuid) {
- return mapper(session).selectByMainComponentUuid(projectUuid);
+ public List<CeQueueDto> selectByEntityUuid(DbSession session, String projectUuid) {
+ return mapper(session).selectByEntityUuid(projectUuid);
}
public Optional<CeQueueDto> selectByUuid(DbSession session, String uuid) {
@@ -142,23 +142,23 @@ public class CeQueueDao implements Dao {
}
public int countByStatus(DbSession dbSession, CeQueueDto.Status status) {
- return mapper(dbSession).countByStatusAndMainComponentUuid(status, null);
+ return mapper(dbSession).countByStatusAndEntityUuid(status, null);
}
- public int countByStatusAndMainComponentUuid(DbSession dbSession, CeQueueDto.Status status, @Nullable String mainComponentUuid) {
- return mapper(dbSession).countByStatusAndMainComponentUuid(status, mainComponentUuid);
+ public int countByStatusAndEntityUuid(DbSession dbSession, CeQueueDto.Status status, @Nullable String entityUuid) {
+ return mapper(dbSession).countByStatusAndEntityUuid(status, entityUuid);
}
- public Optional<Long> selectCreationDateOfOldestPendingByMainComponentUuid(DbSession dbSession, @Nullable String mainComponentUuid) {
- return Optional.ofNullable(mapper(dbSession).selectCreationDateOfOldestPendingByMainComponentUuid(mainComponentUuid));
+ public Optional<Long> selectCreationDateOfOldestPendingByEntityUuid(DbSession dbSession, @Nullable String entityUuid) {
+ return Optional.ofNullable(mapper(dbSession).selectCreationDateOfOldestPendingByEntityUuid(entityUuid));
}
/**
- * Counts entries in the queue with the specified status for each specified main component uuid.
- * The returned map doesn't contain any entry for main component uuids for which there is no entry in the queue (ie.
+ * Counts entries in the queue with the specified status for each specified entity uuid.
+ * The returned map doesn't contain any entry for entity uuids for which there is no entry in the queue (ie.
* all entries have a value >= 0).
*/
- public Map<String, Integer> countByStatusAndMainComponentUuids(DbSession dbSession, CeQueueDto.Status status, Set<String> projectUuids) {
+ public Map<String, Integer> countByStatusAndEntityUuids(DbSession dbSession, CeQueueDto.Status status, Set<String> projectUuids) {
if (projectUuids.isEmpty()) {
return emptyMap();
}
@@ -167,8 +167,8 @@ public class CeQueueDao implements Dao {
executeLargeUpdates(
projectUuids,
partitionOfProjectUuids -> {
- List<QueueCount> i = mapper(dbSession).countByStatusAndMainComponentUuids(status, partitionOfProjectUuids);
- i.forEach(o -> builder.put(o.getMainComponentUuid(), o.getTotal()));
+ List<QueueCount> i = mapper(dbSession).countByStatusAndEntityUuids(status, partitionOfProjectUuids);
+ i.forEach(o -> builder.put(o.getEntityUuid(), o.getTotal()));
});
return builder.build();
}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDto.java
index 266a8f9326f..5560e6ba391 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDto.java
@@ -33,20 +33,18 @@ public class CeQueueDto {
private String uuid;
private String taskType;
/**
- * Can be {@code null} when task is not associated to any data in table PROJECTS, but must always be non {@code null}
- * at the same time as {@link #mainComponentUuid}.
+ * Can be {@code null} when task is not associated to any data in the components table, but must always be non {@code null}
+ * at the same time as {@link #entityUuid}.
* <p>
- * The component uuid of a any component (project or not) is its own UUID.
+ * The component uuid of any component is its own UUID.
*/
private String componentUuid;
/**
- * Can be {@code null} when task is not associated to any data in table PROJECTS, but must always be non {@code null}
+ * Can be {@code null} when task is not associated to any entity, but must always be non {@code null}
* at the same time as {@link #componentUuid}.
* <p>
- * The main component uuid of the main branch of project is its own UUID. For other branches of a project, it is the
- * project UUID of the main branch of that project
*/
- private String mainComponentUuid;
+ private String entityUuid;
private Status status;
private String submitterUuid;
/**
@@ -79,13 +77,13 @@ public class CeQueueDto {
}
@CheckForNull
- public String getMainComponentUuid() {
- return mainComponentUuid;
+ public String getEntityUuid() {
+ return entityUuid;
}
- public CeQueueDto setMainComponentUuid(@Nullable String s) {
- checkUuid(s, "MAIN_COMPONENT_UUID");
- this.mainComponentUuid = s;
+ public CeQueueDto setEntityUuid(@Nullable String s) {
+ checkUuid(s, "ENTITY_UUID");
+ this.entityUuid = s;
return this;
}
@@ -166,7 +164,7 @@ public class CeQueueDto {
"uuid='" + uuid + '\'' +
", taskType='" + taskType + '\'' +
", componentUuid='" + componentUuid + '\'' +
- ", mainComponentUuid='" + mainComponentUuid + '\'' +
+ ", entityUuid='" + entityUuid + '\'' +
", status=" + status +
", submitterLogin='" + submitterUuid + '\'' +
", workerUuid='" + workerUuid + '\'' +
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java
index 4b991dfcbdb..ef578cfc5f2 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java
@@ -29,7 +29,7 @@ import org.sonar.db.Pagination;
public interface CeQueueMapper {
- List<CeQueueDto> selectByMainComponentUuid(@Param("mainComponentUuid") String mainComponentUuid);
+ List<CeQueueDto> selectByEntityUuid(@Param("entityUuid") String entityUuid);
List<CeQueueDto> selectAllInAscOrder();
@@ -71,12 +71,12 @@ public interface CeQueueMapper {
*/
void resetAllInProgressTasks(@Param("updatedAt") long updatedAt);
- int countByStatusAndMainComponentUuid(@Param("status") CeQueueDto.Status status, @Nullable @Param("mainComponentUuid") String mainComponentUuid);
+ int countByStatusAndEntityUuid(@Param("status") CeQueueDto.Status status, @Nullable @Param("entityUuid") String entityUuid);
@CheckForNull
- Long selectCreationDateOfOldestPendingByMainComponentUuid(@Nullable @Param("mainComponentUuid") String mainComponentUuid);
+ Long selectCreationDateOfOldestPendingByEntityUuid(@Nullable @Param("entityUuid") String entityUuid);
- List<QueueCount> countByStatusAndMainComponentUuids(@Param("status") CeQueueDto.Status status, @Param("mainComponentUuids") List<String> mainComponentUuids);
+ List<QueueCount> countByStatusAndEntityUuids(@Param("status") CeQueueDto.Status status, @Param("entityUuids") List<String> entityUuids);
void insert(CeQueueDto dto);
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskQuery.java
index f8d7bd5e5fa..eae17ef1c3a 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskQuery.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskQuery.java
@@ -37,7 +37,7 @@ public class CeTaskQuery {
private boolean onlyCurrents = false;
// SONAR-7681 a public implementation of List must be used in MyBatis - potential concurrency exceptions otherwise
@Nullable
- private ArrayList<String> mainComponentUuids;
+ private ArrayList<String> entityUuids;
@Nullable
private ArrayList<String> statuses;
@Nullable
@@ -52,24 +52,24 @@ public class CeTaskQuery {
private ArrayList<String> errorTypes;
@CheckForNull
- public List<String> getMainComponentUuids() {
- return mainComponentUuids;
+ public List<String> getEntityUuids() {
+ return entityUuids;
}
- public CeTaskQuery setMainComponentUuids(@Nullable List<String> l) {
- this.mainComponentUuids = l == null ? null : newArrayList(l);
+ public CeTaskQuery setEntityUuids(@Nullable List<String> l) {
+ this.entityUuids = l == null ? null : newArrayList(l);
return this;
}
- public boolean isShortCircuitedByMainComponentUuids() {
- return mainComponentUuids != null && (mainComponentUuids.isEmpty() || mainComponentUuids.size() > MAX_COMPONENT_UUIDS);
+ public boolean isShortCircuitedByEntityUuids() {
+ return entityUuids != null && (entityUuids.isEmpty() || entityUuids.size() > MAX_COMPONENT_UUIDS);
}
- public CeTaskQuery setMainComponentUuid(@Nullable String s) {
+ public CeTaskQuery setEntityUuid(@Nullable String s) {
if (s == null) {
- this.mainComponentUuids = null;
+ this.entityUuids = null;
} else {
- this.mainComponentUuids = newArrayList(s);
+ this.entityUuids = newArrayList(s);
}
return this;
}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/PrOrBranchTask.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/PrOrBranchTask.java
index c9ba9566875..75eb778fc91 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/PrOrBranchTask.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/PrOrBranchTask.java
@@ -20,13 +20,13 @@
package org.sonar.db.ce;
public class PrOrBranchTask extends CeTaskDtoLight {
- private String mainComponentUuid;
+ private String entityUuid;
private String taskType;
private String branchType;
private String componentUuid;
- public String getMainComponentUuid() {
- return mainComponentUuid;
+ public String getEntityUuid() {
+ return entityUuid;
}
public String getBranchType() {
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/QueueCount.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/QueueCount.java
index 2d02ab6406a..e2400753d20 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/QueueCount.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/QueueCount.java
@@ -21,11 +21,11 @@ package org.sonar.db.ce;
public class QueueCount {
// set by reflection by MyBatis
- private String mainComponentUuid;
+ private String entityUuid;
private int total;
- public String getMainComponentUuid() {
- return mainComponentUuid;
+ public String getEntityUuid() {
+ return entityUuid;
}
public int getTotal() {
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureDao.java
index 9dcfb0e72de..98252f9af48 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureDao.java
@@ -52,8 +52,8 @@ public class LiveMeasureDao implements Dao {
componentUuids -> mapper(dbSession).selectByComponentUuidsAndMetricUuids(componentUuids, metricUuids));
}
- public List<LiveMeasureDto> selectForProjectsByMetricUuids(DbSession dbSession, Collection<String> metricUuids) {
- return mapper(dbSession).selectForProjectsByMetricUuids(metricUuids);
+ public List<ProjectMainBranchLiveMeasureDto> selectForProjectMainBranchesByMetricUuids(DbSession dbSession, Collection<String> metricUuids) {
+ return mapper(dbSession).selectForProjectMainBranchesByMetricUuids(metricUuids);
}
public void scrollSelectByComponentUuidAndMetricKeys(DbSession dbSession, String componentUuid, Collection<String> metricKeys, ResultHandler<LiveMeasureDto> handler) {
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureMapper.java
index 9b84c0c3cee..be9d8f528b4 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/LiveMeasureMapper.java
@@ -31,7 +31,7 @@ public interface LiveMeasureMapper {
@Param("componentUuids") Collection<String> componentUuids,
@Param("metricUuids") Collection<String> metricUuids);
- List<LiveMeasureDto> selectForProjectsByMetricUuids(
+ List<ProjectMainBranchLiveMeasureDto> selectForProjectMainBranchesByMetricUuids(
@Param("metricUuids") Collection<String> metricUuids);
List<LiveMeasureDto> selectByComponentUuidsAndMetricKeys(
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMainBranchLiveMeasureDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMainBranchLiveMeasureDto.java
new file mode 100644
index 00000000000..17bb8ce5899
--- /dev/null
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMainBranchLiveMeasureDto.java
@@ -0,0 +1,49 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2023 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.db.measure;
+
+import javax.annotation.Nullable;
+
+public class ProjectMainBranchLiveMeasureDto {
+ private String projectUuid;
+ private String metricUuid;
+ @Nullable
+ private Double value;
+ @Nullable
+ private String textValue;
+
+ public String getProjectUuid() {
+ return projectUuid;
+ }
+
+ @Nullable
+ public Double getValue() {
+ return value;
+ }
+
+ @Nullable
+ public String getTextValue() {
+ return textValue;
+ }
+
+ public String getMetricUuid() {
+ return metricUuid;
+ }
+}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileDao.java
index fd81f85e809..b3fd50293b5 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileDao.java
@@ -164,16 +164,8 @@ public class QualityProfileDao implements Dao {
return mapper(dbSession).selectAssociatedToProjectUuidAndLanguage(project.getUuid(), language);
}
- public List<QProfileDto> selectAssociatedToProjectUuidAndLanguages(DbSession dbSession, String projectUuid, Collection<String> languages) {
- return executeLargeInputs(languages, partition -> mapper(dbSession).selectAssociatedToProjectUuidAndLanguages(projectUuid, partition));
- }
-
public List<QProfileDto> selectAssociatedToProjectAndLanguages(DbSession dbSession, ProjectDto project, Collection<String> languages) {
- return selectAssociatedToProjectUuidAndLanguages(dbSession, project.getUuid(), languages);
- }
-
- public List<String> selectQProfileUuidsByProjectUuid(DbSession dbSession, String projectUuid) {
- return mapper(dbSession).selectQProfileUuidsByProjectUuid(projectUuid);
+ return executeLargeInputs(languages, partition -> mapper(dbSession).selectAssociatedToProjectUuidAndLanguages(project.getUuid(), partition));
}
public List<QProfileDto> selectQProfilesByProjectUuid(DbSession dbSession, String projectUuid) {
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileMapper.java
index 3f764cf9aee..13a3e690a18 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileMapper.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileMapper.java
@@ -94,8 +94,6 @@ public interface QualityProfileMapper {
@Param("projectUuid") String projectUuid,
@Param("languages") Collection<String> languages);
- List<String> selectQProfileUuidsByProjectUuid(@Param("projectUuid") String projectUuid);
-
List<QProfileDto> selectQProfilesByProjectUuid(@Param("projectUuid") String projectUuid);
void insertProjectProfileAssociation(
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml
index 07a3d8e4411..b7761f31771 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeActivityMapper.xml
@@ -20,7 +20,7 @@
ca.node_name as nodeName,
ca.task_type as taskType,
ca.component_uuid as componentUuid,
- ca.main_component_uuid as mainComponentUuid,
+ ca.entity_uuid as entityUuid,
ca.analysis_uuid as analysisUuid,
ca.status as status,
ca.submitter_uuid as submitterUuid,
@@ -102,9 +102,9 @@
<if test="query.onlyCurrents">
and ca.main_is_last=${_true}
</if>
- <if test="query.mainComponentUuids != null and query.mainComponentUuids.size()>0">
- and ca.main_component_uuid in
- <foreach collection="query.mainComponentUuids" open="(" close=")" item="cUuid" separator=",">
+ <if test="query.entityUuids != null and query.entityUuids.size()>0">
+ and ca.entity_uuid in
+ <foreach collection="query.entityUuids" open="(" close=")" item="cUuid" separator=",">
#{cUuid,jdbcType=VARCHAR}
</foreach>
</if>
@@ -151,7 +151,7 @@
ca.created_at &gt; #{afterDate,jdbcType=BIGINT}
</select>
- <select id="countLastByStatusAndMainComponentUuid" resultType="int">
+ <select id="countLastByStatusAndEntityUuid" resultType="int">
select
count(1)
from
@@ -159,8 +159,8 @@
where
main_is_last=${_true}
and status=#{status,jdbcType=VARCHAR}
- <if test="mainComponentUuid!=null">
- and main_component_uuid=#{mainComponentUuid,jdbcType=VARCHAR}
+ <if test="entityUuid!=null">
+ and entity_uuid=#{entityUuid,jdbcType=VARCHAR}
</if>
</select>
@@ -169,7 +169,7 @@
uuid,
node_name,
component_uuid,
- main_component_uuid,
+ entity_uuid,
analysis_uuid,
status,
task_type,
@@ -194,7 +194,7 @@
#{uuid,jdbcType=VARCHAR},
#{nodeName,jdbcType=VARCHAR},
#{componentUuid,jdbcType=VARCHAR},
- #{mainComponentUuid,jdbcType=VARCHAR},
+ #{entityUuid,jdbcType=VARCHAR},
#{analysisUuid,jdbcType=VARCHAR},
#{status,jdbcType=VARCHAR},
#{taskType,jdbcType=VARCHAR},
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml
index 550aa6789b4..613d709686b 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml
@@ -7,7 +7,7 @@
cq.uuid,
cq.task_type as taskType,
cq.component_uuid as componentUuid,
- cq.main_component_uuid as mainComponentUuid,
+ cq.entity_uuid as entityUuid,
cq.status as status,
cq.submitter_uuid as submitterUuid,
cq.worker_uuid as workerUuid,
@@ -37,43 +37,43 @@
cq.uuid=#{uuid,jdbcType=VARCHAR}
</select>
- <select id="countByStatusAndMainComponentUuid" parameterType="map" resultType="int">
+ <select id="countByStatusAndEntityUuid" parameterType="map" resultType="int">
select
count(1)
from
ce_queue
where
status=#{status,jdbcType=VARCHAR}
- <if test="mainComponentUuid!=null">
- and main_component_uuid=#{mainComponentUuid,jdbcType=VARCHAR}
+ <if test="entityUuid!=null">
+ and entity_uuid=#{entityUuid,jdbcType=VARCHAR}
</if>
</select>
- <select id="selectCreationDateOfOldestPendingByMainComponentUuid" parameterType="map" resultType="Long">
+ <select id="selectCreationDateOfOldestPendingByEntityUuid" parameterType="map" resultType="Long">
select
min(created_at)
from
ce_queue
where
status='PENDING'
- <if test="mainComponentUuid!=null">
- and main_component_uuid=#{mainComponentUuid,jdbcType=VARCHAR}
+ <if test="entityUuid!=null">
+ and entity_uuid=#{entityUuid,jdbcType=VARCHAR}
</if>
</select>
- <select id="countByStatusAndMainComponentUuids" resultType="org.sonar.db.ce.QueueCount">
+ <select id="countByStatusAndEntityUuids" resultType="org.sonar.db.ce.QueueCount">
select
- main_component_uuid as mainComponentUuid,
+ entity_uuid as entityUuid,
count(1) as total
from
ce_queue
where
status=#{status,jdbcType=VARCHAR}
- and main_component_uuid in
- <foreach collection="mainComponentUuids" open="(" close=")" item="mainComponentUuid" separator=",">
- #{mainComponentUuid,jdbcType=VARCHAR}
+ and entity_uuid in
+ <foreach collection="entityUuids" open="(" close=")" item="entityUuid" separator=",">
+ #{entityUuid,jdbcType=VARCHAR}
</foreach>
- group by main_component_uuid
+ group by entity_uuid
</select>
<select id="countAll" resultType="int">
@@ -83,13 +83,13 @@
ce_queue
</select>
- <select id="selectByMainComponentUuid" parameterType="String" resultType="org.sonar.db.ce.CeQueueDto">
+ <select id="selectByEntityUuid" parameterType="String" resultType="org.sonar.db.ce.CeQueueDto">
select
<include refid="columns"/>
from
ce_queue cq
where
- cq.main_component_uuid=#{mainComponentUuid,jdbcType=VARCHAR}
+ cq.entity_uuid=#{entityUuid,jdbcType=VARCHAR}
<include refid="orderByDateAndUuid"/>
</select>
@@ -118,10 +118,10 @@
from
ce_queue cq
<where>
- <if test="query.mainComponentUuids != null and query.mainComponentUuids.size()>0">
- and cq.main_component_uuid in
- <foreach collection="query.mainComponentUuids" open="(" close=")" item="mainComponentUuid" separator=",">
- #{mainComponentUuid,jdbcType=VARCHAR}
+ <if test="query.entityUuids != null and query.entityUuids.size()>0">
+ and cq.entity_uuid in
+ <foreach collection="query.entityUuids" open="(" close=")" item="entityUuid" separator=",">
+ #{entityUuid,jdbcType=VARCHAR}
</foreach>
</if>
<if test="query.statuses != null">
@@ -180,9 +180,9 @@
from
ce_queue cq
<if test="excludeViewRefresh">
- left join components c on c.uuid = cq.main_component_uuid and c.qualifier &lt;&gt; 'VW'
+ left join components c on c.uuid = cq.entity_uuid and c.qualifier &lt;&gt; 'VW'
</if>
- left join ce_queue cq2 on cq.main_component_uuid=cq2.main_component_uuid and cq2.status &lt;&gt;'PENDING'
+ left join ce_queue cq2 on cq.entity_uuid=cq2.entity_uuid and cq2.status &lt;&gt;'PENDING'
where
cq.status='PENDING'
and cq.started_at is null
@@ -234,7 +234,7 @@
uuid,
task_type,
component_uuid,
- main_component_uuid,
+ entity_uuid,
status,
submitter_uuid,
worker_uuid,
@@ -247,7 +247,7 @@
#{uuid,jdbcType=VARCHAR},
#{taskType,jdbcType=VARCHAR},
#{componentUuid,jdbcType=VARCHAR},
- #{mainComponentUuid,jdbcType=VARCHAR},
+ #{entityUuid,jdbcType=VARCHAR},
#{status,jdbcType=VARCHAR},
#{submitterUuid,jdbcType=VARCHAR},
#{workerUuid,jdbcType=VARCHAR},
@@ -356,7 +356,7 @@
<sql id="oldestPendingPrOrBranch">
cq.uuid as ceTaskUuid,
- cq.main_component_uuid as mainComponentUuid,
+ cq.entity_uuid as entityUuid,
cq.component_uuid as componentUuid,
cq.created_at as createdAt,
cq.task_type as taskType,
@@ -374,7 +374,7 @@
<select id="selectInProgressWithCharacteristics" resultType="org.sonar.db.ce.PrOrBranchTask">
select
cq.uuid as ceTaskUuid,
- cq.main_component_uuid as mainComponentUuid,
+ cq.entity_uuid as entityUuid,
cq.created_at as createdAt,
coalesce(ctc.kee, 'branch') as branchType,
cq.task_type as taskType,
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/measure/LiveMeasureMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/measure/LiveMeasureMapper.xml
index 7a775ff681e..c02a554e319 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/measure/LiveMeasureMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/measure/LiveMeasureMapper.xml
@@ -23,15 +23,15 @@
</foreach>
</select>
- <select id="selectForProjectsByMetricUuids" parameterType="map" resultType="org.sonar.db.measure.LiveMeasureDto">
- select <include refid="columns"/> from live_measures lm
+ <select id="selectForProjectMainBranchesByMetricUuids" parameterType="map" resultType="org.sonar.db.measure.ProjectMainBranchLiveMeasureDto">
+ select p.uuid as projectUuid, lm.metric_uuid as metricUuid, lm.value as value, lm.text_value as textValue
+ from live_measures lm
+ inner join project_branches pb on pb.uuid = lm.component_uuid
+ inner join projects p on p.uuid = pb.project_uuid
where
lm.metric_uuid in <foreach item="metricUuid" collection="metricUuids" open="(" separator=","
close=")">#{metricUuid, jdbcType=VARCHAR}</foreach>
- and component_uuid in (SELECT
- p.uuid as uuid
- FROM projects p
- where p.qualifier = 'TRK')
+ and p.qualifier = 'TRK'
</select>
<select id="selectByComponentUuidsAndMetricKeys" parameterType="map" resultType="org.sonar.db.measure.LiveMeasureDto">
@@ -124,7 +124,9 @@
select count(1)
from live_measures lm
inner join metrics m on m.uuid = lm.metric_uuid AND m.name = #{metric, jdbcType=VARCHAR}
- inner join projects p on p.uuid = lm.project_uuid and p.qualifier = 'TRK'
+ inner join project_branches pb on pb.uuid = lm.project_uuid
+ inner join projects p on p.uuid = pb.project_uuid and p.qualifier = 'TRK'
+
</select>
<insert id="insert" parameterType="map" useGeneratedKeys="false">
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
index 4185dc33127..7e1abf38c5a 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/purge/PurgeMapper.xml
@@ -481,7 +481,7 @@
created_at &lt; #{createdAtBefore,jdbcType=BIGINT}
and (
component_uuid=#{rootUuid,jdbcType=VARCHAR}
- or main_component_uuid=#{rootUuid,jdbcType=VARCHAR}
+ or entity_uuid=#{rootUuid,jdbcType=VARCHAR}
)
</when>
<when test="createdAtBefore != null">
@@ -489,7 +489,7 @@
</when>
<when test="rootUuid != null">
component_uuid=#{rootUuid,jdbcType=VARCHAR}
- or main_component_uuid=#{rootUuid,jdbcType=VARCHAR}
+ or entity_uuid=#{rootUuid,jdbcType=VARCHAR}
</when>
<!-- safety net when both variables are null to never generate a
delete statement deleting the whole table -->
@@ -508,7 +508,7 @@
from ce_queue
where
component_uuid=#{rootUuid,jdbcType=VARCHAR}
- or main_component_uuid=#{rootUuid,jdbcType=VARCHAR}
+ or entity_uuid=#{rootUuid,jdbcType=VARCHAR}
)
</delete>
@@ -521,7 +521,7 @@
from ce_queue
where
component_uuid=#{rootUuid,jdbcType=VARCHAR}
- or main_component_uuid=#{rootUuid,jdbcType=VARCHAR}
+ or entity_uuid=#{rootUuid,jdbcType=VARCHAR}
)
</delete>
@@ -534,7 +534,7 @@
from ce_queue
where
component_uuid=#{rootUuid,jdbcType=VARCHAR}
- or main_component_uuid=#{rootUuid,jdbcType=VARCHAR}
+ or entity_uuid=#{rootUuid,jdbcType=VARCHAR}
)
</delete>
@@ -547,7 +547,7 @@
from ce_queue
where
component_uuid=#{rootUuid,jdbcType=VARCHAR}
- or main_component_uuid=#{rootUuid,jdbcType=VARCHAR}
+ or entity_uuid=#{rootUuid,jdbcType=VARCHAR}
)
</delete>
@@ -555,7 +555,7 @@
delete from ce_queue
where
component_uuid=#{rootUuid,jdbcType=VARCHAR}
- or main_component_uuid=#{rootUuid,jdbcType=VARCHAR}
+ or entity_uuid=#{rootUuid,jdbcType=VARCHAR}
</delete>
<delete id="deleteNewCodePeriodsByRootUuid">
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QualityProfileMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QualityProfileMapper.xml
index a04ee1524d8..e68c9261ef4 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QualityProfileMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QualityProfileMapper.xml
@@ -289,14 +289,6 @@
and pqp.project_uuid = #{projectUuid, jdbcType=VARCHAR}
</select>
- <select id="selectQProfileUuidsByProjectUuid" parameterType="String" resultType="String">
- SELECT profile_key
- FROM project_qprofiles
- <where>
- AND project_uuid=#{projectUuid}
- </where>
- </select>
-
<select id="selectQProfilesByProjectUuid" parameterType="String" resultType="org.sonar.db.qualityprofile.QProfileDto">
select
<include refid="qProfileColumns"/>
diff --git a/server/sonar-db-dao/src/schema/schema-sq.ddl b/server/sonar-db-dao/src/schema/schema-sq.ddl
index bc0e9947b30..6984619c212 100644
--- a/server/sonar-db-dao/src/schema/schema-sq.ddl
+++ b/server/sonar-db-dao/src/schema/schema-sq.ddl
@@ -117,7 +117,7 @@ CREATE INDEX "AUDITS_CREATED_AT" ON "AUDITS"("CREATED_AT" NULLS FIRST);
CREATE TABLE "CE_ACTIVITY"(
"UUID" CHARACTER VARYING(40) NOT NULL,
"TASK_TYPE" CHARACTER VARYING(40) NOT NULL,
- "MAIN_COMPONENT_UUID" CHARACTER VARYING(40),
+ "ENTITY_UUID" CHARACTER VARYING(40),
"COMPONENT_UUID" CHARACTER VARYING(40),
"STATUS" CHARACTER VARYING(15) NOT NULL,
"MAIN_IS_LAST" BOOLEAN NOT NULL,
@@ -143,14 +143,14 @@ ALTER TABLE "CE_ACTIVITY" ADD CONSTRAINT "PK_CE_ACTIVITY" PRIMARY KEY("UUID");
CREATE INDEX "CE_ACTIVITY_COMPONENT" ON "CE_ACTIVITY"("COMPONENT_UUID" NULLS FIRST);
CREATE INDEX "CE_ACTIVITY_ISLAST" ON "CE_ACTIVITY"("IS_LAST" NULLS FIRST, "STATUS" NULLS FIRST);
CREATE INDEX "CE_ACTIVITY_ISLAST_KEY" ON "CE_ACTIVITY"("IS_LAST_KEY" NULLS FIRST);
-CREATE INDEX "CE_ACTIVITY_MAIN_COMPONENT" ON "CE_ACTIVITY"("MAIN_COMPONENT_UUID" NULLS FIRST);
+CREATE INDEX "CE_ACTIVITY_MAIN_COMPONENT" ON "CE_ACTIVITY"("ENTITY_UUID" NULLS FIRST);
CREATE INDEX "CE_ACTIVITY_MAIN_ISLAST" ON "CE_ACTIVITY"("MAIN_IS_LAST" NULLS FIRST, "STATUS" NULLS FIRST);
CREATE INDEX "CE_ACTIVITY_MAIN_ISLAST_KEY" ON "CE_ACTIVITY"("MAIN_IS_LAST_KEY" NULLS FIRST);
CREATE TABLE "CE_QUEUE"(
"UUID" CHARACTER VARYING(40) NOT NULL,
"TASK_TYPE" CHARACTER VARYING(40) NOT NULL,
- "MAIN_COMPONENT_UUID" CHARACTER VARYING(40),
+ "ENTITY_UUID" CHARACTER VARYING(40),
"COMPONENT_UUID" CHARACTER VARYING(40),
"STATUS" CHARACTER VARYING(15),
"SUBMITTER_UUID" CHARACTER VARYING(255),
@@ -161,7 +161,7 @@ CREATE TABLE "CE_QUEUE"(
"UPDATED_AT" BIGINT NOT NULL
);
ALTER TABLE "CE_QUEUE" ADD CONSTRAINT "PK_CE_QUEUE" PRIMARY KEY("UUID");
-CREATE INDEX "CE_QUEUE_MAIN_COMPONENT" ON "CE_QUEUE"("MAIN_COMPONENT_UUID" NULLS FIRST);
+CREATE INDEX "CE_QUEUE_MAIN_COMPONENT" ON "CE_QUEUE"("ENTITY_UUID" NULLS FIRST);
CREATE INDEX "CE_QUEUE_COMPONENT" ON "CE_QUEUE"("COMPONENT_UUID" NULLS FIRST);
CREATE TABLE "CE_SCANNER_CONTEXT"(
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeActivityDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeActivityDtoTest.java
index 702551ef98e..b7790e5d295 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeActivityDtoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeActivityDtoTest.java
@@ -44,7 +44,7 @@ public class CeActivityDtoTest {
.setUuid(randomAlphanumeric(10))
.setTaskType(randomAlphanumeric(11))
.setComponentUuid(randomAlphanumeric(12))
- .setMainComponentUuid(randomAlphanumeric(13))
+ .setEntityUuid(randomAlphanumeric(13))
.setSubmitterUuid(randomAlphanumeric(14))
.setWorkerUuid(randomAlphanumeric(15))
.setCreatedAt(now + 9_999)
@@ -55,10 +55,10 @@ public class CeActivityDtoTest {
assertThat(underTest.getUuid()).isEqualTo(ceQueueDto.getUuid());
assertThat(underTest.getTaskType()).isEqualTo(ceQueueDto.getTaskType());
assertThat(underTest.getComponentUuid()).isEqualTo(ceQueueDto.getComponentUuid());
- assertThat(underTest.getMainComponentUuid()).isEqualTo(ceQueueDto.getMainComponentUuid());
+ assertThat(underTest.getEntityUuid()).isEqualTo(ceQueueDto.getEntityUuid());
assertThat(underTest.getIsLastKey()).isEqualTo(ceQueueDto.getTaskType() + ceQueueDto.getComponentUuid());
assertThat(underTest.getIsLast()).isFalse();
- assertThat(underTest.getMainIsLastKey()).isEqualTo(ceQueueDto.getTaskType() + ceQueueDto.getMainComponentUuid());
+ assertThat(underTest.getMainIsLastKey()).isEqualTo(ceQueueDto.getTaskType() + ceQueueDto.getEntityUuid());
assertThat(underTest.getMainIsLast()).isFalse();
assertThat(underTest.getSubmitterUuid()).isEqualTo(ceQueueDto.getSubmitterUuid());
assertThat(underTest.getWorkerUuid()).isEqualTo(ceQueueDto.getWorkerUuid());
@@ -86,19 +86,19 @@ public class CeActivityDtoTest {
@Test
public void setMainComponentUuid_accepts_null_empty_and_string_40_chars_or_less() {
- underTest.setMainComponentUuid(null);
- underTest.setMainComponentUuid("");
- underTest.setMainComponentUuid("bar");
- underTest.setMainComponentUuid(STR_40_CHARS);
+ underTest.setEntityUuid(null);
+ underTest.setEntityUuid("");
+ underTest.setEntityUuid("bar");
+ underTest.setEntityUuid(STR_40_CHARS);
}
@Test
- public void setMainComponentUuid_throws_IAE_if_value_is_41_chars() {
+ public void seEntityUuid_throws_IAE_if_value_is_41_chars() {
String str_41_chars = STR_40_CHARS + "a";
- assertThatThrownBy(() -> underTest.setMainComponentUuid(str_41_chars))
+ assertThatThrownBy(() -> underTest.setEntityUuid(str_41_chars))
.isInstanceOf(IllegalArgumentException.class)
- .hasMessage("Value is too long for column CE_ACTIVITY.MAIN_COMPONENT_UUID: " + str_41_chars);
+ .hasMessage("Value is too long for column CE_ACTIVITY.ENTITY_UUID: " + str_41_chars);
}
@Test
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDtoTest.java
index 3bdb4f1183e..a6f9797922e 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDtoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeQueueDtoTest.java
@@ -48,20 +48,20 @@ public class CeQueueDtoTest {
}
@Test
- public void setMainComponentUuid_accepts_null_empty_and_string_40_chars_or_less() {
- underTest.setMainComponentUuid(null);
- underTest.setMainComponentUuid("");
- underTest.setMainComponentUuid("bar");
- underTest.setMainComponentUuid(STR_40_CHARS);
+ public void setEntityUuid_accepts_null_empty_and_string_40_chars_or_less() {
+ underTest.setEntityUuid(null);
+ underTest.setEntityUuid("");
+ underTest.setEntityUuid("bar");
+ underTest.setEntityUuid(STR_40_CHARS);
}
@Test
- public void setMainComponentUuid_throws_IAE_if_value_is_41_chars() {
+ public void setEntityUuid_throws_IAE_if_value_is_41_chars() {
String str_41_chars = STR_40_CHARS + "a";
- assertThatThrownBy(() -> underTest.setMainComponentUuid(str_41_chars))
+ assertThatThrownBy(() -> underTest.setEntityUuid(str_41_chars))
.isInstanceOf(IllegalArgumentException.class)
- .hasMessage("Value is too long for column CE_QUEUE.MAIN_COMPONENT_UUID: " + str_41_chars);
+ .hasMessage("Value is too long for column CE_QUEUE.ENTITY_UUID: " + str_41_chars);
}
@Test
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeTaskQueryTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeTaskQueryTest.java
index 01f36a55bab..46a43adc34e 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeTaskQueryTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/ce/CeTaskQueryTest.java
@@ -32,49 +32,49 @@ public class CeTaskQueryTest {
CeTaskQuery underTest = new CeTaskQuery();
@Test
- public void no_filter_on_component_uuids_by_default() {
- assertThat(underTest.getMainComponentUuids()).isNull();
- assertThat(underTest.isShortCircuitedByMainComponentUuids()).isFalse();
+ public void no_filter_on_entity_uuids_by_default() {
+ assertThat(underTest.getEntityUuids()).isNull();
+ assertThat(underTest.isShortCircuitedByEntityUuids()).isFalse();
}
@Test
- public void filter_on_component_uuid() {
- underTest.setMainComponentUuid("UUID1");
- assertThat(underTest.getMainComponentUuids()).containsOnly("UUID1");
- assertThat(underTest.isShortCircuitedByMainComponentUuids()).isFalse();
+ public void filter_on_entity_uuid() {
+ underTest.setEntityUuid("UUID1");
+ assertThat(underTest.getEntityUuids()).containsOnly("UUID1");
+ assertThat(underTest.isShortCircuitedByEntityUuids()).isFalse();
}
@Test
- public void filter_on_multiple_component_uuids() {
- underTest.setMainComponentUuids(asList("UUID1", "UUID2"));
- assertThat(underTest.getMainComponentUuids()).containsOnly("UUID1", "UUID2");
- assertThat(underTest.isShortCircuitedByMainComponentUuids()).isFalse();
+ public void filter_on_multiple_entity_uuids() {
+ underTest.setEntityUuids(asList("UUID1", "UUID2"));
+ assertThat(underTest.getEntityUuids()).containsOnly("UUID1", "UUID2");
+ assertThat(underTest.isShortCircuitedByEntityUuids()).isFalse();
}
/**
- * componentUuid is not null but is set to empty
+ * entityUuid is not null but is set to empty
* --> no results
*/
@Test
- public void short_circuited_if_empty_component_uuid_filter() {
- underTest.setMainComponentUuids(Collections.emptyList());
- assertThat(underTest.getMainComponentUuids()).isEmpty();
- assertThat(underTest.isShortCircuitedByMainComponentUuids()).isTrue();
+ public void short_circuited_if_empty_entity_uuid_filter() {
+ underTest.setEntityUuids(Collections.emptyList());
+ assertThat(underTest.getEntityUuids()).isEmpty();
+ assertThat(underTest.isShortCircuitedByEntityUuids()).isTrue();
}
/**
- * too many componentUuids for SQL request. Waiting for ES to improve this use-case
+ * too many entityUuids for SQL request. Waiting for ES to improve this use-case
* --> no results
*/
@Test
- public void short_circuited_if_too_many_component_uuid_filters() {
+ public void short_circuited_if_too_many_entity_uuid_filters() {
List<String> uuids = new ArrayList<>();
for (int i = 0; i < CeTaskQuery.MAX_COMPONENT_UUIDS + 2; i++) {
uuids.add(String.valueOf(i));
}
- underTest.setMainComponentUuids(uuids);
- assertThat(underTest.getMainComponentUuids()).hasSize(CeTaskQuery.MAX_COMPONENT_UUIDS + 2);
- assertThat(underTest.isShortCircuitedByMainComponentUuids()).isTrue();
+ underTest.setEntityUuids(uuids);
+ assertThat(underTest.getEntityUuids()).hasSize(CeTaskQuery.MAX_COMPONENT_UUIDS + 2);
+ assertThat(underTest.isShortCircuitedByEntityUuids()).isTrue();
}
@Test
diff --git a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/ce/CeQueueTesting.java b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/ce/CeQueueTesting.java
index 9dfcacbb9dd..1e05d7d500d 100644
--- a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/ce/CeQueueTesting.java
+++ b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/ce/CeQueueTesting.java
@@ -38,7 +38,7 @@ public class CeQueueTesting {
return new CeQueueDto()
.setUuid(uuid)
.setComponentUuid(randomAlphanumeric(40))
- .setMainComponentUuid(randomAlphanumeric(39))
+ .setEntityUuid(randomAlphanumeric(39))
.setStatus(CeQueueDto.Status.PENDING)
.setTaskType(CeTaskTypes.REPORT)
.setSubmitterUuid(randomAlphanumeric(255))
diff --git a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/component/ComponentTesting.java b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/component/ComponentTesting.java
index 927d448abf1..845d5a1284f 100644
--- a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/component/ComponentTesting.java
+++ b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/component/ComponentTesting.java
@@ -53,19 +53,19 @@ public class ComponentTesting {
return newFileDto(projectOrBranch, directory, Uuids.createFast(), mainBranchUuid);
}
- public static ComponentDto newFileDto(ComponentDto project, @Nullable ComponentDto directory, String fileUuid) {
- return newFileDto(project, directory, fileUuid, null);
+ public static ComponentDto newFileDto(ComponentDto branch, @Nullable ComponentDto directory, String fileUuid) {
+ return newFileDto(branch, directory, fileUuid, null);
}
- public static ComponentDto newFileDto(ComponentDto project, @Nullable ComponentDto directory, String fileUuid, @Nullable String mainBranchUuid) {
+ public static ComponentDto newFileDto(ComponentDto branch, @Nullable ComponentDto directory, String fileUuid, @Nullable String mainBranchUuid) {
String filename = "NAME_" + fileUuid;
- String path = directory != null ? directory.path() + "/" + filename : project.path() + "/" + filename;
- return newChildComponent(fileUuid, project, directory == null ? project : directory)
+ String path = directory != null ? directory.path() + "/" + filename : branch.path() + "/" + filename;
+ return newChildComponent(fileUuid, branch, directory == null ? branch : directory)
.setKey("FILE_KEY_" + fileUuid)
.setName(filename)
.setLongName(path)
.setScope(Scopes.FILE)
- .setBranchUuid(project.branchUuid())
+ .setBranchUuid(branch.branchUuid())
.setMainBranchProjectUuid(mainBranchUuid)
.setQualifier(Qualifiers.FILE)
.setPath(path)
@@ -207,18 +207,18 @@ public class ComponentTesting {
.setLanguage(null);
}
- public static ComponentDto newChildComponent(String uuid, ComponentDto project, ComponentDto parent) {
- checkArgument(project.isPrivate() == parent.isPrivate(),
- "private flag inconsistent between moduleOrProject (%s) and parent (%s)",
- project.isPrivate(), parent.isPrivate());
+ public static ComponentDto newChildComponent(String uuid, ComponentDto branch, ComponentDto parent) {
+ checkArgument(branch.isPrivate() == parent.isPrivate(),
+ "private flag inconsistent between branch (%s) and parent (%s)",
+ branch.isPrivate(), parent.isPrivate());
return new ComponentDto()
.setUuid(uuid)
.setUuidPath(formatUuidPathFromParent(parent))
.setKey(uuid)
- .setBranchUuid(project.branchUuid())
+ .setBranchUuid(branch.branchUuid())
.setCreatedAt(new Date())
.setEnabled(true)
- .setPrivate(project.isPrivate());
+ .setPrivate(branch.isPrivate());
}
diff --git a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java
index 2538f920ac0..597258a9e78 100644
--- a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java
+++ b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/qualitygate/QualityGateDbTester.java
@@ -101,8 +101,8 @@ public class QualityGateDbTester {
return condition;
}
- public Optional<String> selectQGateUuidByComponentUuid(String componentUuid) {
- return dbClient.projectQgateAssociationDao().selectQGateUuidByProjectUuid(dbSession, componentUuid);
+ public Optional<String> selectQGateUuidByProjectUuid(String projectUuid) {
+ return dbClient.projectQgateAssociationDao().selectQGateUuidByProjectUuid(dbSession, projectUuid);
}
public void addGroupPermission(QualityGateDto qualityGateDto, GroupDto group) {
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/DbVersion102.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/DbVersion102.java
index a306b61bbe5..60008a21274 100644
--- a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/DbVersion102.java
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/DbVersion102.java
@@ -41,7 +41,10 @@ public class DbVersion102 implements DbVersion {
@Override
public void addSteps(MigrationStepRegistry registry) {
registry.add(10_2_000, "Rename 'component_uuid' in 'user_roles' table to 'entity_uuid'", RenameComponentUuidInUserRoles.class)
- .add(10_2_001, "Rename 'component_uuid' in 'group_roles' table to 'entity_uuid'", RenameComponentUuidInGroupRoles.class);
+ .add(10_2_001, "Rename 'component_uuid' in 'group_roles' table to 'entity_uuid'", RenameComponentUuidInGroupRoles.class)
+ .add(10_2_002, "Rename 'main_component_uuid' in 'ce_activity' table to 'entity_uuid'", RenameMainComponentUuidInCeActivity.class)
+ .add(10_2_003, "Rename 'main_component_uuid' in 'ce_queue' table to 'entity_uuid'", RenameMainComponentUuidInCeQueue.class)
+ ;
}
}
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivity.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivity.java
new file mode 100644
index 00000000000..c41576a18d4
--- /dev/null
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivity.java
@@ -0,0 +1,34 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2023 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v102;
+
+import org.sonar.db.Database;
+import org.sonar.server.platform.db.migration.step.RenameVarcharColumnChange;
+
+public class RenameMainComponentUuidInCeActivity extends RenameVarcharColumnChange {
+
+ private static final String TABLE_NAME = "ce_activity";
+ private static final String OLD_COLUMN_NAME = "main_component_uuid";
+ private static final String NEW_COLUMN_NAME = "entity_uuid";
+
+ public RenameMainComponentUuidInCeActivity(Database db) {
+ super(db, TABLE_NAME, OLD_COLUMN_NAME, NEW_COLUMN_NAME);
+ }
+}
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueue.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueue.java
new file mode 100644
index 00000000000..89a357fc636
--- /dev/null
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueue.java
@@ -0,0 +1,34 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2023 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v102;
+
+import org.sonar.db.Database;
+import org.sonar.server.platform.db.migration.step.RenameVarcharColumnChange;
+
+public class RenameMainComponentUuidInCeQueue extends RenameVarcharColumnChange {
+
+ private static final String TABLE_NAME = "ce_queue";
+ private static final String OLD_COLUMN_NAME = "main_component_uuid";
+ private static final String NEW_COLUMN_NAME = "entity_uuid";
+
+ public RenameMainComponentUuidInCeQueue(Database db) {
+ super(db, TABLE_NAME, OLD_COLUMN_NAME, NEW_COLUMN_NAME);
+ }
+}
diff --git a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivityTest.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivityTest.java
new file mode 100644
index 00000000000..44b17854000
--- /dev/null
+++ b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivityTest.java
@@ -0,0 +1,52 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2023 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v102;
+
+import java.sql.SQLException;
+import org.junit.Rule;
+import org.junit.Test;
+import org.sonar.db.CoreDbTester;
+
+import static java.sql.Types.VARCHAR;
+
+public class RenameMainComponentUuidInCeActivityTest {
+ public static final String TABLE_NAME = "ce_activity";
+ public static final String NEW_COLUMN_NAME = "entity_uuid";
+
+ @Rule
+ public final CoreDbTester db = CoreDbTester.createForSchema(RenameMainComponentUuidInCeActivityTest.class, "schema.sql");
+
+ private final RenameMainComponentUuidInCeActivity underTest = new RenameMainComponentUuidInCeActivity(db.database());
+
+ @Test
+ public void column_is_renamed() throws SQLException {
+ db.assertColumnDoesNotExist(TABLE_NAME, NEW_COLUMN_NAME);
+ underTest.execute();
+ db.assertColumnDefinition(TABLE_NAME, NEW_COLUMN_NAME, VARCHAR, 40, true);
+ }
+
+ @Test
+ public void migration_is_reentrant() throws SQLException {
+ db.assertColumnDoesNotExist(TABLE_NAME, NEW_COLUMN_NAME);
+ underTest.execute();
+ underTest.execute();
+ db.assertColumnDefinition(TABLE_NAME, NEW_COLUMN_NAME, VARCHAR, 40, true);
+ }
+}
diff --git a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueueTest.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueueTest.java
new file mode 100644
index 00000000000..5274b002e38
--- /dev/null
+++ b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueueTest.java
@@ -0,0 +1,52 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2023 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v102;
+
+import java.sql.SQLException;
+import org.junit.Rule;
+import org.junit.Test;
+import org.sonar.db.CoreDbTester;
+
+import static java.sql.Types.VARCHAR;
+
+public class RenameMainComponentUuidInCeQueueTest {
+ public static final String TABLE_NAME = "ce_queue";
+ public static final String NEW_COLUMN_NAME = "entity_uuid";
+
+ @Rule
+ public final CoreDbTester db = CoreDbTester.createForSchema(RenameMainComponentUuidInCeQueueTest.class, "schema.sql");
+
+ private final RenameMainComponentUuidInCeQueue underTest = new RenameMainComponentUuidInCeQueue(db.database());
+
+ @Test
+ public void column_is_renamed() throws SQLException {
+ db.assertColumnDoesNotExist(TABLE_NAME, NEW_COLUMN_NAME);
+ underTest.execute();
+ db.assertColumnDefinition(TABLE_NAME, NEW_COLUMN_NAME, VARCHAR, 40, true);
+ }
+
+ @Test
+ public void migration_is_reentrant() throws SQLException {
+ db.assertColumnDoesNotExist(TABLE_NAME, NEW_COLUMN_NAME);
+ underTest.execute();
+ underTest.execute();
+ db.assertColumnDefinition(TABLE_NAME, NEW_COLUMN_NAME, VARCHAR, 40, true);
+ }
+}
diff --git a/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivityTest/schema.sql b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivityTest/schema.sql
new file mode 100644
index 00000000000..dcb9f3a1dd9
--- /dev/null
+++ b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeActivityTest/schema.sql
@@ -0,0 +1,32 @@
+CREATE TABLE "CE_ACTIVITY"(
+ "UUID" CHARACTER VARYING(40) NOT NULL,
+ "TASK_TYPE" CHARACTER VARYING(40) NOT NULL,
+ "MAIN_COMPONENT_UUID" CHARACTER VARYING(40),
+ "COMPONENT_UUID" CHARACTER VARYING(40),
+ "STATUS" CHARACTER VARYING(15) NOT NULL,
+ "MAIN_IS_LAST" BOOLEAN NOT NULL,
+ "MAIN_IS_LAST_KEY" CHARACTER VARYING(55) NOT NULL,
+ "IS_LAST" BOOLEAN NOT NULL,
+ "IS_LAST_KEY" CHARACTER VARYING(55) NOT NULL,
+ "SUBMITTER_UUID" CHARACTER VARYING(255),
+ "SUBMITTED_AT" BIGINT NOT NULL,
+ "STARTED_AT" BIGINT,
+ "EXECUTED_AT" BIGINT,
+ "EXECUTION_COUNT" INTEGER NOT NULL,
+ "EXECUTION_TIME_MS" BIGINT,
+ "ANALYSIS_UUID" CHARACTER VARYING(50),
+ "ERROR_MESSAGE" CHARACTER VARYING(1000),
+ "ERROR_STACKTRACE" CHARACTER LARGE OBJECT,
+ "ERROR_TYPE" CHARACTER VARYING(20),
+ "WORKER_UUID" CHARACTER VARYING(40),
+ "CREATED_AT" BIGINT NOT NULL,
+ "UPDATED_AT" BIGINT NOT NULL,
+ "NODE_NAME" CHARACTER VARYING(100)
+);
+ALTER TABLE "CE_ACTIVITY" ADD CONSTRAINT "PK_CE_ACTIVITY" PRIMARY KEY("UUID");
+CREATE INDEX "CE_ACTIVITY_COMPONENT" ON "CE_ACTIVITY"("COMPONENT_UUID" NULLS FIRST);
+CREATE INDEX "CE_ACTIVITY_ISLAST" ON "CE_ACTIVITY"("IS_LAST" NULLS FIRST, "STATUS" NULLS FIRST);
+CREATE INDEX "CE_ACTIVITY_ISLAST_KEY" ON "CE_ACTIVITY"("IS_LAST_KEY" NULLS FIRST);
+CREATE INDEX "CE_ACTIVITY_MAIN_COMPONENT" ON "CE_ACTIVITY"("MAIN_COMPONENT_UUID" NULLS FIRST);
+CREATE INDEX "CE_ACTIVITY_MAIN_ISLAST" ON "CE_ACTIVITY"("MAIN_IS_LAST" NULLS FIRST, "STATUS" NULLS FIRST);
+CREATE INDEX "CE_ACTIVITY_MAIN_ISLAST_KEY" ON "CE_ACTIVITY"("MAIN_IS_LAST_KEY" NULLS FIRST);
diff --git a/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueueTest/schema.sql b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueueTest/schema.sql
new file mode 100644
index 00000000000..63136b6cc12
--- /dev/null
+++ b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v102/RenameMainComponentUuidInCeQueueTest/schema.sql
@@ -0,0 +1,16 @@
+CREATE TABLE "CE_QUEUE"(
+ "UUID" CHARACTER VARYING(40) NOT NULL,
+ "TASK_TYPE" CHARACTER VARYING(40) NOT NULL,
+ "MAIN_COMPONENT_UUID" CHARACTER VARYING(40),
+ "COMPONENT_UUID" CHARACTER VARYING(40),
+ "STATUS" CHARACTER VARYING(15),
+ "SUBMITTER_UUID" CHARACTER VARYING(255),
+ "STARTED_AT" BIGINT,
+ "WORKER_UUID" CHARACTER VARYING(40),
+ "EXECUTION_COUNT" INTEGER NOT NULL,
+ "CREATED_AT" BIGINT NOT NULL,
+ "UPDATED_AT" BIGINT NOT NULL
+);
+ALTER TABLE "CE_QUEUE" ADD CONSTRAINT "PK_CE_QUEUE" PRIMARY KEY("UUID");
+CREATE INDEX "CE_QUEUE_MAIN_COMPONENT" ON "CE_QUEUE"("MAIN_COMPONENT_UUID" NULLS FIRST);
+CREATE INDEX "CE_QUEUE_COMPONENT" ON "CE_QUEUE"("COMPONENT_UUID" NULLS FIRST);
diff --git a/server/sonar-server-common/src/test/java/org/sonar/server/webhook/CeTaskTest.java b/server/sonar-server-common/src/test/java/org/sonar/server/webhook/CeTaskTest.java
index 533706cc7a3..b1fd7dc36bc 100644
--- a/server/sonar-server-common/src/test/java/org/sonar/server/webhook/CeTaskTest.java
+++ b/server/sonar-server-common/src/test/java/org/sonar/server/webhook/CeTaskTest.java
@@ -26,7 +26,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
public class CeTaskTest {
- private CeTask underTest = new CeTask("A", CeTask.Status.SUCCESS);
+ private final CeTask underTest = new CeTask("A", CeTask.Status.SUCCESS);
@Test
public void constructor_throws_NPE_if_id_is_null() {
diff --git a/server/sonar-webserver-core/src/main/java/org/sonar/server/issue/index/AsyncIssueIndexingImpl.java b/server/sonar-webserver-core/src/main/java/org/sonar/server/issue/index/AsyncIssueIndexingImpl.java
index dd0e001b6fe..6d68b9c1e9b 100644
--- a/server/sonar-webserver-core/src/main/java/org/sonar/server/issue/index/AsyncIssueIndexingImpl.java
+++ b/server/sonar-webserver-core/src/main/java/org/sonar/server/issue/index/AsyncIssueIndexingImpl.java
@@ -153,12 +153,12 @@ public class AsyncIssueIndexingImpl implements AsyncIssueIndexing {
}
private void removeExistingIndexationTasksForProject(DbSession dbSession, String projectUuid) {
- Set<String> ceQueueUuidsForProject = dbClient.ceQueueDao().selectByMainComponentUuid(dbSession, projectUuid)
+ Set<String> ceQueueUuidsForProject = dbClient.ceQueueDao().selectByEntityUuid(dbSession, projectUuid)
.stream().filter(p -> p.getTaskType().equals(BRANCH_ISSUE_SYNC))
.map(CeQueueDto::getUuid).collect(Collectors.toSet());
Set<String> ceActivityUuidsForProject = dbClient.ceActivityDao().selectByTaskType(dbSession, BRANCH_ISSUE_SYNC)
.stream()
- .filter(ceActivityDto -> projectUuid.equals(ceActivityDto.getMainComponentUuid()))
+ .filter(ceActivityDto -> projectUuid.equals(ceActivityDto.getEntityUuid()))
.map(CeActivityDto::getUuid).collect(Collectors.toSet());
removeIndexationTasks(dbSession, ceQueueUuidsForProject, ceActivityUuidsForProject);
}
diff --git a/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java b/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java
index c5fe2bfe8f2..3a02c634f39 100644
--- a/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java
+++ b/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java
@@ -53,6 +53,7 @@ import org.sonar.db.component.PrBranchAnalyzedLanguageCountByProjectDto;
import org.sonar.db.component.SnapshotDto;
import org.sonar.db.measure.LiveMeasureDto;
import org.sonar.db.measure.ProjectLocDistributionDto;
+import org.sonar.db.measure.ProjectMainBranchLiveMeasureDto;
import org.sonar.db.metric.MetricDto;
import org.sonar.db.newcodeperiod.NewCodePeriodDto;
import org.sonar.db.qualitygate.ProjectQgateAssociationDto;
@@ -413,9 +414,9 @@ public class TelemetryDataLoaderImpl implements TelemetryDataLoader {
return Collections.emptyMap();
}
- return dbClient.liveMeasureDao().selectForProjectsByMetricUuids(dbSession, metricNamesByUuid.keySet())
+ return dbClient.liveMeasureDao().selectForProjectMainBranchesByMetricUuids(dbSession, metricNamesByUuid.keySet())
.stream()
- .collect(groupingBy(LiveMeasureDto::getProjectUuid,
+ .collect(groupingBy(ProjectMainBranchLiveMeasureDto::getProjectUuid,
toMap(lmDto -> metricNamesByUuid.get(lmDto.getMetricUuid()),
lmDto -> Optional.ofNullable(lmDto.getValue()).orElseGet(() -> Double.valueOf(lmDto.getTextValue())),
(oldValue, newValue) -> newValue, HashMap::new)));
diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java
index a0907e93a35..73e11b8c33e 100644
--- a/server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java
+++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java
@@ -175,16 +175,16 @@ public class AsyncIssueIndexingImplTest {
dbTester.components().insertProjectBranch(projectDto, b -> b.setBranchType(BRANCH).setUuid(branchUuid));
CeQueueDto mainBranchTask = new CeQueueDto().setUuid("uuid_2").setTaskType(BRANCH_ISSUE_SYNC)
- .setMainComponentUuid(projectDto.getUuid()).setComponentUuid(projectDto.getUuid());
+ .setEntityUuid(projectDto.getUuid()).setComponentUuid(projectDto.getUuid());
dbClient.ceQueueDao().insert(dbTester.getSession(), mainBranchTask);
CeQueueDto branchTask = new CeQueueDto().setUuid("uuid_3").setTaskType(BRANCH_ISSUE_SYNC)
- .setMainComponentUuid(projectDto.getUuid()).setComponentUuid(branchUuid);
+ .setEntityUuid(projectDto.getUuid()).setComponentUuid(branchUuid);
dbClient.ceQueueDao().insert(dbTester.getSession(), branchTask);
ProjectDto anotherProjectDto = dbTester.components().insertPrivateProject().getProjectDto();
CeQueueDto taskOnAnotherProject = new CeQueueDto().setUuid("uuid_4").setTaskType(BRANCH_ISSUE_SYNC)
- .setMainComponentUuid(anotherProjectDto.getUuid()).setComponentUuid("another-branchUuid");
+ .setEntityUuid(anotherProjectDto.getUuid()).setComponentUuid("another-branchUuid");
CeActivityDto canceledTaskOnAnotherProject = new CeActivityDto(taskOnAnotherProject).setStatus(Status.CANCELED);
dbClient.ceActivityDao().insert(dbTester.getSession(), canceledTaskOnAnotherProject);
@@ -200,7 +200,7 @@ public class AsyncIssueIndexingImplTest {
// verify that the canceled tasks on anotherProject is still here, and was not removed by the project reindexation
assertThat(dbClient.ceActivityDao().selectByTaskType(dbTester.getSession(), BRANCH_ISSUE_SYNC))
.hasSize(1)
- .extracting(CeActivityDto::getMainComponentUuid)
+ .extracting(CeActivityDto::getEntityUuid)
.containsExactly(anotherProjectDto.getUuid());
assertThat(logTester.logs(Level.INFO))
diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java
index 01fa2e76dda..c9adbb2cede 100644
--- a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java
+++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java
@@ -331,7 +331,7 @@ public class IssueIndexSyncProgressCheckerTest {
CeActivityDto dto = new CeActivityDto(queueDto);
dto.setComponentUuid(projectDto.getUuid());
- dto.setMainComponentUuid(projectDto.getUuid());
+ dto.setEntityUuid(projectDto.getUuid());
dto.setStatus(status);
dto.setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC);
dto.setAnalysisUuid(uuid + "_AA");
diff --git a/server/sonar-webserver-monitoring/src/main/java/org/sonar/server/monitoring/ce/RecentTasksDurationTask.java b/server/sonar-webserver-monitoring/src/main/java/org/sonar/server/monitoring/ce/RecentTasksDurationTask.java
index 0746b46ce1d..a659c422886 100644
--- a/server/sonar-webserver-monitoring/src/main/java/org/sonar/server/monitoring/ce/RecentTasksDurationTask.java
+++ b/server/sonar-webserver-monitoring/src/main/java/org/sonar/server/monitoring/ce/RecentTasksDurationTask.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.ce.CeActivityDto;
-import org.sonar.db.component.ComponentDto;
+import org.sonar.db.entity.EntityDto;
import org.sonar.server.monitoring.ServerMonitoringMetrics;
import static java.util.Objects.requireNonNull;
@@ -54,14 +54,14 @@ public class RecentTasksDurationTask extends ComputeEngineMetricsTask {
try (DbSession dbSession = dbClient.openSession(false)) {
List<CeActivityDto> recentSuccessfulTasks = getRecentSuccessfulTasks(dbSession);
- Collection<String> componentUuids = recentSuccessfulTasks.stream()
- .map(CeActivityDto::getMainComponentUuid)
+ Collection<String> entityUuids = recentSuccessfulTasks.stream()
+ .map(CeActivityDto::getEntityUuid)
.toList();
- List<ComponentDto> componentDtos = dbClient.componentDao().selectByUuids(dbSession, componentUuids);
- Map<String, String> componentUuidAndKeys = componentDtos.stream()
- .collect(Collectors.toMap(ComponentDto::uuid, ComponentDto::getKey));
+ List<EntityDto> entities = dbClient.entityDao().selectByUuids(dbSession, entityUuids);
+ Map<String, String> entityUuidAndKeys = entities.stream()
+ .collect(Collectors.toMap(EntityDto::getUuid, EntityDto::getKey));
- reportObservedDurationForTasks(recentSuccessfulTasks, componentUuidAndKeys);
+ reportObservedDurationForTasks(recentSuccessfulTasks, entityUuidAndKeys);
}
lastUpdatedTimestamp = system.now();
}
@@ -73,15 +73,15 @@ public class RecentTasksDurationTask extends ComputeEngineMetricsTask {
.toList();
}
- private void reportObservedDurationForTasks(List<CeActivityDto> tasks, Map<String, String> componentUuidAndKeys) {
+ private void reportObservedDurationForTasks(List<CeActivityDto> tasks, Map<String, String> entityUuidAndKeys) {
for (CeActivityDto task : tasks) {
- String mainComponentUuid = task.getMainComponentUuid();
+ String mainComponentUuid = task.getEntityUuid();
Long executionTimeMs = task.getExecutionTimeMs();
try {
requireNonNull(mainComponentUuid);
requireNonNull(executionTimeMs);
- String mainComponentKey = componentUuidAndKeys.get(mainComponentUuid);
+ String mainComponentKey = entityUuidAndKeys.get(mainComponentUuid);
requireNonNull(mainComponentKey);
metrics.observeComputeEngineTaskDuration(executionTimeMs, task.getTaskType(), mainComponentKey);
diff --git a/server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ce/RecentTasksDurationTaskTest.java b/server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ce/RecentTasksDurationTaskTest.java
index 14d3c78b035..cc31fe6a26f 100644
--- a/server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ce/RecentTasksDurationTaskTest.java
+++ b/server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ce/RecentTasksDurationTaskTest.java
@@ -29,8 +29,10 @@ import org.sonar.db.DbClient;
import org.sonar.db.ce.CeActivityDao;
import org.sonar.db.ce.CeActivityDto;
import org.sonar.db.ce.CeQueueDto;
-import org.sonar.db.component.ComponentDao;
import org.sonar.db.component.ComponentDto;
+import org.sonar.db.entity.EntityDao;
+import org.sonar.db.entity.EntityDto;
+import org.sonar.db.project.ProjectDto;
import org.sonar.server.monitoring.ServerMonitoringMetrics;
import static org.mockito.ArgumentMatchers.any;
@@ -44,7 +46,7 @@ public class RecentTasksDurationTaskTest {
private final DbClient dbClient = mock(DbClient.class);
private final CeActivityDao ceActivityDao = mock(CeActivityDao.class);
- private final ComponentDao componentDao = mock(ComponentDao.class);
+ private final EntityDao entityDao = mock(EntityDao.class);
private final ServerMonitoringMetrics metrics = mock(ServerMonitoringMetrics.class);
private final Configuration config = mock(Configuration.class);
private final System2 system = mock(System2.class);
@@ -52,7 +54,7 @@ public class RecentTasksDurationTaskTest {
@Before
public void before() {
when(dbClient.ceActivityDao()).thenReturn(ceActivityDao);
- when(dbClient.componentDao()).thenReturn(componentDao);
+ when(dbClient.entityDao()).thenReturn(entityDao);
ComponentDto componentDto = new ComponentDto();
componentDto.setKey("key");
}
@@ -62,7 +64,7 @@ public class RecentTasksDurationTaskTest {
RecentTasksDurationTask task = new RecentTasksDurationTask(dbClient, metrics, config, system);
List<CeActivityDto> recentTasks = createTasks(5, 0);
- when(componentDao.selectByUuids(any(), any())).thenReturn(createComponentDtos(5));
+ when(entityDao.selectByUuids(any(), any())).thenReturn(createEntityDtos(5));
when(ceActivityDao.selectNewerThan(any(), anyLong())).thenReturn(recentTasks);
task.run();
@@ -75,7 +77,7 @@ public class RecentTasksDurationTaskTest {
RecentTasksDurationTask task = new RecentTasksDurationTask(dbClient, metrics, config, system);
List<CeActivityDto> recentTasks = createTasks(1, 1);
- when(componentDao.selectByUuids(any(), any())).thenReturn(createComponentDtos(1));
+ when(entityDao.selectByUuids(any(), any())).thenReturn(createEntityDtos(1));
when(ceActivityDao.selectNewerThan(any(), anyLong())).thenReturn(recentTasks);
task.run();
@@ -89,7 +91,7 @@ public class RecentTasksDurationTaskTest {
List<CeActivityDto> recentTasks = createTasks(1, 0);
recentTasks.get(0).setExecutionTimeMs(null);
- when(componentDao.selectByUuids(any(), any())).thenReturn(createComponentDtos(1));
+ when(entityDao.selectByUuids(any(), any())).thenReturn(createEntityDtos(1));
when(ceActivityDao.selectNewerThan(any(), anyLong())).thenReturn(recentTasks);
task.run();
@@ -111,21 +113,21 @@ public class RecentTasksDurationTaskTest {
return dtos;
}
- private List<ComponentDto> createComponentDtos(int number) {
- List<ComponentDto> componentDtos = new ArrayList<>();
+ private List<EntityDto> createEntityDtos(int number) {
+ List<EntityDto> entityDtos = new ArrayList<>();
for(int i=0; i<5; i++) {
- ComponentDto component = new ComponentDto();
- component.setUuid(i + "");
- component.setKey(i + "");
- componentDtos.add(component);
+ ProjectDto entity = new ProjectDto();
+ entity.setUuid(i + "");
+ entity.setKey(i + "");
+ entityDtos.add(entity);
}
- return componentDtos;
+ return entityDtos;
}
private CeActivityDto newCeActivityTask(CeActivityDto.Status status) {
CeActivityDto dto = new CeActivityDto(new CeQueueDto());
dto.setStatus(status);
- dto.setMainComponentUuid("0");
+ dto.setEntityUuid("0");
dto.setExecutionTimeMs(1000L);
return dto;
}
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/batch/ProjectDataLoaderIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/batch/ProjectDataLoaderIT.java
index c0d47cd8749..87548ab745e 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/batch/ProjectDataLoaderIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/batch/ProjectDataLoaderIT.java
@@ -46,7 +46,7 @@ import static org.sonar.db.permission.GlobalPermission.SCAN;
public class ProjectDataLoaderIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
@Rule
public UserSessionRule userSession = UserSessionRule.standalone();
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/BranchReportSubmitterIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/BranchReportSubmitterIT.java
index 5c4709875b1..41626448af1 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/BranchReportSubmitterIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/BranchReportSubmitterIT.java
@@ -260,7 +260,7 @@ public class BranchReportSubmitterIT {
assertThat(ceTask.getType()).isEqualTo(CeTaskTypes.REPORT);
assertThat(ceTask.getComponent()).isPresent();
assertThat(ceTask.getComponent().get().getUuid()).isEqualTo(branch.uuid());
- assertThat(ceTask.getComponent().get().getMainComponentUuid()).isEqualTo(project.uuid());
+ assertThat(ceTask.getComponent().get().getEntityUuid()).isEqualTo(project.uuid());
}
private static BranchSupport.ComponentKey createComponentKeyOfBranch(String projectKey) {
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/ReportSubmitterIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/ReportSubmitterIT.java
index 6c85625757d..4cccc2498eb 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/ReportSubmitterIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/queue/ReportSubmitterIT.java
@@ -20,7 +20,6 @@
package org.sonar.server.ce.queue;
import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.Random;
import java.util.stream.IntStream;
@@ -28,7 +27,6 @@ import org.apache.commons.io.IOUtils;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.sonar.api.config.Configuration;
import org.sonar.api.utils.System2;
import org.sonar.ce.queue.CeQueue;
import org.sonar.ce.queue.CeQueueImpl;
@@ -149,7 +147,7 @@ public class ReportSubmitterIT {
verifyReportIsPersisted(TASK_UUID);
verifyNoInteractions(permissionTemplateService);
verify(queue).submit(argThat(submit -> submit.getType().equals(CeTaskTypes.REPORT)
- && submit.getComponent().filter(cpt -> cpt.getUuid().equals(project.uuid()) && cpt.getMainComponentUuid().equals(project.uuid())).isPresent()
+ && submit.getComponent().filter(cpt -> cpt.getUuid().equals(project.uuid()) && cpt.getEntityUuid().equals(project.uuid())).isPresent()
&& submit.getSubmitterUuid().equals(user.getUuid())
&& submit.getUuid().equals(TASK_UUID)));
}
@@ -168,7 +166,7 @@ public class ReportSubmitterIT {
ComponentDto createdProject = db.getDbClient().componentDao().selectByKey(db.getSession(), PROJECT_KEY).get();
verifyReportIsPersisted(TASK_UUID);
verify(queue).submit(argThat(submit -> submit.getType().equals(CeTaskTypes.REPORT)
- && submit.getComponent().filter(cpt -> cpt.getUuid().equals(createdProject.uuid()) && cpt.getMainComponentUuid().equals(createdProject.uuid())).isPresent()
+ && submit.getComponent().filter(cpt -> cpt.getUuid().equals(createdProject.uuid()) && cpt.getEntityUuid().equals(createdProject.uuid())).isPresent()
&& submit.getUuid().equals(TASK_UUID)));
}
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java
index 1a993ffed32..d75a0e76b26 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java
@@ -609,7 +609,7 @@ public class ActivityActionIT {
queueDto.setTaskType(CeTaskTypes.REPORT);
if (project != null ) {
queueDto.setComponentUuid(project.uuid());
- queueDto.setMainComponentUuid(project.uuid());
+ queueDto.setEntityUuid(project.uuid());
}
queueDto.setUuid(taskUuid);
queueDto.setStatus(status);
@@ -626,7 +626,7 @@ public class ActivityActionIT {
CeQueueDto queueDto = new CeQueueDto();
queueDto.setTaskType(CeTaskTypes.REPORT);
queueDto.setComponentUuid(project.uuid());
- queueDto.setMainComponentUuid(project.uuid());
+ queueDto.setEntityUuid(project.uuid());
queueDto.setUuid(taskUuid);
queueDto.setCreatedAt(EXECUTED_AT);
CeActivityDto activityDto = new CeActivityDto(queueDto);
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java
index d3733ae5a9a..8e7d053d05e 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java
@@ -172,7 +172,7 @@ public class ActivityStatusActionIT {
.setStatus(status);
if(componentDto != null) {
ceQueueDto.setComponentUuid(componentDto.uuid())
- .setMainComponentUuid(componentDto.uuid());
+ .setEntityUuid(componentDto.uuid());
}
if (createdAt != null) {
ceQueueDto.setCreatedAt(createdAt);
@@ -184,7 +184,7 @@ public class ActivityStatusActionIT {
private void insertActivity(CeActivityDto.Status status, @Nullable ComponentDto dto) {
CeQueueDto ceQueueDto = newCeQueueDto(Uuids.createFast());
ceQueueDto.setComponentUuid(dto.uuid());
- ceQueueDto.setMainComponentUuid(dto.uuid());
+ ceQueueDto.setEntityUuid(dto.uuid());
dbClient.ceActivityDao().insert(dbSession, new CeActivityDto(ceQueueDto)
.setStatus(status));
db.commit();
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/AnalysisStatusActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/AnalysisStatusActionIT.java
index dc2fbb6776f..358af795f97 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/AnalysisStatusActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/AnalysisStatusActionIT.java
@@ -367,7 +367,7 @@ public class AnalysisStatusActionIT {
CeQueueDto queueDto = new CeQueueDto();
queueDto.setTaskType(taskType);
queueDto.setComponentUuid(branch.getUuid());
- queueDto.setMainComponentUuid(branch.getUuid());
+ queueDto.setEntityUuid(branch.getUuid());
queueDto.setUuid(taskUuid);
CeActivityDto activityDto = new CeActivityDto(queueDto);
activityDto.setStatus(status);
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ComponentActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ComponentActionIT.java
index 8884dfa1965..219ad666f72 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ComponentActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ComponentActionIT.java
@@ -309,7 +309,7 @@ public class ComponentActionIT {
CeQueueDto queueDto = new CeQueueDto();
queueDto.setTaskType(CeTaskTypes.REPORT);
queueDto.setComponentUuid(component.uuid());
- queueDto.setMainComponentUuid(component.uuid());
+ queueDto.setEntityUuid(component.uuid());
queueDto.setUuid(taskUuid);
queueDto.setStatus(status);
db.getDbClient().ceQueueDao().insert(db.getSession(), queueDto);
@@ -325,7 +325,7 @@ public class ComponentActionIT {
CeQueueDto queueDto = new CeQueueDto();
queueDto.setTaskType(CeTaskTypes.REPORT);
queueDto.setComponentUuid(component.uuid());
- queueDto.setMainComponentUuid(component.uuid());
+ queueDto.setEntityUuid(component.uuid());
queueDto.setUuid(taskUuid);
CeActivityDto activityDto = new CeActivityDto(queueDto);
activityDto.setStatus(status);
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureComputerImplIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureComputerImplIT.java
index e914ffcb6db..ca207f02f38 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureComputerImplIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureComputerImplIT.java
@@ -59,7 +59,7 @@ import static org.sonar.api.measures.CoreMetrics.ALERT_STATUS_KEY;
public class LiveMeasureComputerImplIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private final TestProjectIndexers projectIndexer = new TestProjectIndexers();
private MetricDto metric1;
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureTreeUpdaterImplIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureTreeUpdaterImplIT.java
index b15953bf9c1..1ea8900af6d 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureTreeUpdaterImplIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/measure/live/LiveMeasureTreeUpdaterImplIT.java
@@ -54,7 +54,7 @@ import static org.sonar.api.measures.CoreMetrics.SECURITY_HOTSPOTS_TO_REVIEW_STA
public class LiveMeasureTreeUpdaterImplIT {
@Rule
- public DbTester db = DbTester.create();
+ public DbTester db = DbTester.create(true);
private final Configuration config = new MapSettings().setProperty(RATING_GRID, "0.05,0.1,0.2,0.5").asConfig();
private LiveMeasureTreeUpdaterImpl treeUpdater;
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/project/ws/UpdateVisibilityActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/project/ws/UpdateVisibilityActionIT.java
index 54800a9a8dd..7d04fff851b 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/project/ws/UpdateVisibilityActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/project/ws/UpdateVisibilityActionIT.java
@@ -53,7 +53,6 @@ import org.sonar.db.portfolio.PortfolioDto;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
-import org.sonar.server.component.TestComponentFinder;
import org.sonar.server.es.EsTester;
import org.sonar.server.es.ProjectIndexer;
import org.sonar.server.es.TestProjectIndexers;
@@ -105,8 +104,7 @@ public class UpdateVisibilityActionIT {
private final TestProjectIndexers projectIndexers = new TestProjectIndexers();
private final Configuration configuration = mock(Configuration.class);
- private final UpdateVisibilityAction underTest = new UpdateVisibilityAction(dbClient, TestComponentFinder.from(dbTester),
- userSessionRule, projectIndexers, new SequenceUuidFactory(), configuration);
+ private final UpdateVisibilityAction underTest = new UpdateVisibilityAction(dbClient, userSessionRule, projectIndexers, new SequenceUuidFactory(), configuration);
private final WsActionTester ws = new WsActionTester(underTest);
private final Random random = new Random();
@@ -278,7 +276,7 @@ public class UpdateVisibilityActionIT {
public void execute_throws_BadRequestException_if_specified_component_has_pending_tasks() {
ProjectData project = randomPublicOrPrivateProject();
IntStream.range(0, 1 + Math.abs(random.nextInt(5)))
- .forEach(i -> insertPendingTask(project.getMainBranchComponent().uuid()));
+ .forEach(i -> insertPendingTask(project.getMainBranchDto()));
request.setParam(PARAM_PROJECT, project.projectKey())
.setParam(PARAM_VISIBILITY, randomVisibility);
userSessionRule.addProjectPermission(UserRole.ADMIN, project.getProjectDto());
@@ -292,7 +290,7 @@ public class UpdateVisibilityActionIT {
public void execute_throws_BadRequestException_if_main_component_of_specified_component_has_in_progress_tasks() {
ProjectData project = randomPublicOrPrivateProject();
IntStream.range(0, 1 + Math.abs(random.nextInt(5)))
- .forEach(i -> insertInProgressTask(project.getMainBranchComponent().uuid()));
+ .forEach(i -> insertInProgressTask(project.getMainBranchDto()));
request.setParam(PARAM_PROJECT, project.projectKey())
.setParam(PARAM_VISIBILITY, randomVisibility);
userSessionRule.addProjectPermission(UserRole.ADMIN, project.getProjectDto());
@@ -670,21 +668,21 @@ public class UpdateVisibilityActionIT {
.containsAll(permissionService.getAllProjectPermissions());
}
- private void insertPendingTask(String projectUuid) {
- insertCeQueueDto(projectUuid, CeQueueDto.Status.PENDING);
+ private void insertPendingTask(BranchDto branch) {
+ insertCeQueueDto(branch, CeQueueDto.Status.PENDING);
}
- private void insertInProgressTask(String projectUuid) {
- insertCeQueueDto(projectUuid, CeQueueDto.Status.IN_PROGRESS);
+ private void insertInProgressTask(BranchDto branch) {
+ insertCeQueueDto(branch, CeQueueDto.Status.IN_PROGRESS);
}
private int counter = 0;
- private void insertCeQueueDto(String projectUuid, CeQueueDto.Status status) {
+ private void insertCeQueueDto(BranchDto branch, CeQueueDto.Status status) {
dbClient.ceQueueDao().insert(dbTester.getSession(), new CeQueueDto()
.setUuid("pending" + counter++)
- .setComponentUuid(projectUuid)
- .setMainComponentUuid(projectUuid)
+ .setComponentUuid(branch.getUuid())
+ .setEntityUuid(branch.getProjectUuid())
.setTaskType("foo")
.setStatus(status));
dbTester.commit();
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/projectdump/ws/ExportActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/projectdump/ws/ExportActionIT.java
index 87c7b0ea792..c577a5b79fa 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/projectdump/ws/ExportActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/projectdump/ws/ExportActionIT.java
@@ -137,7 +137,7 @@ public class ExportActionIT {
.setType(CeTaskTypes.PROJECT_EXPORT)
.setUuid(TASK_ID)
.setComponent(component)
- .setMainComponent(component)
+ .setEntity(component)
.build();
}
}
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/DeselectActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/DeselectActionIT.java
index 433b7eecc66..a6a8ffa47b7 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/DeselectActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/DeselectActionIT.java
@@ -183,14 +183,14 @@ public class DeselectActionIT {
}
private void assertDeselected(ProjectDto project) {
- Optional<String> qGateUuid = db.qualityGates().selectQGateUuidByComponentUuid(project.getUuid());
+ Optional<String> qGateUuid = db.qualityGates().selectQGateUuidByProjectUuid(project.getUuid());
assertThat(qGateUuid)
.isNotNull()
.isEmpty();
}
private void assertSelected(QualityGateDto qualityGate, ProjectDto project) {
- Optional<String> qGateUuid = db.qualityGates().selectQGateUuidByComponentUuid(project.getUuid());
+ Optional<String> qGateUuid = db.qualityGates().selectQGateUuidByProjectUuid(project.getUuid());
assertThat(qGateUuid)
.isNotNull()
.isNotEmpty()
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/SelectActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/SelectActionIT.java
index 276b866050e..6c3c621c024 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/SelectActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/SelectActionIT.java
@@ -199,7 +199,7 @@ public class SelectActionIT {
}
private void assertSelected(QualityGateDto qualityGate, ComponentDto project) {
- Optional<String> qGateUuid = db.qualityGates().selectQGateUuidByComponentUuid(project.uuid());
+ Optional<String> qGateUuid = db.qualityGates().selectQGateUuidByProjectUuid(project.uuid());
assertThat(qGateUuid)
.isNotNull()
.isNotEmpty()
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/SourceServiceIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/SourceServiceIT.java
index af716867dbf..cea9fbd67bc 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/SourceServiceIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/SourceServiceIT.java
@@ -45,7 +45,7 @@ public class SourceServiceIT {
public static final String FILE_UUID = "FILE_UUID";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
HtmlSourceDecorator htmlDecorator = mock(HtmlSourceDecorator.class);
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/IndexActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/IndexActionIT.java
index b5a99a69b2b..54dc83be607 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/IndexActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/IndexActionIT.java
@@ -47,7 +47,7 @@ public class IndexActionIT {
@Rule
public UserSessionRule userSession = UserSessionRule.standalone();
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
WsActionTester tester = new WsActionTester(
new IndexAction(db.getDbClient(), new SourceService(db.getDbClient(), new HtmlSourceDecorator()), userSession, TestComponentFinder.from(db)));
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/LinesActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/LinesActionIT.java
index 006ce113b4b..1f6edb4d2f7 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/LinesActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/LinesActionIT.java
@@ -59,7 +59,7 @@ import static org.sonar.db.component.ComponentTesting.newFileDto;
public class LinesActionIT {
@Rule
- public DbTester db = DbTester.create(System2.INSTANCE);
+ public DbTester db = DbTester.create(System2.INSTANCE, true);
@Rule
public UserSessionRule userSession = UserSessionRule.standalone();
@@ -351,15 +351,16 @@ public class LinesActionIT {
@Test
public void hide_scmAuthors() {
ProjectData projectData = db.components().insertPublicProject();
- ComponentDto publicProject = projectData.getMainBranchComponent();
+ ComponentDto mainBranch = projectData.getMainBranchComponent();
userSession.registerProjects(projectData.getProjectDto());
+ userSession.addProjectBranchMapping(projectData.projectUuid(), mainBranch);
DbFileSources.Data data = DbFileSources.Data.newBuilder()
.addLines(newLineBuilder().setScmAuthor("isaac@asimov.com"))
.build();
- ComponentDto file = insertFileWithData(data, publicProject);
+ ComponentDto file = insertFileWithData(data, mainBranch);
tester.newRequest()
.setParam("uuid", file.uuid())
@@ -370,15 +371,16 @@ public class LinesActionIT {
@Test
public void show_scmAuthors() {
ProjectData projectData = db.components().insertPublicProject();
- ComponentDto publicProject = projectData.getMainBranchComponent();
+ ComponentDto mainBranch = projectData.getMainBranchComponent();
UserDto user = db.users().insertUser();
userSession.logIn(user).registerProjects(projectData.getProjectDto());
+ userSession.addProjectBranchMapping(projectData.projectUuid(), mainBranch);
DbFileSources.Data data = DbFileSources.Data.newBuilder()
.addLines(newLineBuilder().setScmAuthor("isaac@asimov.com"))
.build();
- ComponentDto file = insertFileWithData(data, publicProject);
+ ComponentDto file = insertFileWithData(data, mainBranch);
tester.newRequest()
.setParam("uuid", file.uuid())
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/ScmActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/ScmActionIT.java
index 8ec90888d79..31712ec694e 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/ScmActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/source/ws/ScmActionIT.java
@@ -50,7 +50,7 @@ public class ScmActionIT {
private static final String PROJECT_UUID = "PROJECT_A";
@Rule
- public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ public DbTester dbTester = DbTester.create(System2.INSTANCE, true);
@Rule
public UserSessionRule userSessionRule = UserSessionRule.standalone();
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/ws/DeleteAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/ws/DeleteAction.java
index aac84f6ad7c..b55c94a2ca7 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/ws/DeleteAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/ws/DeleteAction.java
@@ -41,7 +41,6 @@ import static org.sonar.server.branch.ws.ProjectBranchesParameters.ACTION_DELETE
import static org.sonar.server.branch.ws.ProjectBranchesParameters.PARAM_BRANCH;
import static org.sonar.server.branch.ws.ProjectBranchesParameters.PARAM_PROJECT;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
-import static org.sonar.server.project.Project.from;
public class DeleteAction implements BranchWsAction {
private final DbClient dbClient;
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityAction.java
index be3c1414890..d5020e4663c 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityAction.java
@@ -285,9 +285,9 @@ public class ActivityAction implements CeWsAction {
String componentQuery = request.getQ();
if (entity != null) {
- query.setMainComponentUuid(entity.getUuid());
+ query.setEntityUuid(entity.getUuid());
} else if (componentQuery != null) {
- query.setMainComponentUuids(loadComponents(dbSession, componentQuery).stream()
+ query.setEntityUuids(loadComponents(dbSession, componentQuery).stream()
.map(ComponentDto::uuid)
.collect(toList()));
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityStatusAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityStatusAction.java
index 71c758b8f6d..9b0bc239cfb 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityStatusAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ActivityStatusAction.java
@@ -83,14 +83,14 @@ public class ActivityStatusAction implements CeWsAction {
private ActivityStatusWsResponse doHandle(Request request) {
try (DbSession dbSession = dbClient.openSession(false)) {
- Optional<EntityDto> component = searchComponent(dbSession, request);
- String componentUuid = component.map(EntityDto::getUuid).orElse(null);
- checkPermissions(component.orElse(null));
- int pendingCount = dbClient.ceQueueDao().countByStatusAndMainComponentUuid(dbSession, CeQueueDto.Status.PENDING, componentUuid);
- int inProgressCount = dbClient.ceQueueDao().countByStatusAndMainComponentUuid(dbSession, CeQueueDto.Status.IN_PROGRESS, componentUuid);
- int failingCount = dbClient.ceActivityDao().countLastByStatusAndMainComponentUuid(dbSession, CeActivityDto.Status.FAILED, componentUuid);
+ Optional<EntityDto> entity = searchEntity(dbSession, request);
+ String entityUuid = entity.map(EntityDto::getUuid).orElse(null);
+ checkPermissions(entity.orElse(null));
+ int pendingCount = dbClient.ceQueueDao().countByStatusAndEntityUuid(dbSession, CeQueueDto.Status.PENDING, entityUuid);
+ int inProgressCount = dbClient.ceQueueDao().countByStatusAndEntityUuid(dbSession, CeQueueDto.Status.IN_PROGRESS, entityUuid);
+ int failingCount = dbClient.ceActivityDao().countLastByStatusAndEntityUuid(dbSession, CeActivityDto.Status.FAILED, entityUuid);
- Optional<Long> creationDate = dbClient.ceQueueDao().selectCreationDateOfOldestPendingByMainComponentUuid(dbSession, componentUuid);
+ Optional<Long> creationDate = dbClient.ceQueueDao().selectCreationDateOfOldestPendingByEntityUuid(dbSession, entityUuid);
ActivityStatusWsResponse.Builder builder = ActivityStatusWsResponse.newBuilder()
.setPending(pendingCount)
@@ -106,7 +106,7 @@ public class ActivityStatusAction implements CeWsAction {
}
}
- private Optional<EntityDto> searchComponent(DbSession dbSession, Request request) {
+ private Optional<EntityDto> searchEntity(DbSession dbSession, Request request) {
EntityDto entity = null;
if (request.getComponentKey() != null) {
entity = componentFinder.getEntityByKey(dbSession, request.getComponentKey());
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ComponentAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ComponentAction.java
index b9178c473ba..7ea20e7da03 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ComponentAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/ComponentAction.java
@@ -82,9 +82,9 @@ public class ComponentAction implements CeWsAction {
try (DbSession dbSession = dbClient.openSession(false)) {
ComponentDto component = loadComponent(dbSession, wsRequest);
userSession.checkComponentPermission(UserRole.USER, component);
- List<CeQueueDto> queueDtos = dbClient.ceQueueDao().selectByMainComponentUuid(dbSession, component.uuid());
+ List<CeQueueDto> queueDtos = dbClient.ceQueueDao().selectByEntityUuid(dbSession, component.uuid());
CeTaskQuery activityQuery = new CeTaskQuery()
- .setMainComponentUuid(component.uuid())
+ .setEntityUuid(component.uuid())
.setOnlyCurrents(true);
List<CeActivityDto> activityDtos = dbClient.ceActivityDao().selectByQuery(dbSession, activityQuery, forPage(1).andSize(1));
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java
index ff3ef6ce765..7a05db123a2 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java
@@ -90,10 +90,6 @@ public class PermissionWsSupport {
return null;
}
- public ComponentDto getRootComponent(DbSession dbSession, ProjectWsRef projectRef) {
- return componentFinder.getRootComponentByUuidOrKey(dbSession, projectRef.uuid(), projectRef.key());
- }
-
public GroupUuidOrAnyone findGroup(DbSession dbSession, Request request) {
String groupName = request.mandatoryParam(PARAM_GROUP_NAME);
return groupWsSupport.findGroupOrAnyone(dbSession, groupName);
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/DeleteAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/DeleteAction.java
index 0417946b832..f6ff00362e5 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/DeleteAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/DeleteAction.java
@@ -34,7 +34,6 @@ import org.sonar.server.project.ProjectLifeCycleListeners;
import org.sonar.server.user.UserSession;
import static java.util.Collections.singleton;
-import static org.sonar.server.project.Project.from;
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_PROJECT;
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/UpdateVisibilityAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/UpdateVisibilityAction.java
index aca277a46c0..6d0ca25d61f 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/UpdateVisibilityAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/UpdateVisibilityAction.java
@@ -29,13 +29,11 @@ import org.sonar.core.util.Uuids;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.component.BranchDto;
-import org.sonar.db.component.ComponentDto;
import org.sonar.db.entity.EntityDto;
import org.sonar.db.permission.GroupPermissionDto;
import org.sonar.db.permission.UserPermissionDto;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserId;
-import org.sonar.server.component.ComponentFinder;
import org.sonar.server.es.ProjectIndexer;
import org.sonar.server.es.ProjectIndexers;
import org.sonar.server.exceptions.BadRequestException;
@@ -58,16 +56,13 @@ import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_VISIBIL
public class UpdateVisibilityAction implements ProjectsWsAction {
private final DbClient dbClient;
- private final ComponentFinder componentFinder;
private final UserSession userSession;
private final ProjectIndexers projectIndexers;
private final UuidFactory uuidFactory;
private final Configuration configuration;
- public UpdateVisibilityAction(DbClient dbClient, ComponentFinder componentFinder, UserSession userSession,
- ProjectIndexers projectIndexers, UuidFactory uuidFactory, Configuration configuration) {
+ public UpdateVisibilityAction(DbClient dbClient, UserSession userSession, ProjectIndexers projectIndexers, UuidFactory uuidFactory, Configuration configuration) {
this.dbClient = dbClient;
- this.componentFinder = componentFinder;
this.userSession = userSession;
this.projectIndexers = projectIndexers;
this.uuidFactory = uuidFactory;
@@ -148,8 +143,8 @@ public class UpdateVisibilityAction implements ProjectsWsAction {
}
private boolean noPendingTask(DbSession dbSession, String entityKey) {
- ComponentDto componentDto = componentFinder.getByKey(dbSession, entityKey);
- return dbClient.ceQueueDao().selectByMainComponentUuid(dbSession, componentDto.uuid()).isEmpty();
+ EntityDto entityDto = dbClient.entityDao().selectByKey(dbSession, entityKey).orElseThrow(() -> new IllegalStateException("Can't find entity " + entityKey));
+ return dbClient.ceQueueDao().selectByEntityUuid(dbSession, entityDto.getUuid()).isEmpty();
}
private void updatePermissionsToPrivate(DbSession dbSession, EntityDto entity) {
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/SearchAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/SearchAction.java
index 423604add19..a888645d3b9 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/SearchAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/SearchAction.java
@@ -148,7 +148,7 @@ public class SearchAction implements QualityGatesWsAction {
private List<ProjectQgateAssociationDto> keepAuthorizedProjects(DbSession dbSession, List<ProjectQgateAssociationDto> projects) {
List<String> projectUuids = projects.stream().map(ProjectQgateAssociationDto::getUuid).collect(MoreCollectors.toList());
- Collection<String> authorizedProjectIds = dbClient.authorizationDao().keepAuthorizedEntityUuids(dbSession, projectUuids, userSession.getUuid(), UserRole.USER);
- return projects.stream().filter(project -> authorizedProjectIds.contains(project.getUuid())).collect(MoreCollectors.toList());
+ Collection<String> authorizedProjectUuids = dbClient.authorizationDao().keepAuthorizedEntityUuids(dbSession, projectUuids, userSession.getUuid(), UserRole.USER);
+ return projects.stream().filter(project -> authorizedProjectUuids.contains(project.getUuid())).collect(MoreCollectors.toList());
}
}
diff --git a/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/ce/ws/submit-example.json b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/ce/ws/submit-example.json
index 7cee04f5da8..7444bef0380 100644
--- a/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/ce/ws/submit-example.json
+++ b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/ce/ws/submit-example.json
@@ -1,4 +1,4 @@
{
"taskId": "TASK_1",
- "projectId": "PROJECT_1"
+ "projectId": "BRANCH_1"
}
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/ws/SubmitActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/ws/SubmitActionTest.java
index fee8e85a606..4f5c0a1ab3f 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/ws/SubmitActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/ws/SubmitActionTest.java
@@ -46,12 +46,14 @@ import static org.mockito.Mockito.when;
public class SubmitActionTest {
private static final String PROJECT_UUID = "PROJECT_1";
- private static final CeTask.Component COMPONENT = new CeTask.Component(PROJECT_UUID, "KEY_1", "NAME_1");
+ private static final String BRANCH_UUID = "BRANCH_1";
+ private static final CeTask.Component ENTITY = new CeTask.Component(PROJECT_UUID, "KEY_1", "NAME_1");
+ private static final CeTask.Component COMPONENT = new CeTask.Component(BRANCH_UUID, "KEY_1", "NAME_1");
private static final CeTask A_CE_TASK = new CeTask.Builder()
.setUuid("TASK_1")
.setType(CeTaskTypes.REPORT)
.setComponent(COMPONENT)
- .setMainComponent(COMPONENT)
+ .setEntity(ENTITY)
.setSubmitter(new CeTask.User("UUID_1", "LOGIN_1"))
.build();
@@ -75,7 +77,7 @@ public class SubmitActionTest {
verify(reportSubmitter).submit(eq("my_project"), eq("My Project"), anyMap(), any());
assertThat(submitResponse.getTaskId()).isEqualTo("TASK_1");
- assertThat(submitResponse.getProjectId()).isEqualTo(PROJECT_UUID);
+ assertThat(submitResponse.getProjectId()).isEqualTo(BRANCH_UUID);
}
@Test
@@ -114,7 +116,7 @@ public class SubmitActionTest {
verify(reportSubmitter).submit(eq("my_project"), eq(expectedName), anyMap(), any());
assertThat(submitResponse.getTaskId()).isEqualTo("TASK_1");
- assertThat(submitResponse.getProjectId()).isEqualTo(PROJECT_UUID);
+ assertThat(submitResponse.getProjectId()).isEqualTo(BRANCH_UUID);
}
@Test