@RvdAuth @PUT @Path("{name}/rename") public Response renameProject( @PathParam("name") String projectName, @QueryParam("newName") String projectNewName, @QueryParam("ticket") String ticket) throws StorageException, ProjectDoesNotExist { if (!RvdUtils.isEmpty(projectName) && !RvdUtils.isEmpty(projectNewName)) { assertProjectAvailable(projectName); try { ProjectApplicationsApi applicationsApi = new ProjectApplicationsApi(servletContext, workspaceStorage, marshaler); applicationsApi.renameApplication(ticket, projectName, projectNewName); projectService.renameProject(projectName, projectNewName); return Response.ok().build(); } catch (ProjectDirectoryAlreadyExists e) { logger.error(e.getMessage(), e); return Response.status(Status.CONFLICT).build(); } catch (StorageException e) { return Response.status(Status.INTERNAL_SERVER_ERROR).build(); } catch (ApplicationAlreadyExists e) { return Response.status(Status.CONFLICT).build(); } catch (ApplicationsApiSyncException e) { logger.error(e.getMessage(), e); return Response.status(Status.INTERNAL_SERVER_ERROR).build(); } } else return Response.status(Status.BAD_REQUEST).build(); }