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,15 +61,15 @@ 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 );
6768 restTemplate .setMessageConverters (List .of (
6869 new FormHttpMessageConverter (),
6970 new ResourceHttpMessageConverter (),
7071 new MappingJackson2HttpMessageConverter ())
71- );
72+ );
7273
7374 MultiValueMap <String , Object > mvn = new LinkedMultiValueMap <>();
7475
@@ -85,12 +86,12 @@ 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- @ 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+ };
9495
9596 mvn .add ("file" , contentsAsResource );
9697
@@ -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