public static Class<? extends Subscription> translateSubscriptionType(String pubsubName) { Class<? extends Pubsub> pubsubClass = translatePubsubType(pubsubName); String subscriptionClassName = pubsubClass.getName().replaceAll("Pubsub", "Subscription"); try { return (Class<? extends Subscription>) Class.forName(subscriptionClassName); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("No subscription for class \"" + subscriptionClassName + "\" found", e); } } }
public static Class<? extends Publisher> translatePublisherType(String pubsubName) { Class<? extends Pubsub> pubsubClass = translatePubsubType(pubsubName); String publisherClassName = pubsubClass.getName().replaceAll("Pubsub", "Publisher"); try { return (Class<? extends Publisher>) Class.forName(publisherClassName); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("No publisher for class \"" + publisherClassName + "\" found", e); } } }
public static Class<? extends Subscription> translateSubscriptionType(String pubsubName) { Class<? extends Pubsub> pubsubClass = translatePubsubType(pubsubName); String subscriptionClassName = pubsubClass.getName().replaceAll("Pubsub", "Subscription"); try { return (Class<? extends Subscription>) Class.forName(subscriptionClassName); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("No subscription for class \"" + subscriptionClassName + "\" found", e); } }
public static Supplier<Pubsub> getPubsub(String deploymentName, String pubsubName, boolean validate) { return () -> { Object pubsub = ResponseUnwrapper.get(getService().getPubsub(deploymentName, pubsubName, validate)); return getObjectMapper().convertValue(pubsub, Pubsubs.translatePubsubType(pubsubName)); }; }
public static Supplier<Pubsub> getPubsub(String deploymentName, String pubsubName, boolean validate) { return () -> { Object pubsub = ResponseUnwrapper.get(getService().getPubsub(deploymentName, pubsubName, validate)); return getObjectMapper().convertValue(pubsub, Pubsubs.translatePubsubType(pubsubName)); }; }
@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); }