aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-db-dao')
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/report/RegulatoryReportDaoIT.java2
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateFindingDto.java5
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml6
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/report/RegulatoryReportMapper.xml4
4 files changed, 14 insertions, 3 deletions
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/report/RegulatoryReportDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/report/RegulatoryReportDaoIT.java
index 3b3d9ca49cc..88440d187a1 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/report/RegulatoryReportDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/report/RegulatoryReportDaoIT.java
@@ -90,7 +90,7 @@ class RegulatoryReportDaoIT {
List<IssueFindingDto> issues = new ArrayList<>();
underTest.scrollIssues(db.getSession(), PROJECT_UUID, result -> issues.add(result.getResultObject()));
- assertThat(issues).extracting(IssueFindingDto::getKey).containsOnly(issue1.getKey(), issue2.getKey(), issue3.getKey());
+ assertThat(issues).extracting(IssueFindingDto::getKey).containsOnly(issue1.getKey(), issue2.getKey(), issue3.getKey(), issueCodeSmell.getKey());
// check fields
IssueFindingDto issue = issues.stream().filter(i -> i.getKey().equals(issue1.getKey())).findFirst().get();
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateFindingDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateFindingDto.java
index ebefc919835..17e310f3887 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateFindingDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateFindingDto.java
@@ -27,6 +27,7 @@ public class QualityGateFindingDto {
private String operator = null;
private String valueType = null;
private String errorThreshold = null;
+ private String qualityGateName = null;
public String getDescription() {
return description;
@@ -52,6 +53,10 @@ public class QualityGateFindingDto {
return errorThreshold;
}
+ public String getQualityGateName() {
+ return qualityGateName;
+ }
+
private String getOperator() {
return operator;
}
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml
index d4dd06bf35d..16df5308d01 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualitygate/QualityGateMapper.xml
@@ -7,6 +7,12 @@
</sql>
<sql id="qualityGateFindingColumns">
+ <!--
+ If a row's columns are all `null`, MyBatis, by default, will return `null`
+ instead of an instantiated object with all its properties set to `null`.
+ This case expression, for the QG name, is designed to preserve that behavior.
+ -->
+ CASE WHEN qgc.operator IS NULL THEN NULL ELSE qg.name END AS qualityGateName,
m.short_name as description,
qgc.operator as operator,
m.val_type as valueType,
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/report/RegulatoryReportMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/report/RegulatoryReportMapper.xml
index 7506b52f060..6281acad179 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/report/RegulatoryReportMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/report/RegulatoryReportMapper.xml
@@ -69,8 +69,8 @@
left outer join issues_impacts ii on i.kee = ii.issue_key
where i.project_uuid=#{branchUuid,jdbcType=VARCHAR}
and i.status !='CLOSED'
- <!--BUG, VULNERABILITY, SECURITY_HOTSPOT -->
- and i.issue_type in (2, 3, 4)
+ <!--CODE_SMELL, BUG, VULNERABILITY, SECURITY_HOTSPOT -->
+ and i.issue_type in (1, 2, 3, 4)
order by i.kee, ic.issue_change_creation_date
</select>
</mapper>