2121import io .securecodebox .persistence .defectdojo .ScanType ;
2222import io .securecodebox .persistence .defectdojo .config .DefectDojoConfig ;
2323import io .securecodebox .persistence .defectdojo .exceptions .DefectDojoPersistenceException ;
24+ import io .securecodebox .persistence .defectdojo .models .ScanFile ;
2425import lombok .Data ;
2526import org .springframework .core .io .ByteArrayResource ;
2627import org .springframework .http .HttpEntity ;
@@ -60,7 +61,7 @@ private HttpHeaders getDefectDojoAuthorizationHeaders() {
6061 /**
6162 * Before version 1.5.4. testName (in DefectDojo _test_type_) must be defectDojoScanName, afterwards, you can have somethings else
6263 */
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 ) {
6465 RestTemplate restTemplate = new RestTemplate ();
6566 HttpHeaders headers = getDefectDojoAuthorizationHeaders ();
6667 headers .setContentType (MediaType .MULTIPART_FORM_DATA );
@@ -85,10 +86,10 @@ protected ImportScanResponse createFindings(String rawResult, String endpoint, l
8586 mvn .addAll (options );
8687
8788 try {
88- ByteArrayResource contentsAsResource = new ByteArrayResource (rawResult .getBytes (StandardCharsets .UTF_8 )) {
89+ ByteArrayResource contentsAsResource = new ByteArrayResource (scanFile . getContent () .getBytes (StandardCharsets .UTF_8 )) {
8990 @ Override
9091 public String getFilename () {
91- return "this_needs_to_be_here_but_doesnt_really_matter.txt" ;
92+ return scanFile . getName () ;
9293 }
9394 };
9495
@@ -102,18 +103,18 @@ public String getFilename() {
102103 }
103104 }
104105
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 ) {
106107 var additionalValues = new LinkedMultiValueMap <String , Object >();
107108 additionalValues .add ("engagement" , Long .toString (engagementId ));
108109
109- return this .createFindings (rawResults , "import-scan" , lead , currentDate , scanType , testType , additionalValues );
110+ return this .createFindings (scanFile , "import-scan" , lead , currentDate , scanType , testType , additionalValues );
110111 }
111112
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 ) {
113114 var additionalValues = new LinkedMultiValueMap <String , Object >();
114115 additionalValues .add ("test" , Long .toString (testId ));
115116
116- return this .createFindings (rawResults , "reimport-scan" , lead , currentDate , scanType , testType , additionalValues );
117+ return this .createFindings (scanFile , "reimport-scan" , lead , currentDate , scanType , testType , additionalValues );
117118 }
118119
119120 @ Data
0 commit comments