aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-webserver-webapi
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2022-05-04 15:47:32 -0500
committersonartech <sonartech@sonarsource.com>2022-05-25 20:03:16 +0000
commit89448847c08173c261453fc4aa3cf7fca23b6c8f (patch)
tree6cc95fb05ddbd1f0552d35a0630013ae7dab78fa /server/sonar-webserver-webapi
parent26c54237c1c3eb870b19c0a38176229a24c2cfe1 (diff)
downloadsonarqube-89448847c08173c261453fc4aa3cf7fca23b6c8f.tar.gz
sonarqube-89448847c08173c261453fc4aa3cf7fca23b6c8f.zip
SONAR-16316 Fill report data
Diffstat (limited to 'server/sonar-webserver-webapi')
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/live/LiveQualityGateComputerImpl.java9
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/GetByProjectAction.java11
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SearchAction.java2
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/ComponentAction.java7
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/qualitygate/RegisterQualityGatesTest.java11
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()