|
39 | 39 | import java.time.LocalDate; |
40 | 40 | import java.time.format.DateTimeFormatter; |
41 | 41 | import java.util.*; |
| 42 | +import java.util.stream.Collectors; |
| 43 | +import java.util.stream.Stream; |
42 | 44 |
|
43 | 45 | @Component |
44 | 46 | @ConditionalOnProperty(name = "securecodebox.persistence.defectdojo.enabled", havingValue = "true") |
@@ -132,20 +134,25 @@ private List<String> getRawResults(SecurityTest securityTest) throws DefectDojoP |
132 | 134 | } |
133 | 135 |
|
134 | 136 | private List<String> getGenericResults(SecurityTest securityTest) { |
135 | | - List<String> genericResults = new LinkedList<>(); |
136 | | - for(Finding finding: securityTest.getReport().getFindings()){ |
137 | | - genericResults.add(MessageFormat.format("date,title,cweid,url,severity,description,mitigation,impact,references,active,verified,falsepositive,duplicate\n" + |
138 | | - "{0},{1},,{2},{3},{4},,,,,,{5},{6}", |
139 | | - currentDate(), |
140 | | - finding.getName().replace(",", " "), |
141 | | - finding.getLocation().replace(",", " "), |
142 | | - finding.getSeverity(), |
143 | | - finding.getDescription().replace(",", " "), |
144 | | - finding.isFalsePositive(), |
145 | | - "false" |
146 | | - )); |
147 | | - } |
148 | | - return genericResults; |
| 137 | + final String CSV_HEADER = "date,title,cweid,url,severity,description,mitigation,impact,references,active,verified,falsepositive,duplicate"; |
| 138 | + |
| 139 | + List<Finding> findings = securityTest.getReport().getFindings(); |
| 140 | + |
| 141 | + String genericFindingsCsv = Stream.concat( |
| 142 | + Stream.of(CSV_HEADER), |
| 143 | + findings.stream().map(finding -> MessageFormat.format( |
| 144 | + "{0},{1},,{2},{3},{4},,,,,,{5},{6}", |
| 145 | + currentDate(), |
| 146 | + finding.getName().replace(",", " "), |
| 147 | + finding.getLocation().replace(",", " "), |
| 148 | + finding.getSeverity(), |
| 149 | + finding.getDescription().replace(",", " "), |
| 150 | + finding.isFalsePositive(), |
| 151 | + "false" |
| 152 | + )) |
| 153 | + ).collect(Collectors.joining("\n")); |
| 154 | + |
| 155 | + return Collections.singletonList(genericFindingsCsv); |
149 | 156 | } |
150 | 157 |
|
151 | 158 | private EngagementResponse createEngagement(SecurityTest securityTest) { |
|
0 commit comments