|
16 | 16 | import org.sonar.api.ce.posttask.PostProjectAnalysisTask; |
17 | 17 | import org.sonar.api.ce.posttask.QualityGate; |
18 | 18 |
|
| 19 | +import java.math.BigDecimal; |
19 | 20 | import java.time.Instant; |
20 | 21 | import java.util.ArrayList; |
21 | 22 | import java.util.Arrays; |
@@ -98,42 +99,55 @@ BitbucketPullRequestReport setReportData(MeasureResponse response) { |
98 | 99 | reportData.addAll(Arrays.asList( |
99 | 100 | ReportData.builder() |
100 | 101 | .title("Bugs") |
101 | | - .value(new DataValue.Text(measures.get("new_bugs").firstValue().orElse("0"))) |
| 102 | + .value(new DataValue.Text(Optional.ofNullable(measures.get("new_bugs")) |
| 103 | + .flatMap(Measure::firstValue) |
| 104 | + .orElse("-"))) |
102 | 105 | .build(), |
103 | 106 | ReportData.builder() |
104 | 107 | .title("Code Coverage") |
105 | | - .value(new DataValue.Percentage(measures.get("new_coverage").firstValue() |
106 | | - .map(Double::parseDouble) |
107 | | - .orElse(0d))) |
| 108 | + .value(Optional.ofNullable(measures.get("new_coverage")) |
| 109 | + .flatMap(Measure::firstValue) |
| 110 | + .map(BigDecimal::new) |
| 111 | + .map(DataValue.Percentage::new) |
| 112 | + .map(DataValue.class::cast) |
| 113 | + .orElseGet(() -> new DataValue.Text("-")) |
| 114 | + ) |
108 | 115 | .build(), |
109 | 116 | ReportData.builder() |
110 | 117 | .title("Vulnerabilities") |
111 | | - .value(new DataValue.Text(measures.get("new_vulnerabilities").firstValue().orElse("0"))) |
| 118 | + .value(new DataValue.Text(Optional.ofNullable(measures.get("new_vulnerabilities")) |
| 119 | + .flatMap(Measure::firstValue) |
| 120 | + .orElse("-"))) |
112 | 121 | .build(), |
113 | 122 | ReportData.builder() |
114 | 123 | .title("Duplication") |
115 | | - .value(new DataValue.Percentage(measures.get("new_duplicated_lines_density").firstValue() |
116 | | - .map(Double::parseDouble) |
117 | | - .orElse(0d))) |
| 124 | + .value(Optional.ofNullable(measures.get("new_duplicated_lines_density")) |
| 125 | + .flatMap(Measure::firstValue) |
| 126 | + .map(BigDecimal::new) |
| 127 | + .map(DataValue.Percentage::new) |
| 128 | + .map(DataValue.class::cast) |
| 129 | + .orElseGet(() -> new DataValue.Text("-"))) |
118 | 130 | .build(), |
119 | 131 | ReportData.builder() |
120 | 132 | .title("Code Smells") |
121 | | - .value(new DataValue.Text(measures.get("new_code_smells").firstValue().orElse("0"))) |
| 133 | + .value(new DataValue.Text(Optional.ofNullable(measures.get("new_code_smells")) |
| 134 | + .flatMap(Measure::firstValue) |
| 135 | + .orElse("-"))) |
122 | 136 | .build() |
123 | 137 | )); |
124 | 138 | } |
125 | 139 | reportData.add(ReportData.builder() |
126 | | - .title("Details") |
127 | | - .value(DataValue.Link.builder().linktext("Go to SonarQube") |
128 | | - .href(response.getDashboardUrl()) |
129 | | - .build()) |
130 | | - .build()); |
| 140 | + .title("Details") |
| 141 | + .value(DataValue.Link.builder() |
| 142 | + .linktext("Go to SonarQube") |
| 143 | + .href(response.getDashboardUrl()) |
| 144 | + .build()) |
| 145 | + .build()); |
131 | 146 | this.data = reportData; |
132 | 147 | return this; |
133 | 148 | } |
134 | 149 |
|
135 | | - |
136 | | - public CreateReportRequest toCreateReportRequest() { |
| 150 | + CreateReportRequest toCreateReportRequest() { |
137 | 151 | return CreateReportRequest.builder() |
138 | 152 | .title("SonarQube") |
139 | 153 | .vendor("SonarQube") |
@@ -180,7 +194,6 @@ private String toBitbucketSeverity(Issue issue) { |
180 | 194 | } |
181 | 195 |
|
182 | 196 | private String toBitbucketType(String sonarqubeType) { |
183 | | - System.out.println(sonarqubeType); |
184 | 197 | switch (sonarqubeType) { |
185 | 198 | case "SECURITY_HOTSPOT": |
186 | 199 | case "VULNERABILITY": |
|
0 commit comments