@RequestMapping(value = "/{deploymentName:.+}/version/", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setVersion(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Versions.Version version) { UpdateRequestBuilder builder = new UpdateRequestBuilder(); builder.setUpdate(() -> deploymentService.setVersion(deploymentName, version.getVersion())); builder.setSeverity(validationSettings.getSeverity()); Supplier<ProblemSet> doValidate = ProblemSet::new; if (validationSettings.isValidate()) { doValidate = () -> deploymentService.validateDeploymentShallow(deploymentName); } builder.setValidate(doValidate); builder.setRevert(halconfigParser::undoChanges); builder.setSave(halconfigParser::saveConfig); return DaemonTaskHandler.submitTask(builder::build, "Edit Spinnaker version"); }
@RequestMapping(value = "/currentDeployment", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setDeployment(@RequestBody StringBodyRequest name) { DaemonResponse.UpdateRequestBuilder builder = new DaemonResponse.UpdateRequestBuilder(); builder.setUpdate(() -> configService.setCurrentDeployment(name.getValue())); builder.setRevert(halconfigParser::undoChanges); builder.setSave(halconfigParser::saveConfig); builder.setValidate(ProblemSet::new); return DaemonTaskHandler.submitTask(builder::build, "Set current deployment"); } }
static void addValidation(DaemonResponse.UpdateRequestBuilder builder, ValidationSettings validationSettings, Supplier<ProblemSet> validator) { builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidate(validator); } else { builder.setValidate(ProblemSet::new); } }