/** * Request removal of an existing resource definition (stream or job). * * @param name the name of an existing definition (required) */ @RequestMapping(value = "/definitions/{name}", method = RequestMethod.DELETE) @ResponseStatus(HttpStatus.OK) public void delete(@PathVariable("name") String name) throws Exception { super.delete(name); if (moduleDefinitionService.findDefinition( ComposedJobUtil.getComposedJobModuleName(name), ModuleType.job) != null) { moduleDefinitionService.delete( ComposedJobUtil.getComposedJobModuleName(name), ModuleType.job); } }
/** Request removal of all definitions. */ @RequestMapping(value = "/definitions", method = RequestMethod.DELETE) @ResponseStatus(HttpStatus.OK) public void deleteAll() throws Exception { Iterable<JobDefinition> jobDefinitions = deployer.findAll(); super.deleteAll(); for (JobDefinition jobDefinition : jobDefinitions) { if (moduleDefinitionService.findDefinition( ComposedJobUtil.getComposedJobModuleName(jobDefinition.getName()), ModuleType.job) != null) { moduleDefinitionService.delete( ComposedJobUtil.getComposedJobModuleName(jobDefinition.getName()), ModuleType.job); } } }
@Override @RequestMapping(value = "/definitions", method = RequestMethod.POST) @ResponseStatus(HttpStatus.CREATED) public void save( @RequestParam("name") String name, @RequestParam("definition") String definition, @RequestParam(value = "deploy", defaultValue = "true") boolean deploy) throws Exception { // Verify if the batch job repository already has the job with the same name. if (distributedJobLocator.getJobNames().contains(name)) { throw new BatchJobAlreadyExistsException(name); } if (ComposedJobUtil.isComposedJobDefinition(definition)) { moduleDefinitionService.compose( ComposedJobUtil.getComposedJobModuleName(name), ModuleType.job, definition, false); } else { ComposedJobUtil.validateNotSingleJobInstance(definition, distributedJobLocator.getJobNames()); } super.save(name, definition, deploy); }