diff options
Diffstat (limited to 'server/sonar-db-dao/src')
16 files changed, 101 insertions, 211 deletions
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/component/BranchDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/component/BranchDaoIT.java index 1b5a45eabb2..3240684ee32 100644 --- a/server/sonar-db-dao/src/it/java/org/sonar/db/component/BranchDaoIT.java +++ b/server/sonar-db-dao/src/it/java/org/sonar/db/component/BranchDaoIT.java @@ -131,7 +131,7 @@ class BranchDaoIT { MetricDto qg = db.measures().insertMetric(m -> m.setKey(ALERT_STATUS_KEY)); SnapshotDto analysis = db.components().insertSnapshot(dto); - db.measures().insertMeasure(dto, analysis, qg, pm -> pm.setData("OK")); + db.measures().insertProjectMeasure(dto, analysis, qg, pm -> pm.setData("OK")); var branchMeasures = underTest.selectBranchMeasuresWithCaycMetric(dbSession); 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/ProjectMeasureDaoIT.java index 7fd4c41144d..1749fd7ebc9 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/ProjectMeasureDaoIT.java @@ -41,7 +41,7 @@ import static org.sonar.db.component.ComponentTesting.newDirectory; import static org.sonar.db.component.ComponentTesting.newFileDto; import static org.sonar.db.component.SnapshotTesting.newAnalysis; -class MeasureDaoIT { +class ProjectMeasureDaoIT { private MetricDto coverage; private MetricDto complexity; @@ -51,7 +51,7 @@ class MeasureDaoIT { private final DbTester db = DbTester.create(System2.INSTANCE); private final DbClient dbClient = db.getDbClient(); private final DbSession dbSession = db.getSession(); - private final MeasureDao underTest = db.getDbClient().measureDao(); + private final ProjectMeasureDao underTest = db.getDbClient().projectMeasureDao(); @BeforeEach void before() { @@ -69,12 +69,12 @@ class MeasureDaoIT { SnapshotDto lastAnalysis = insertAnalysis(project.uuid(), true); SnapshotDto pastAnalysis = insertAnalysis(project.uuid(), false); - MeasureDto pastMeasure = MeasureTesting.newMeasureDto(metric, file, pastAnalysis); - MeasureDto lastMeasure = MeasureTesting.newMeasureDto(metric, file, lastAnalysis); + ProjectMeasureDto pastMeasure = MeasureTesting.newProjectMeasureDto(metric, file, pastAnalysis); + ProjectMeasureDto lastMeasure = MeasureTesting.newProjectMeasureDto(metric, file, lastAnalysis); underTest.insert(db.getSession(), pastMeasure); underTest.insert(db.getSession(), lastMeasure); - MeasureDto selected = underTest.selectLastMeasure(db.getSession(), file.uuid(), metric.getKey()).get(); + ProjectMeasureDto selected = underTest.selectLastMeasure(db.getSession(), file.uuid(), metric.getKey()).get(); assertThat(selected).isEqualToComparingFieldByField(lastMeasure); assertThat(underTest.selectLastMeasure(dbSession, "_missing_", metric.getKey())).isEmpty(); @@ -90,8 +90,8 @@ class MeasureDaoIT { SnapshotDto lastAnalysis = insertAnalysis(project.uuid(), true); SnapshotDto pastAnalysis = insertAnalysis(project.uuid(), false); - MeasureDto pastMeasure = MeasureTesting.newMeasureDto(metric, file, pastAnalysis); - MeasureDto lastMeasure = MeasureTesting.newMeasureDto(metric, file, lastAnalysis); + ProjectMeasureDto pastMeasure = MeasureTesting.newProjectMeasureDto(metric, file, pastAnalysis); + ProjectMeasureDto lastMeasure = MeasureTesting.newProjectMeasureDto(metric, file, lastAnalysis); underTest.insert(db.getSession(), pastMeasure); underTest.insert(db.getSession(), lastMeasure); @@ -179,22 +179,22 @@ class MeasureDaoIT { db.commit(); // Measures of project for last and previous analyses - List<MeasureDto> result = underTest.selectPastMeasures(db.getSession(), + List<ProjectMeasureDto> result = underTest.selectPastMeasures(db.getSession(), new PastMeasureQuery(project.uuid(), singletonList(ncloc.getUuid()), previousAnalysisDate, lastAnalysisDate + 1_000L)); - assertThat(result).hasSize(2).extracting(MeasureDto::getData).containsOnly("PROJECT_M1", "PROJECT_M2"); + assertThat(result).hasSize(2).extracting(ProjectMeasureDto::getData).containsOnly("PROJECT_M1", "PROJECT_M2"); } private void verifyMeasure(String componentUuid, String metricKey, String analysisUuid, String value) { - Optional<MeasureDto> measure = underTest.selectMeasure(db.getSession(), analysisUuid, componentUuid, metricKey); - assertThat(measure.map(MeasureDto::getData)).contains(value); - assertThat(measure.map(MeasureDto::getUuid)).isNotEmpty(); + Optional<ProjectMeasureDto> measure = underTest.selectMeasure(db.getSession(), analysisUuid, componentUuid, metricKey); + assertThat(measure.map(ProjectMeasureDto::getData)).contains(value); + assertThat(measure.map(ProjectMeasureDto::getUuid)).isNotEmpty(); } private void verifyMeasure(String componentUuid, String metricKey, String value) { - Optional<MeasureDto> measure = underTest.selectLastMeasure(db.getSession(), componentUuid, metricKey); - assertThat(measure.map(MeasureDto::getData)).contains(value); - assertThat(measure.map(MeasureDto::getUuid)).isNotEmpty(); + Optional<ProjectMeasureDto> measure = underTest.selectLastMeasure(db.getSession(), componentUuid, metricKey); + assertThat(measure.map(ProjectMeasureDto::getData)).contains(value); + assertThat(measure.map(ProjectMeasureDto::getUuid)).isNotEmpty(); } private void verifyNoMeasure(String componentUuid, String metricKey, String analysisUuid) { @@ -206,14 +206,14 @@ class MeasureDaoIT { } private void insertMeasure(String value, String analysisUuid, String componentUuid, String metricUuid) { - MeasureDto measure = MeasureTesting.newMeasure() + ProjectMeasureDto measure = MeasureTesting.newProjectMeasure() .setAnalysisUuid(analysisUuid) .setComponentUuid(componentUuid) .setMetricUuid(metricUuid) // as ids can't be forced when inserting measures, the field "data" // is used to store a virtual value. It is used then in assertions. .setData(value); - db.getDbClient().measureDao().insert(db.getSession(), measure); + db.getDbClient().projectMeasureDao().insert(db.getSession(), measure); } private SnapshotDto insertAnalysis(String projectUuid, boolean isLast) { diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeCommandsIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeCommandsIT.java index 818fd758235..0653bb15b9d 100644 --- a/server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeCommandsIT.java +++ b/server/sonar-db-dao/src/it/java/org/sonar/db/purge/PurgeCommandsIT.java @@ -318,10 +318,10 @@ class PurgeCommandsIT { int count = 5; Stream.of(metric1, metric2) .forEach(metric -> IntStream.range(0, count).forEach(i -> { - dbTester.measures().insertMeasure(projectOrView, analysis1, metric); - dbTester.measures().insertMeasure(projectOrView, analysis2, metric); - dbTester.measures().insertMeasure(otherProject, otherAnalysis1, metric); - dbTester.measures().insertMeasure(otherProject, otherAnalysis2, metric); + dbTester.measures().insertProjectMeasure(projectOrView, analysis1, metric); + dbTester.measures().insertProjectMeasure(projectOrView, analysis2, metric); + dbTester.measures().insertProjectMeasure(otherProject, otherAnalysis1, metric); + dbTester.measures().insertProjectMeasure(otherProject, otherAnalysis2, metric); })); underTest.deleteAnalyses(projectOrView.uuid()); @@ -457,8 +457,8 @@ class PurgeCommandsIT { int count = 5; Stream.of(metric1, metric2) .forEach(metric -> IntStream.range(0, count).forEach(i -> { - dbTester.measures().insertMeasure(projectOrView, analysis, metric); - dbTester.measures().insertMeasure(projectOrView, otherAnalysis, metric); + dbTester.measures().insertProjectMeasure(projectOrView, analysis, metric); + dbTester.measures().insertProjectMeasure(projectOrView, otherAnalysis, metric); })); underTest.deleteAnalyses(singletonList(analysis.getUuid())); 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 2bef9d30cc9..489aaf8b2e8 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 @@ -78,7 +78,7 @@ import org.sonar.db.issue.AnticipatedTransitionDto; import org.sonar.db.issue.IssueChangeDto; import org.sonar.db.issue.IssueDto; import org.sonar.db.measure.LiveMeasureDto; -import org.sonar.db.measure.MeasureDto; +import org.sonar.db.measure.ProjectMeasureDto; import org.sonar.db.metric.MetricDto; import org.sonar.db.newcodeperiod.NewCodePeriodDto; import org.sonar.db.newcodeperiod.NewCodePeriodType; @@ -668,7 +668,7 @@ project.getProjectDto().getUuid()), PurgeListener.EMPTY, new PurgeProfiler()); MetricDto metric = db.measures().insertMetric(); ProjectData project = db.components().insertPrivateProject(); BranchDto mainBranch = db.getDbClient().branchDao().selectByUuid(db.getSession(), project.getMainBranchDto().getUuid()).get(); - RuleDto rule = db.rules().insert(); + db.rules().insert(); ProjectData app = db.components().insertPrivateApplication(); BranchDto appBranch = db.components().insertProjectBranch(app.getProjectDto()); @@ -680,12 +680,12 @@ project.getProjectDto().getUuid()), PurgeListener.EMPTY, new PurgeProfiler()); SnapshotDto otherAppAnalysis = db.components().insertSnapshot(otherApp.getProjectDto()); SnapshotDto otherAppBranchAnalysis = db.components().insertSnapshot(otherAppBranch); - MeasureDto appMeasure = db.measures().insertMeasure(app.getMainBranchComponent(), appAnalysis, metric); + db.measures().insertProjectMeasure(app.getMainBranchComponent(), appAnalysis, metric); ComponentDto appBranchComponent = db.components().getComponentDto(appBranch); - MeasureDto appBranchMeasure = db.measures().insertMeasure(appBranchComponent, appBranchAnalysis, metric); - MeasureDto otherAppMeasure = db.measures().insertMeasure(otherApp.getMainBranchComponent(), otherAppAnalysis, metric); + db.measures().insertProjectMeasure(appBranchComponent, appBranchAnalysis, metric); + ProjectMeasureDto otherAppMeasure = db.measures().insertProjectMeasure(otherApp.getMainBranchComponent(), otherAppAnalysis, metric); ComponentDto otherAppBranchComponent = db.components().getComponentDto(otherAppBranch); - MeasureDto otherAppBranchMeasure = db.measures().insertMeasure(otherAppBranchComponent, otherAppBranchAnalysis, metric); + ProjectMeasureDto otherAppBranchMeasure = db.measures().insertProjectMeasure(otherAppBranchComponent, otherAppBranchAnalysis, metric); db.components().addApplicationProject(app.getProjectDto(), project.getProjectDto()); db.components().addApplicationProject(otherApp.getProjectDto(), project.getProjectDto()); @@ -714,7 +714,7 @@ mainBranch); MetricDto metric = db.measures().insertMetric(); ProjectData project = db.components().insertPrivateProject(); BranchDto projectBranch = db.getDbClient().branchDao().selectByUuid(db.getSession(), project.getMainBranchDto().getUuid()).get(); - RuleDto rule = db.rules().insert(); + db.rules().insert(); ProjectData app = db.components().insertPrivateApplication(); BranchDto appBranch = db.components().insertProjectBranch(app.getProjectDto()); @@ -726,12 +726,12 @@ mainBranch); SnapshotDto otherAppAnalysis = db.components().insertSnapshot(otherApp.getProjectDto()); SnapshotDto otherAppBranchAnalysis = db.components().insertSnapshot(otherAppBranch); - MeasureDto appMeasure = db.measures().insertMeasure(app.getMainBranchComponent(), appAnalysis, metric); + ProjectMeasureDto appMeasure = db.measures().insertProjectMeasure(app.getMainBranchComponent(), appAnalysis, metric); ComponentDto appBranchComponent = db.components().getComponentDto(appBranch); - MeasureDto appBranchMeasure = db.measures().insertMeasure(appBranchComponent, appBranchAnalysis, metric); - MeasureDto otherAppMeasure = db.measures().insertMeasure(otherApp.getMainBranchComponent(), otherAppAnalysis, metric); + db.measures().insertProjectMeasure(appBranchComponent, appBranchAnalysis, metric); + ProjectMeasureDto otherAppMeasure = db.measures().insertProjectMeasure(otherApp.getMainBranchComponent(), otherAppAnalysis, metric); ComponentDto otherAppBranchComponent = db.components().getComponentDto(otherAppBranch); - MeasureDto otherAppBranchMeasure = db.measures().insertMeasure(otherAppBranchComponent, otherAppBranchAnalysis, metric); + ProjectMeasureDto otherAppBranchMeasure = db.measures().insertProjectMeasure(otherAppBranchComponent, otherAppBranchAnalysis, metric); db.components().addApplicationProject(app.getProjectDto(), project.getProjectDto()); db.components().addApplicationProject(otherApp.getProjectDto(), project.getProjectDto()); @@ -2027,7 +2027,7 @@ oldCreationDate)); } private void insertMeasureFor(ComponentDto... components) { - Arrays.stream(components).forEach(componentDto -> db.getDbClient().measureDao().insert(dbSession, new MeasureDto() + Arrays.stream(components).forEach(componentDto -> db.getDbClient().projectMeasureDao().insert(dbSession, new ProjectMeasureDto() .setMetricUuid(randomAlphabetic(3)) .setComponentUuid(componentDto.uuid()) .setAnalysisUuid(randomAlphabetic(3)))); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java index bb7b126d088..fb0ac071f4b 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoModule.java @@ -48,7 +48,7 @@ import org.sonar.db.issue.IssueChangeDao; import org.sonar.db.issue.IssueDao; import org.sonar.db.issue.IssueFixedDao; import org.sonar.db.measure.LiveMeasureDao; -import org.sonar.db.measure.MeasureDao; +import org.sonar.db.measure.ProjectMeasureDao; import org.sonar.db.metric.MetricDao; import org.sonar.db.newcodeperiod.NewCodePeriodDao; import org.sonar.db.notification.NotificationQueueDao; @@ -148,7 +148,7 @@ public class DaoModule extends Module { IssueDao.class, IssueFixedDao.class, LiveMeasureDao.class, - MeasureDao.class, + ProjectMeasureDao.class, MetricDao.class, NewCodePeriodDao.class, NotificationQueueDao.class, diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java b/server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java index 8f68429cbb0..598d3663e1c 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/DbClient.java @@ -48,7 +48,7 @@ import org.sonar.db.issue.IssueChangeDao; import org.sonar.db.issue.IssueDao; import org.sonar.db.issue.IssueFixedDao; import org.sonar.db.measure.LiveMeasureDao; -import org.sonar.db.measure.MeasureDao; +import org.sonar.db.measure.ProjectMeasureDao; import org.sonar.db.metric.MetricDao; import org.sonar.db.newcodeperiod.NewCodePeriodDao; import org.sonar.db.notification.NotificationQueueDao; @@ -126,7 +126,7 @@ public class DbClient { private final SnapshotDao snapshotDao; private final ComponentDao componentDao; private final ComponentKeyUpdaterDao componentKeyUpdaterDao; - private final MeasureDao measureDao; + private final ProjectMeasureDao projectMeasureDao; private final UserDao userDao; private final UserGroupDao userGroupDao; private final UserTokenDao userTokenDao; @@ -220,7 +220,7 @@ public class DbClient { snapshotDao = getDao(map, SnapshotDao.class); componentDao = getDao(map, ComponentDao.class); componentKeyUpdaterDao = getDao(map, ComponentKeyUpdaterDao.class); - measureDao = getDao(map, MeasureDao.class); + projectMeasureDao = getDao(map, ProjectMeasureDao.class); userDao = getDao(map, UserDao.class); userGroupDao = getDao(map, UserGroupDao.class); userTokenDao = getDao(map, UserTokenDao.class); @@ -389,8 +389,8 @@ public class DbClient { return componentKeyUpdaterDao; } - public MeasureDao measureDao() { - return measureDao; + public ProjectMeasureDao projectMeasureDao() { + return projectMeasureDao; } public UserDao userDao() { @@ -647,4 +647,3 @@ public class DbClient { return projectExportDao; } } - diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java b/server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java index e14f8adac8a..543c465f450 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java @@ -83,8 +83,8 @@ import org.sonar.db.issue.NewCodeReferenceIssueDto; import org.sonar.db.issue.PrIssueDto; import org.sonar.db.measure.LargestBranchNclocDto; import org.sonar.db.measure.LiveMeasureMapper; -import org.sonar.db.measure.MeasureDto; -import org.sonar.db.measure.MeasureMapper; +import org.sonar.db.measure.ProjectMeasureDto; +import org.sonar.db.measure.ProjectMeasureMapper; import org.sonar.db.measure.ProjectLocDistributionDto; import org.sonar.db.metric.MetricMapper; import org.sonar.db.newcodeperiod.NewCodePeriodMapper; @@ -226,7 +226,7 @@ public class MyBatis { confBuilder.loadAlias("Impact", ImpactDto.class); confBuilder.loadAlias("Issue", IssueDto.class); confBuilder.loadAlias("NewCodeReferenceIssue", NewCodeReferenceIssueDto.class); - confBuilder.loadAlias("Measure", MeasureDto.class); + confBuilder.loadAlias("ProjectMeasure", ProjectMeasureDto.class); confBuilder.loadAlias("LargestBranchNclocDto", LargestBranchNclocDto.class); confBuilder.loadAlias("NotificationQueue", NotificationQueueDto.class); confBuilder.loadAlias("PermissionTemplateCharacteristic", PermissionTemplateCharacteristicDto.class); @@ -304,7 +304,7 @@ public class MyBatis { IssueChangeMapper.class, IssueMapper.class, IssueFixedMapper.class, - MeasureMapper.class, + ProjectMeasureMapper.class, MetricMapper.class, NewCodePeriodMapper.class, NotificationQueueMapper.class, diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/PastMeasureDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/PastMeasureDto.java deleted file mode 100644 index 71ec6f669aa..00000000000 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/PastMeasureDto.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2024 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.CheckForNull; -import javax.annotation.Nullable; - -import static java.util.Objects.requireNonNull; - -public class PastMeasureDto { - - private String metricUuid; - - @CheckForNull - private Double value; - - public double getValue() { - requireNonNull(value); - return value; - } - - PastMeasureDto setValue(@Nullable Double value) { - this.value = value; - return this; - } - - public boolean hasValue() { - return value != null; - } - - public String getMetricUuid() { - return metricUuid; - } - - PastMeasureDto setMetricUuid(String i) { - this.metricUuid = i; - return this; - } -} diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMeasureDao.java index db2407623df..c0709a83cb4 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMeasureDao.java @@ -27,19 +27,19 @@ import org.sonar.core.util.UuidFactory; import org.sonar.db.Dao; import org.sonar.db.DbSession; -public class MeasureDao implements Dao { +public class ProjectMeasureDao implements Dao { private final UuidFactory uuidFactory; - public MeasureDao(UuidFactory uuidFactory) { + public ProjectMeasureDao(UuidFactory uuidFactory) { this.uuidFactory = uuidFactory; } - public Optional<MeasureDto> selectLastMeasure(DbSession dbSession, String componentUuid, String metricKey) { + public Optional<ProjectMeasureDto> selectLastMeasure(DbSession dbSession, String componentUuid, String metricKey) { return Optional.ofNullable(mapper(dbSession).selectLastMeasure(componentUuid, metricKey)); } - public Optional<MeasureDto> selectMeasure(DbSession dbSession, String analysisUuid, String componentUuid, String metricKey) { + public Optional<ProjectMeasureDto> selectMeasure(DbSession dbSession, String analysisUuid, String componentUuid, String metricKey) { return Optional.ofNullable(mapper(dbSession).selectMeasure(analysisUuid, componentUuid, metricKey)); } @@ -52,28 +52,28 @@ public class MeasureDao implements Dao { * * If no constraints on dates, all the history is returned */ - public List<MeasureDto> selectPastMeasures(DbSession dbSession, PastMeasureQuery query) { + public List<ProjectMeasureDto> selectPastMeasures(DbSession dbSession, PastMeasureQuery query) { return mapper(dbSession).selectPastMeasuresOnSeveralAnalyses(query); } - public void insert(DbSession session, MeasureDto measureDto) { - measureDto.setUuid(uuidFactory.create()); - mapper(session).insert(measureDto); + public void insert(DbSession session, ProjectMeasureDto projectMeasureDto) { + projectMeasureDto.setUuid(uuidFactory.create()); + mapper(session).insert(projectMeasureDto); } - public void insert(DbSession session, Collection<MeasureDto> items) { - for (MeasureDto item : items) { + public void insert(DbSession session, Collection<ProjectMeasureDto> items) { + for (ProjectMeasureDto item : items) { item.setUuid(uuidFactory.create()); insert(session, item); } } - public void insert(DbSession session, MeasureDto item, MeasureDto... others) { + public void insert(DbSession session, ProjectMeasureDto item, ProjectMeasureDto... others) { insert(session, Lists.asList(item, others)); } - private static MeasureMapper mapper(DbSession session) { - return session.getMapper(MeasureMapper.class); + private static ProjectMeasureMapper mapper(DbSession session) { + return session.getMapper(ProjectMeasureMapper.class); } } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMeasureDto.java index 0c70d6143ba..fe65d2929c3 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMeasureDto.java @@ -24,7 +24,7 @@ import java.nio.charset.StandardCharsets; import javax.annotation.CheckForNull; import javax.annotation.Nullable; -public class MeasureDto { +public class ProjectMeasureDto { private static final int MAX_TEXT_VALUE_LENGTH = 4000; private String uuid; @@ -37,6 +37,10 @@ public class MeasureDto { private String analysisUuid; private String metricUuid; + public ProjectMeasureDto() { + // empty constructor + } + public String getUuid() { return uuid; } @@ -50,7 +54,7 @@ public class MeasureDto { return value; } - public MeasureDto setValue(@Nullable Double value) { + public ProjectMeasureDto setValue(@Nullable Double value) { this.value = value; return this; } @@ -59,7 +63,7 @@ public class MeasureDto { return componentUuid; } - public MeasureDto setComponentUuid(String s) { + public ProjectMeasureDto setComponentUuid(String s) { this.componentUuid = s; return this; } @@ -72,7 +76,7 @@ public class MeasureDto { return textValue; } - public MeasureDto setData(@Nullable String data) { + public ProjectMeasureDto setData(@Nullable String data) { if (data == null) { this.textValue = null; this.dataValue = null; @@ -92,7 +96,7 @@ public class MeasureDto { return alertStatus; } - public MeasureDto setAlertStatus(@Nullable String alertStatus) { + public ProjectMeasureDto setAlertStatus(@Nullable String alertStatus) { this.alertStatus = alertStatus; return this; } @@ -102,7 +106,7 @@ public class MeasureDto { return alertText; } - public MeasureDto setAlertText(@Nullable String alertText) { + public ProjectMeasureDto setAlertText(@Nullable String alertText) { this.alertText = alertText; return this; } @@ -111,7 +115,7 @@ public class MeasureDto { return metricUuid; } - public MeasureDto setMetricUuid(String metricUuid) { + public ProjectMeasureDto setMetricUuid(String metricUuid) { this.metricUuid = metricUuid; return this; } @@ -120,7 +124,7 @@ public class MeasureDto { return analysisUuid; } - public MeasureDto setAnalysisUuid(String s) { + public ProjectMeasureDto setAnalysisUuid(String s) { this.analysisUuid = s; return this; } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMeasureMapper.java index de9e823f186..4d59b61de3d 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/ProjectMeasureMapper.java @@ -23,23 +23,23 @@ import java.util.List; import javax.annotation.CheckForNull; import org.apache.ibatis.annotations.Param; -public interface MeasureMapper { +public interface ProjectMeasureMapper { @CheckForNull - MeasureDto selectLastMeasure( + ProjectMeasureDto selectLastMeasure( @Param("componentUuid") String componentUuid, @Param("metricKey") String metricKey ); @CheckForNull - MeasureDto selectMeasure( + ProjectMeasureDto selectMeasure( @Param("analysisUuid") String analysisUuid, @Param("componentUuid") String componentUuid, @Param("metricKey") String metricKey ); - List<MeasureDto> selectPastMeasuresOnSeveralAnalyses(@Param("query") PastMeasureQuery query); + List<ProjectMeasureDto> selectPastMeasuresOnSeveralAnalyses(@Param("query") PastMeasureQuery query); - void insert(MeasureDto measureDto); + void insert(ProjectMeasureDto projectMeasureDto); } diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/measure/MeasureMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/measure/ProjectMeasureMapper.xml index a864b092452..60831985ea4 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/measure/MeasureMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/measure/ProjectMeasureMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd"> -<mapper namespace="org.sonar.db.measure.MeasureMapper"> +<mapper namespace="org.sonar.db.measure.ProjectMeasureMapper"> <sql id="measureColumns"> pm.uuid as uuid, @@ -15,7 +15,7 @@ pm.measure_data as dataValue </sql> - <select id="selectLastMeasure" parameterType="map" resultType="Measure"> + <select id="selectLastMeasure" parameterType="map" resultType="ProjectMeasure"> select <include refid="measureColumns"/> from project_measures pm inner join metrics m on m.uuid = pm.metric_uuid @@ -26,7 +26,7 @@ s.islast= ${_true} </select> - <select id="selectMeasure" parameterType="map" resultType="Measure"> + <select id="selectMeasure" parameterType="map" resultType="ProjectMeasure"> select <include refid="measureColumns"/> from project_measures pm inner join metrics m on m.uuid = pm.metric_uuid @@ -44,7 +44,7 @@ </if> </sql> - <select id="selectPastMeasuresOnSeveralAnalyses" parameterType="map" resultType="Measure"> + <select id="selectPastMeasuresOnSeveralAnalyses" parameterType="map" resultType="ProjectMeasure"> select <include refid="measureColumns"/> from project_measures pm inner join snapshots analysis on analysis.uuid = pm.analysis_uuid @@ -60,7 +60,7 @@ and analysis.status=#{query.status, jdbcType=VARCHAR} </select> - <insert id="insert" parameterType="Measure" useGeneratedKeys="false"> + <insert id="insert" parameterType="ProjectMeasure" useGeneratedKeys="false"> insert into project_measures ( uuid, value, diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/measure/PastMeasureDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/measure/PastMeasureDtoTest.java deleted file mode 100644 index 99d153add58..00000000000 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/measure/PastMeasureDtoTest.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2024 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 org.junit.jupiter.api.Test; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; - -class PastMeasureDtoTest { - - @Test - void test_getter_and_setter() { - PastMeasureDto dto = new PastMeasureDto() - .setValue(1d) - .setMetricUuid("2"); - - assertThat(dto.hasValue()).isTrue(); - assertThat(dto.getValue()).isEqualTo(1d); - assertThat(dto.getMetricUuid()).isEqualTo("2"); - } - - @Test - void test_has_value() { - PastMeasureDto measureWithValue = new PastMeasureDto() - .setValue(1d) - .setMetricUuid("2"); - assertThat(measureWithValue.hasValue()).isTrue(); - - PastMeasureDto measureWithoutValue = new PastMeasureDto() - .setMetricUuid("2"); - assertThat(measureWithoutValue.hasValue()).isFalse(); - } - - @Test - void get_value_throw_a_NPE_if_value_is_null() { - assertThatThrownBy(() -> new PastMeasureDto().getValue()) - .isInstanceOf(NullPointerException.class); - } -} diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/measure/MeasureDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/measure/ProjectMeasureDtoTest.java index ef88cb24f84..8c28c8c9d8e 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/measure/MeasureDtoTest.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/measure/ProjectMeasureDtoTest.java @@ -24,9 +24,9 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -class MeasureDtoTest { +class ProjectMeasureDtoTest { - MeasureDto underTest = new MeasureDto(); + ProjectMeasureDto underTest = new ProjectMeasureDto(); @Test void test_getter_and_setter() { diff --git a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/measure/MeasureDbTester.java b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/measure/MeasureDbTester.java index d51698bba4d..1c6cf9abcd3 100644 --- a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/measure/MeasureDbTester.java +++ b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/measure/MeasureDbTester.java @@ -31,7 +31,7 @@ import org.sonar.db.component.SnapshotDto; import org.sonar.db.metric.MetricDto; import static org.sonar.db.measure.MeasureTesting.newLiveMeasure; -import static org.sonar.db.measure.MeasureTesting.newMeasureDto; +import static org.sonar.db.measure.MeasureTesting.newProjectMeasureDto; import static org.sonar.db.metric.MetricTesting.newMetricDto; public class MeasureDbTester { @@ -44,21 +44,21 @@ public class MeasureDbTester { } @SafeVarargs - public final MeasureDto insertMeasure(ComponentDto component, SnapshotDto analysis, MetricDto metricDto, Consumer<MeasureDto>... consumers) { - MeasureDto measureDto = newMeasureDto(metricDto, component, analysis); - Arrays.stream(consumers).forEach(c -> c.accept(measureDto)); - dbClient.measureDao().insert(dbSession, measureDto); + public final ProjectMeasureDto insertProjectMeasure(ComponentDto component, SnapshotDto analysis, MetricDto metricDto, Consumer<ProjectMeasureDto>... consumers) { + ProjectMeasureDto projectMeasureDto = newProjectMeasureDto(metricDto, component, analysis); + Arrays.stream(consumers).forEach(c -> c.accept(projectMeasureDto)); + dbClient.projectMeasureDao().insert(dbSession, projectMeasureDto); dbSession.commit(); - return measureDto; + return projectMeasureDto; } @SafeVarargs - public final MeasureDto insertMeasure(BranchDto branchDto, SnapshotDto analysis, MetricDto metricDto, Consumer<MeasureDto>... consumers) { - MeasureDto measureDto = newMeasureDto(metricDto, branchDto.getUuid(), analysis); - Arrays.stream(consumers).forEach(c -> c.accept(measureDto)); - dbClient.measureDao().insert(dbSession, measureDto); + public final ProjectMeasureDto insertProjectMeasure(BranchDto branchDto, SnapshotDto analysis, MetricDto metricDto, Consumer<ProjectMeasureDto>... consumers) { + ProjectMeasureDto projectMeasureDto = MeasureTesting.newProjectMeasureDto(metricDto, branchDto.getUuid(), analysis); + Arrays.stream(consumers).forEach(c -> c.accept(projectMeasureDto)); + dbClient.projectMeasureDao().insert(dbSession, projectMeasureDto); dbSession.commit(); - return measureDto; + return projectMeasureDto; } @SafeVarargs diff --git a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/measure/MeasureTesting.java b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/measure/MeasureTesting.java index 1beb000887c..a01b6d5ba26 100644 --- a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/measure/MeasureTesting.java +++ b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/measure/MeasureTesting.java @@ -38,23 +38,23 @@ public class MeasureTesting { // static methods only } - public static MeasureDto newMeasureDto(MetricDto metricDto, ComponentDto component, SnapshotDto analysis) { - return newMeasureDto(metricDto, component.uuid(), analysis); + public static ProjectMeasureDto newProjectMeasureDto(MetricDto metricDto, ComponentDto component, SnapshotDto analysis) { + return newProjectMeasureDto(metricDto, component.uuid(), analysis); } - public static MeasureDto newMeasureDto(MetricDto metricDto, String branchUuid, SnapshotDto analysis) { + public static ProjectMeasureDto newProjectMeasureDto(MetricDto metricDto, String branchUuid, SnapshotDto analysis) { checkNotNull(metricDto.getUuid()); checkNotNull(metricDto.getKey()); checkNotNull(branchUuid); checkNotNull(analysis.getUuid()); - return new MeasureDto() + return new ProjectMeasureDto() .setMetricUuid(metricDto.getUuid()) .setComponentUuid(branchUuid) .setAnalysisUuid(analysis.getUuid()); } - public static MeasureDto newMeasure() { - return new MeasureDto() + public static ProjectMeasureDto newProjectMeasure() { + return new ProjectMeasureDto() .setMetricUuid(String.valueOf(cursor++)) .setComponentUuid(String.valueOf(cursor++)) .setAnalysisUuid(String.valueOf(cursor++)) |