public static Supplier<Publisher> getPublisher(String deploymentName, String pubsubName, String publisherName, boolean validate) { return () -> { Object rawPublisher = ResponseUnwrapper.get(getService().getPublisher(deploymentName, pubsubName, publisherName, validate)); return getObjectMapper().convertValue(rawPublisher, Pubsubs.translatePublisherType(pubsubName)); }; }
@RequestMapping(value = "/publisher/{publisherName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setPublisher(@PathVariable String deploymentName, @PathVariable String pubsubName, @PathVariable String publisherName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawPublisher) { Publisher publisher = objectMapper.convertValue( rawPublisher, Pubsubs.translatePublisherType(pubsubName) ); return GenericUpdateRequest.<Publisher>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(s -> publisherService.setPublisher(deploymentName, pubsubName, publisherName, s)) .validator(() -> publisherService.validatePublisher(deploymentName, pubsubName, publisher.getName())) .description("Edit the " + publisherName + " publisher") .build() .execute(validationSettings, publisher); }
@RequestMapping(value = "/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> addPublisher(@PathVariable String deploymentName, @PathVariable String pubsubName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawPublisher) { Publisher publisher = objectMapper.convertValue( rawPublisher, Pubsubs.translatePublisherType(pubsubName) ); return GenericUpdateRequest.<Publisher>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(s -> publisherService.addPublisher(deploymentName, pubsubName, s)) .validator(() -> publisherService.validatePublisher(deploymentName, pubsubName, publisher.getName())) .description("Add the " + publisher.getName() + " publisher") .build() .execute(validationSettings, publisher); } }