@RequestMapping(value = "/{templateName:.+}", method = RequestMethod.GET) DaemonTask<Halconfig, ArtifactTemplate> getArtifactTemplate(@PathVariable String deploymentName, @PathVariable String templateName, @ModelAttribute ValidationSettings validationSettings) { return GenericGetRequest.<ArtifactTemplate>builder() .getter(() -> artifactTemplateService.getArtifactTemplate(deploymentName, templateName)) .validator(() -> artifactTemplateService.validateArtifactTemplate(deploymentName, templateName)) .description("Get the " + templateName + " artifact template") .build() .execute(validationSettings); }
@RequestMapping(value = "/{templateName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setArtifactTemplate(@PathVariable String deploymentName, @PathVariable String templateName, @ModelAttribute ValidationSettings validationSettings, @RequestBody ArtifactTemplate artifactTemplate) { return GenericUpdateRequest.<ArtifactTemplate>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(t -> artifactTemplateService.setArtifactTemplate(deploymentName, templateName, t)) .validator(() -> artifactTemplateService.validateArtifactTemplate(deploymentName, templateName)) .description("Edit the " + templateName + " artifact template") .build() .execute(validationSettings, artifactTemplate); }
@RequestMapping(value = "/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> addArtifactTemplate(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestBody ArtifactTemplate artifactTemplate) { return GenericUpdateRequest.<ArtifactTemplate>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(t -> artifactTemplateService.addArtifactTemplate(deploymentName, t)) .validator(() -> artifactTemplateService.validateArtifactTemplate(deploymentName, artifactTemplate.getName())) .description("Add the " + artifactTemplate.getName() + " artifact template") .build() .execute(validationSettings, artifactTemplate); }