diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2022-05-04 15:47:32 -0500 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2022-05-25 20:03:16 +0000 |
commit | 89448847c08173c261453fc4aa3cf7fca23b6c8f (patch) | |
tree | 6cc95fb05ddbd1f0552d35a0630013ae7dab78fa /server/sonar-webserver-webapi | |
parent | 26c54237c1c3eb870b19c0a38176229a24c2cfe1 (diff) | |
download | sonarqube-89448847c08173c261453fc4aa3cf7fca23b6c8f.tar.gz sonarqube-89448847c08173c261453fc4aa3cf7fca23b6c8f.zip |
SONAR-16316 Fill report data
Diffstat (limited to 'server/sonar-webserver-webapi')
5 files changed, 13 insertions, 27 deletions
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/live/LiveQualityGateComputerImpl.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/live/LiveQualityGateComputerImpl.java index a844ae43f30..dd40744a261 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/live/LiveQualityGateComputerImpl.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/live/LiveQualityGateComputerImpl.java @@ -38,13 +38,13 @@ import org.sonar.db.measure.LiveMeasureDto; import org.sonar.db.metric.MetricDto; import org.sonar.db.project.ProjectDto; import org.sonar.db.qualitygate.QualityGateConditionDto; -import org.sonar.db.qualitygate.QualityGateDto; import org.sonar.server.qualitygate.Condition; import org.sonar.server.qualitygate.EvaluatedQualityGate; import org.sonar.server.qualitygate.QualityGate; import org.sonar.server.qualitygate.QualityGateConverter; import org.sonar.server.qualitygate.QualityGateEvaluator; import org.sonar.server.qualitygate.QualityGateFinder; +import org.sonar.server.qualitygate.QualityGateFinder.QualityGateData; import static org.sonar.core.util.stream.MoreCollectors.toHashSet; import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; @@ -63,9 +63,8 @@ public class LiveQualityGateComputerImpl implements LiveQualityGateComputer { @Override public QualityGate loadQualityGate(DbSession dbSession, ProjectDto project, BranchDto branch) { - QualityGateDto gateDto = qGateFinder.getQualityGate(dbSession, project) - .getQualityGate(); - Collection<QualityGateConditionDto> conditionDtos = dbClient.gateConditionDao().selectForQualityGate(dbSession, gateDto.getUuid()); + QualityGateData qg = qGateFinder.getEffectiveQualityGate(dbSession, project); + Collection<QualityGateConditionDto> conditionDtos = dbClient.gateConditionDao().selectForQualityGate(dbSession, qg.getUuid()); Set<String> metricUuids = conditionDtos.stream().map(QualityGateConditionDto::getMetricUuid) .collect(toHashSet(conditionDtos.size())); Map<String, MetricDto> metricsByUuid = dbClient.metricDao().selectByUuids(dbSession, metricUuids).stream() @@ -81,7 +80,7 @@ public class LiveQualityGateComputerImpl implements LiveQualityGateComputer { conditions = conditions.filter(Condition::isOnLeakPeriod); } - return new QualityGate(String.valueOf(gateDto.getUuid()), gateDto.getName(), conditions.collect(toHashSet(conditionDtos.size()))); + return new QualityGate(String.valueOf(qg.getUuid()), qg.getName(), conditions.collect(toHashSet(conditionDtos.size()))); } @Override diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/GetByProjectAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/GetByProjectAction.java index 4463d72c11b..98e0c48bfed 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/GetByProjectAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/GetByProjectAction.java @@ -91,20 +91,19 @@ public class GetByProjectAction implements QualityGatesWsAction { throw insufficientPrivilegesException(); } - QualityGateData data = qualityGateFinder.getQualityGate(dbSession, project); + QualityGateData data = qualityGateFinder.getEffectiveQualityGate(dbSession, project); writeProtobuf(buildResponse(data), request, response); } } - private static GetByProjectResponse buildResponse(QualityGateData data) { - QualityGateDto qualityGate = data.getQualityGate(); + private static GetByProjectResponse buildResponse(QualityGateData qg) { GetByProjectResponse.Builder response = GetByProjectResponse.newBuilder(); response.getQualityGateBuilder() - .setId(qualityGate.getUuid()) - .setName(qualityGate.getName()) - .setDefault(data.isDefault()); + .setId(qg.getUuid()) + .setName(qg.getName()) + .setDefault(qg.isDefault()); return response.build(); } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SearchAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SearchAction.java index eae65ad2eda..4c696b13ff8 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SearchAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SearchAction.java @@ -219,7 +219,7 @@ public class SearchAction implements QProfileWsAction { return p -> true; } Map<String, QProfileDto> effectiveProfiles = defaultProfiles.stream().collect(Collectors.toMap(QProfileDto::getLanguage, identity())); - effectiveProfiles.putAll(dbClient.qualityProfileDao().selectAssociatedToProjectUuidAndLanguages(dbSession, project, getLanguageKeys()).stream() + effectiveProfiles.putAll(dbClient.qualityProfileDao().selectAssociatedToProjectAndLanguages(dbSession, project, getLanguageKeys()).stream() .collect(MoreCollectors.uniqueIndex(QProfileDto::getLanguage))); return p -> Objects.equals(p.getKee(), effectiveProfiles.get(p.getLanguage()).getKee()); } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/ComponentAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/ComponentAction.java index 3726be2a3ee..163d8074269 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/ComponentAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/ComponentAction.java @@ -259,11 +259,10 @@ public class ComponentAction implements NavigationWsAction { } private void writeQualityGate(JsonWriter json, DbSession session, ComponentDto component) { - QualityGateFinder.QualityGateData qualityGateData = qualityGateFinder.getQualityGate(session, component.uuid()); - QualityGateDto qualityGateDto = qualityGateData.getQualityGate(); + var qualityGateData = qualityGateFinder.getEffectiveQualityGate(session, component.uuid()); json.name("qualityGate").beginObject() - .prop("key", qualityGateDto.getUuid()) - .prop("name", qualityGateDto.getName()) + .prop("key", qualityGateData.getUuid()) + .prop("name", qualityGateData.getName()) .prop("isDefault", qualityGateData.isDefault()) .endObject(); } diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/qualitygate/RegisterQualityGatesTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/qualitygate/RegisterQualityGatesTest.java index 22a71234a67..bfb1dc89d63 100644 --- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/qualitygate/RegisterQualityGatesTest.java +++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/qualitygate/RegisterQualityGatesTest.java @@ -200,17 +200,6 @@ public class RegisterQualityGatesTest { } @Test - public void ensure_only_that_builtin_is_set_as_default_when_no_default_quality_gate() { - insertMetrics(); - QualityGateDto builtInQualityGate = db.qualityGates().insertBuiltInQualityGate(); - - underTest.start(); - - assertThat(qualityGateFinder.getBuiltInQualityGate(dbSession)).isNotNull(); - assertThat(qualityGateFinder.getBuiltInQualityGate(dbSession).getUuid()).isEqualTo(builtInQualityGate.getUuid()); - } - - @Test public void builtin_quality_gate_with_incorrect_metricuuid_should_not_throw_an_exception() { insertMetrics(); QualityGateConditionDto conditionDto = new QualityGateConditionDto() |