2121import org .roda .core .data .exceptions .NotFoundException ;
2222import org .roda .core .data .exceptions .RequestNotValidException ;
2323import org .roda .core .data .utils .JsonUtils ;
24+ import org .roda .core .data .utils .SelectedItemsUtils ;
2425import org .roda .core .data .v2 .ConsumesOutputStream ;
2526import org .roda .core .data .v2 .IsRODAObject ;
2627import org .roda .core .data .v2 .StreamResponse ;
3233import org .roda .core .data .v2 .index .select .SelectedItemsNone ;
3334import org .roda .core .data .v2 .index .sort .Sorter ;
3435import org .roda .core .data .v2 .index .sublist .Sublist ;
36+ import org .roda .core .data .v2 .jobs .CreateJobRequest ;
3537import org .roda .core .data .v2 .jobs .IndexedJob ;
3638import org .roda .core .data .v2 .jobs .IndexedReport ;
3739import org .roda .core .data .v2 .jobs .Job ;
@@ -69,7 +71,7 @@ public String buildCurlCommand(String path, Job job) {
6971 String command = RodaCoreFactory .getRodaConfiguration ().getString ("ui.createJob.curl" );
7072 if (command != null ) {
7173 command = command .replace ("{{jsonObject}}" ,
72- StringEscapeUtils .escapeJava (JsonUtils .getJsonFromObject (job , JobMixIn .class )));
74+ StringEscapeUtils .escapeJava (JsonUtils .getJsonFromObject (transformJobToCreateJobRequest ( job ) , JobMixIn .class )));
7375
7476 command = command .replace ("{{RODA_CONTEXT_PATH}}" , StringEscapeUtils .escapeJava (path ));
7577 return command ;
@@ -78,6 +80,19 @@ public String buildCurlCommand(String path, Job job) {
7880 }
7981 }
8082
83+ private CreateJobRequest transformJobToCreateJobRequest (Job job ) {
84+ CreateJobRequest createJobRequest = new CreateJobRequest ();
85+ createJobRequest .setName (job .getName ());
86+ createJobRequest .setPlugin (job .getPlugin ());
87+ createJobRequest .setPluginParameters (job .getPluginParameters ());
88+ createJobRequest .setSourceObjects (SelectedItemsUtils .convertToRESTRequest (job .getSourceObjects ()));
89+ createJobRequest .setSourceObjectsClass (job .getSourceObjects ().getSelectedClass ());
90+ createJobRequest .setPriority (job .getPriority ().toString ());
91+ createJobRequest .setParallelism (job .getParallelism ().toString ());
92+
93+ return createJobRequest ;
94+ }
95+
8196 public Job createJob (Job job , boolean async ) throws NotFoundException , GenericException , JobAlreadyStartedException ,
8297 RequestNotValidException , AuthorizationDeniedException {
8398 Job updatedJob = new Job (job );
0 commit comments