/** * Process form submit request. * * @param id id of the controller * @param template data template to process * @param result binding result * @param status the session status * @return form continuation */ @RequestMapping(method = {RequestMethod.PUT, RequestMethod.POST}) public String processSubmit( @PathVariable("id") String id, @ModelAttribute("spacecontroller") SpaceController template, BindingResult result, SessionStatus status, Model model) { new SpaceControllerValidator().validate(template, result); if (result.hasErrors()) { addNeededEntities(model); return "spacecontroller/SpaceControllerEdit"; } else { SpaceController controller = controllerRepository.getSpaceControllerById(id); SpaceControllerUtils.copy(template, controller); controllerRepository.saveSpaceController(controller); status.setComplete(); return "redirect:/spacecontroller/" + controller.getId() + "/view.html"; } }