@RequestMapping(value = "/project/{projectName}/appender/copy.html", method = RequestMethod.GET) public String getAppenders( @PathVariable("projectName") final String projectName, final Model model) { final ProjectConfig project = getProject(projectName); model.addAttribute("project", project); model.addAttribute("appenders", project.getAppenders()); model.addAttribute("spec", new CopySpec(AppenderConfig.class)); return VIEW_NAME; }
@RequestMapping(value = "/project/{projectName}/appender/copy.html", method = RequestMethod.POST) public String copy( @Valid @ModelAttribute("spec") final CopySpec spec, final BindingResult result) { if (result.hasErrors()) { return VIEW_NAME; } final AppenderConfig source = configManager.find(AppenderConfig.class, spec.getSourceId()); final ProjectConfig project = source.getProject(); final AppenderConfig newAppender = ControllerHelper.cloneAppender(source); newAppender.setName(spec.getName()); newAppender.setProject(project); project.addAppender(newAppender); configManager.save(project); return String.format("redirect:/secure/project/%s/edit.html#appender", project.getName()); }