ModifyProjectController { @AccessPolicies({ @ElementAccessPolicy(type = CheckedElementType.PROJECT, paramIndex = 1, userRole = { RoleNames.ROLE_COLLABORATOR_OWNER, RoleNames.ROLE_PROJ_COLLABORATOR_ADMIN }) }) @RequestMapping(value = "auth/workbench/modifyproject/{projectid}", method = RequestMethod.GET) @InjectProjectById public ModelAndView updateProjectRequestForm(@ProjectIdentifier @PathVariable("projectid") String projectid, @InjectProject IProject project, Principal principal) throws QuadrigaStorageException, QuadrigaAccessException { ModelAndView model = new ModelAndView("auth/workbench/modifyproject"); model.getModelMap().put("project", project); model.getModelMap().put("unixnameurl", messages.getProperty("project_unix_name.url")); return model; }  @AccessPolicies({ @ElementAccessPolicy(type = CheckedElementType.PROJECT, paramIndex = 1, userRole = { RoleNames.ROLE_COLLABORATOR_OWNER, RoleNames.ROLE_PROJ_COLLABORATOR_ADMIN }) }) @RequestMapping(value = "auth/workbench/modifyproject/{projectid}", method = RequestMethod.GET) @InjectProjectById ModelAndView updateProjectRequestForm(@ProjectIdentifier @PathVariable("projectid") String projectid,
            @InjectProject IProject project, Principal principal); @AccessPolicies({ @ElementAccessPolicy(type = CheckedElementType.PROJECT, paramIndex = 3, userRole = { RoleNames.ROLE_COLLABORATOR_OWNER, RoleNames.ROLE_PROJ_COLLABORATOR_ADMIN }) }) @RequestMapping(value = "auth/workbench/modifyproject/{projectid}", method = RequestMethod.POST) ModelAndView updateProjectRequest(@Validated @ModelAttribute("project") Project project,
            BindingResult result, @PathVariable("projectid") String projectid, Principal principal,
            RedirectAttributes redirectAttributes); @AccessPolicies({ @ElementAccessPolicy(type = CheckedElementType.PROJECT, paramIndex = 1, userRole = { RoleNames.ROLE_COLLABORATOR_OWNER, RoleNames.ROLE_PROJ_COLLABORATOR_ADMIN }) }) @RequestMapping(value = "auth/workbench/assignownereditor/{projectid}", method = RequestMethod.GET) @InjectProjectById String assignOwnerEditorRole(@ProjectIdentifier @PathVariable("projectid") String projectId,
            @InjectProject Project project, ModelMap model, Principal principal, RedirectAttributes redirectAttrs,
            Locale locale); @AccessPolicies({ @ElementAccessPolicy(type = CheckedElementType.PROJECT, paramIndex = 1, userRole = { RoleNames.ROLE_COLLABORATOR_OWNER, RoleNames.ROLE_PROJ_COLLABORATOR_ADMIN }) }) @RequestMapping(value = "auth/workbench/deleteownereditor/{projectid}", method = RequestMethod.GET) @InjectProjectById String deleteOwnerEditorRole(@ProjectIdentifier @PathVariable("projectid") String projectId,
            @InjectProject Project project, ModelMap model, Principal principal, RedirectAttributes redirectAttrs,
            Locale locale);  }
@Test @Ignore public void testUpdateProjectRequestForm() { fail("Not yet implemented"); }