@RequestMapping(value = "/{metricStoreType:.+}/enabled/", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setMethodEnabled(@PathVariable String deploymentName, @PathVariable String metricStoreType, @ModelAttribute ValidationSettings validationSettings, @RequestBody boolean enabled) { return GenericEnableDisableRequest.builder(halconfigParser) .updater(e -> metricStoresService.setMetricStoreEnabled(deploymentName, metricStoreType, e)) .validator(() -> metricStoresService.validateMetricStore(deploymentName, metricStoreType)) .description("Edit " + metricStoreType + " metric store") .build() .execute(validationSettings, enabled); } }
@RequestMapping(value = "/{metricStoreType:.+}", method = RequestMethod.GET) DaemonTask<Halconfig, MetricStore> getMetricStore(@PathVariable String deploymentName, @PathVariable String metricStoreType, @ModelAttribute ValidationSettings validationSettings) { return GenericGetRequest.<MetricStore>builder() .getter(() -> metricStoresService.getMetricStore(deploymentName, metricStoreType)) .validator(() -> metricStoresService.validateMetricStore(deploymentName, metricStoreType)) .description("Get " + metricStoreType + " metric store") .build() .execute(validationSettings); }
@RequestMapping(value = "/{metricStoreType:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setMetricStore(@PathVariable String deploymentName, @PathVariable String metricStoreType, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawMetricStore) { MetricStore metricStore = objectMapper.convertValue( rawMetricStore, MetricStores.translateMetricStoreType(metricStoreType) ); return GenericUpdateRequest.<MetricStore>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(m -> metricStoresService.setMetricStore(deploymentName, m)) .validator(() -> metricStoresService.validateMetricStore(deploymentName, metricStoreType)) .description("Edit " + metricStoreType + " metric store") .build() .execute(validationSettings, metricStore); }