@RequestMapping(value = "/{pubsubName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setPubsub(@PathVariable String deploymentName, @PathVariable String pubsubName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawPubsub) { Pubsub pubsub = objectMapper.convertValue( rawPubsub, Pubsubs.translatePubsubType(pubsubName) ); return GenericUpdateRequest.<Pubsub>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(p -> pubsubService.setPubsub(deploymentName, p)) .validator(() -> pubsubService.validatePubsub(deploymentName, pubsubName)) .description("Edit the " + pubsubName + " pubsub") .build() .execute(validationSettings, pubsub); }