@JsonIgnore public Map<String, String> getSubstitutions() { return jobParameters.getSubstitutions(); }
public static JobParameters createAsynchronous(String callbackUrl, Map<String,String> substitutionsMap) { return new JobParameters(false, callbackUrl, substitutionsMap); } }
@POST @Path("/{jobDefinitionId}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response execute(@Context Application app, @Context UriInfo uriInfo, @PathParam("jobDefinitionId") String jobDefinitionId, JobParameters jobParameters) throws Exception { if (jobParameters == null) { throw ApiException.badRequest("The job parameters must be specified."); } JobDefinitionEntity jobDefinitionEntity = loadJob(app, jobDefinitionId); JobExecutionRequestEntity requestEntity = JobExecutionRequestEntity.newEntity(jobDefinitionEntity, jobParameters); jobExecutionRequestStore.create(requestEntity); JobExecutionRequest request; if (jobParameters.isSynchronous()) { request = executeJob(app, requestEntity, jobDefinitionEntity); } else { executor.submit(() -> executeJob(app, requestEntity, jobDefinitionEntity)); request = requestEntity.toJobExecutionRequest(); } if (requestEntity.hasFailure()) { return Response.status(500).entity(request).build(); } else if (jobParameters.isSynchronous()) { return Response.status(200).entity(request).build(); } else { return Response.status(202).entity(request).build(); } }
@POST @Path("/{jobDefinitionId}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response execute(@Context Application app, @Context UriInfo uriInfo, @PathParam("jobDefinitionId") String jobDefinitionId, JobParameters jobParameters) throws Exception { if (jobParameters == null) { throw ApiException.badRequest("The job parameters must be specified."); } JobDefinitionEntity jobDefinitionEntity = loadJob(app, jobDefinitionId); JobExecutionRequestEntity requestEntity = JobExecutionRequestEntity.newEntity(jobDefinitionEntity, jobParameters); jobExecutionRequestStore.create(requestEntity); JobExecutionRequest request; if (jobParameters.isSynchronous()) { request = executeJob(app, requestEntity, jobDefinitionEntity); } else { executor.submit(() -> executeJob(app, requestEntity, jobDefinitionEntity)); request = requestEntity.toJobExecutionRequest(); } if (requestEntity.hasFailure()) { return Response.status(500).entity(request).build(); } else if (jobParameters.isSynchronous()) { return Response.status(200).entity(request).build(); } else { return Response.status(202).entity(request).build(); } }
@POST @Path("/{jobDefinitionId}/commands/{commandIndex}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public JobExecutionRequest execute(@Context Application app, @Context UriInfo uriInfo, @PathParam("jobDefinitionId") String jobDefinitionId, @PathParam("commandIndex") int commandIndex, JobParameters jobParameters) throws Exception { if (jobParameters == null) { throw ApiException.badRequest("The job parameters must be specified."); } JobDefinitionEntity jobDefinitionEntity = loadJob(app, jobDefinitionId); JobExecutionRequestEntity request = JobExecutionRequestEntity.newEntity(jobDefinitionEntity, jobParameters); JobsApplication.get(app, JobExecutionRequestStore.class).create(request); if (jobParameters.isSynchronous()) { return executeJob(app, request, jobDefinitionEntity, commandIndex); } else { executor.submit(() -> executeJob(app, request, jobDefinitionEntity, commandIndex)); return request.toJobExecutionRequest(); } }
@JsonIgnore public Map<String, String> getSubstitutions() { return jobParameters.getSubstitutions(); }
public static JobParameters createSynchronous(Map<String,String> substitutionsMap) { return new JobParameters(true, null, substitutionsMap); }
public static JobParameters createAsynchronous(String callbackUrl) { return new JobParameters(false, callbackUrl, Collections.emptyMap()); }
public static JobParameters createSynchronous() { return new JobParameters(true, null, Collections.emptyMap()); }