21
21
import io .securecodebox .persistence .defectdojo .ScanType ;
22
22
import io .securecodebox .persistence .defectdojo .config .DefectDojoConfig ;
23
23
import io .securecodebox .persistence .defectdojo .exceptions .DefectDojoPersistenceException ;
24
+ import io .securecodebox .persistence .defectdojo .models .ScanFile ;
24
25
import lombok .Data ;
25
26
import org .springframework .core .io .ByteArrayResource ;
26
27
import org .springframework .http .HttpEntity ;
@@ -60,15 +61,15 @@ private HttpHeaders getDefectDojoAuthorizationHeaders() {
60
61
/**
61
62
* Before version 1.5.4. testName (in DefectDojo _test_type_) must be defectDojoScanName, afterwards, you can have somethings else
62
63
*/
63
- protected ImportScanResponse createFindings (String rawResult , String endpoint , long lead , String currentDate , ScanType scanType , long testType , MultiValueMap <String , Object > options ) {
64
+ protected ImportScanResponse createFindings (ScanFile scanFile , String endpoint , long lead , String currentDate , ScanType scanType , long testType , MultiValueMap <String , Object > options ) {
64
65
RestTemplate restTemplate = new RestTemplate ();
65
66
HttpHeaders headers = getDefectDojoAuthorizationHeaders ();
66
67
headers .setContentType (MediaType .MULTIPART_FORM_DATA );
67
68
restTemplate .setMessageConverters (List .of (
68
69
new FormHttpMessageConverter (),
69
70
new ResourceHttpMessageConverter (),
70
71
new MappingJackson2HttpMessageConverter ())
71
- );
72
+ );
72
73
73
74
MultiValueMap <String , Object > mvn = new LinkedMultiValueMap <>();
74
75
@@ -85,12 +86,12 @@ protected ImportScanResponse createFindings(String rawResult, String endpoint, l
85
86
mvn .addAll (options );
86
87
87
88
try {
88
- ByteArrayResource contentsAsResource = new ByteArrayResource (rawResult .getBytes (StandardCharsets .UTF_8 )) {
89
- @ Override
90
- public String getFilename () {
91
- return "this_needs_to_be_here_but_doesnt_really_matter.txt" ;
92
- }
93
- };
89
+ ByteArrayResource contentsAsResource = new ByteArrayResource (scanFile . getContent () .getBytes (StandardCharsets .UTF_8 )) {
90
+ @ Override
91
+ public String getFilename () {
92
+ return scanFile . getName () ;
93
+ }
94
+ };
94
95
95
96
mvn .add ("file" , contentsAsResource );
96
97
@@ -102,18 +103,18 @@ public String getFilename() {
102
103
}
103
104
}
104
105
105
- public ImportScanResponse importScan (String rawResults , long engagementId , long lead , String currentDate , ScanType scanType , long testType ) {
106
+ public ImportScanResponse importScan (ScanFile scanFile , long engagementId , long lead , String currentDate , ScanType scanType , long testType ) {
106
107
var additionalValues = new LinkedMultiValueMap <String , Object >();
107
108
additionalValues .add ("engagement" , Long .toString (engagementId ));
108
109
109
- return this .createFindings (rawResults , "import-scan" , lead , currentDate , scanType , testType , additionalValues );
110
+ return this .createFindings (scanFile , "import-scan" , lead , currentDate , scanType , testType , additionalValues );
110
111
}
111
112
112
- public ImportScanResponse reimportScan (String rawResults , long testId , long lead , String currentDate , ScanType scanType , long testType ) {
113
+ public ImportScanResponse reimportScan (ScanFile scanFile , long testId , long lead , String currentDate , ScanType scanType , long testType ) {
113
114
var additionalValues = new LinkedMultiValueMap <String , Object >();
114
115
additionalValues .add ("test" , Long .toString (testId ));
115
116
116
- return this .createFindings (rawResults , "reimport-scan" , lead , currentDate , scanType , testType , additionalValues );
117
+ return this .createFindings (scanFile , "reimport-scan" , lead , currentDate , scanType , testType , additionalValues );
117
118
}
118
119
119
120
@ Data
0 commit comments