/** * Create {@link ProjectPermission} from the exported * {@link de.tudarmstadt.ukp.clarin.webanno.model.export.ProjectPermission} */ public static void createProjectPermission( de.tudarmstadt.ukp.clarin.webanno.model.export.Project aImportedProjectSetting, Project aImportedProject, RepositoryService aRepository) throws IOException { for (de.tudarmstadt.ukp.clarin.webanno.model.export.ProjectPermission importedPermission : aImportedProjectSetting .getProjectPermissions()) { de.tudarmstadt.ukp.clarin.webanno.model.ProjectPermission permission = new de.tudarmstadt.ukp.clarin.webanno.model.ProjectPermission(); permission.setLevel(importedPermission.getLevel()); permission.setProject(aImportedProject); permission.setUser(importedPermission.getUser()); aRepository.createProjectPermission(permission); } }
@Override public boolean isCurator(Project aProject, User aUser) { boolean curator = false; try { List<ProjectPermission> permissionLevels = listProjectPermissionLevel(aUser, aProject); for (ProjectPermission permissionLevel : permissionLevels) { if (StringUtils.equalsIgnoreCase(permissionLevel.getLevel().getName(), PermissionLevel.CURATOR.getName())) { curator = true; break; } } } catch (NoResultException ex) { log.info("No permision is given to this user " + ex); } return curator; }
@Override @Transactional public void removeProjectPermission(ProjectPermission aPermission) { entityManager.remove(aPermission); try (MDC.MDCCloseable closable = MDC.putCloseable(Logging.KEY_PROJECT_ID, String.valueOf(aPermission.getProject().getId()))) { log.info("Removed permission [{}] for user [{}] on project [{}]({})", aPermission.getLevel(), aPermission.getUser(), aPermission.getProject().getName(), aPermission.getProject().getId()); } }
@Override @Transactional(noRollbackFor = NoResultException.class) public void setProjectPermissionLevels(User aUser, Project aProject, Collection<PermissionLevel> aLevels) { Set<PermissionLevel> levelsToBeGranted = new HashSet<>(aLevels); List<ProjectPermission> permissions = new ArrayList<>(); try { permissions.addAll(listProjectPermissionLevel(aUser, aProject)); } catch (NoResultException e) { // Nothing to do } // Remove permissions that no longer exist for (ProjectPermission permission : permissions) { if (!aLevels.contains(permission.getLevel())) { removeProjectPermission(permission); } else { levelsToBeGranted.remove(permission.getLevel()); } } // Grant new permissions for (PermissionLevel level : levelsToBeGranted) { createProjectPermission(new ProjectPermission(aProject, aUser.getUsername(), level)); } }
private void actionAdd(AjaxRequestTarget aTarget, Form<List<User>> aForm) { for (User user : aForm.getModelObject()) { projectRepository.createProjectPermission(new ProjectPermission( projectModel.getObject(), user.getUsername(), PermissionLevel.ANNOTATOR)); } aForm.getModelObject().clear(); usersToAdd.getChoicesModel().detach(); aTarget.add(this); } }
private void actionAdd(AjaxRequestTarget aTarget, Form<List<User>> aForm) { for (User user : aForm.getModelObject()) { projectRepository.createProjectPermission(new ProjectPermission( projectModel.getObject(), user.getUsername(), PermissionLevel.ANNOTATOR)); } aForm.getModelObject().clear(); usersToAdd.getChoicesModel().detach(); aTarget.add(this); } }
@Override @Transactional(noRollbackFor = NoResultException.class) public void setProjectPermissionLevels(User aUser, Project aProject, Collection<PermissionLevel> aLevels) { Set<PermissionLevel> levelsToBeGranted = new HashSet<>(aLevels); List<ProjectPermission> permissions = new ArrayList<>(); try { permissions.addAll(listProjectPermissionLevel(aUser, aProject)); } catch (NoResultException e) { // Nothing to do } // Remove permissions that no longer exist for (ProjectPermission permission : permissions) { if (!aLevels.contains(permission.getLevel())) { removeProjectPermission(permission); } else { levelsToBeGranted.remove(permission.getLevel()); } } // Grant new permissions for (PermissionLevel level : levelsToBeGranted) { createProjectPermission(new ProjectPermission(aProject, aUser.getUsername(), level)); } }
/** * Create {@link ProjectPermission} from the exported * {@link de.tudarmstadt.ukp.clarin.webanno.export.model.ExportedProjectPermission} * * @param aImportedProjectSetting * the imported project. * @param aImportedProject * the project. * @throws IOException * if an I/O error occurs. */ @Deprecated private void createProjectPermission( de.tudarmstadt.ukp.clarin.webanno.export.model.ExportedProject aImportedProjectSetting, Project aImportedProject) throws IOException { for (ExportedProjectPermission importedPermission : aImportedProjectSetting .getProjectPermissions()) { ProjectPermission permission = new ProjectPermission(); permission.setLevel(importedPermission.getLevel()); permission.setProject(aImportedProject); permission.setUser(importedPermission.getUser()); createProjectPermission(permission); } }
@Override public boolean isAnnotator(Project aProject, User aUser) { boolean user = false; try { List<ProjectPermission> permissionLevels = listProjectPermissionLevel(aUser, aProject); for (ProjectPermission permissionLevel : permissionLevels) { if (StringUtils.equalsIgnoreCase(permissionLevel.getLevel().getName(), PermissionLevel.ANNOTATOR.getName())) { user = true; break; } } } catch (NoResultException ex) { log.info("No permision is given to this user " + ex); } return user; } }
private void actionSave(AjaxRequestTarget aTarget, Form<Project> aForm) { aTarget.add(getPage()); // aTarget.add(((ApplicationPageBase) getPage()).getPageContent()); // aTarget.addChildren(getPage(), IFeedback.class); Project project = aForm.getModelObject(); if (isNull(project.getId())) { try { String username = SecurityContextHolder.getContext().getAuthentication().getName(); projectService.createProject(project); projectService.createProjectPermission( new ProjectPermission(project, username, PermissionLevel.MANAGER)); projectService.createProjectPermission( new ProjectPermission(project, username, PermissionLevel.CURATOR)); projectService.createProjectPermission( new ProjectPermission(project, username, PermissionLevel.ANNOTATOR)); annotationService.initializeProject(project); } catch (IOException e) { error("Project repository path not found " + ":" + ExceptionUtils.getRootCauseMessage(e)); LOG.error("Project repository path not found " + ":" + ExceptionUtils.getRootCauseMessage(e)); } } else { projectService.updateProject(project); } }
@Override @Transactional public void createProjectPermission(ProjectPermission aPermission) { entityManager.persist(aPermission); try (MDC.MDCCloseable closable = MDC.putCloseable(Logging.KEY_PROJECT_ID, String.valueOf(aPermission.getProject().getId()))) { log.info("Created permission [{}] for user [{}] on project [{}]({})", aPermission.getLevel(), aPermission.getUser(), aPermission.getProject().getName(), aPermission.getProject().getId()); } }
/** * Create {@link ProjectPermission} from the exported * {@link de.tudarmstadt.ukp.clarin.webanno.export.model.ExportedProjectPermission} * * @param aImportedProjectSetting * the imported project. * @param aImportedProject * the project. * @throws IOException * if an I/O error occurs. */ @Deprecated private void createProjectPermission( de.tudarmstadt.ukp.clarin.webanno.export.model.ExportedProject aImportedProjectSetting, Project aImportedProject) throws IOException { for (ExportedProjectPermission importedPermission : aImportedProjectSetting .getProjectPermissions()) { ProjectPermission permission = new ProjectPermission(); permission.setLevel(importedPermission.getLevel()); permission.setProject(aImportedProject); permission.setUser(importedPermission.getUser()); createProjectPermission(permission); } }
@Override public boolean isManager(Project aProject, User aUser) { boolean projectAdmin = false; try { List<ProjectPermission> permissionLevels = listProjectPermissionLevel(aUser, aProject); for (ProjectPermission permissionLevel : permissionLevels) { if (StringUtils.equalsIgnoreCase(permissionLevel.getLevel().getName(), PermissionLevel.MANAGER.getName())) { projectAdmin = true; break; } } } catch (NoResultException ex) { log.info("No permision is given to this user " + ex); } return projectAdmin; }
private void actionSave(AjaxRequestTarget aTarget, Form<Project> aForm) { aTarget.add(getPage()); // aTarget.add(((ApplicationPageBase) getPage()).getPageContent()); // aTarget.addChildren(getPage(), IFeedback.class); Project project = aForm.getModelObject(); if (isNull(project.getId())) { try { String username = SecurityContextHolder.getContext().getAuthentication().getName(); projectService.createProject(project); projectService.createProjectPermission( new ProjectPermission(project, username, PermissionLevel.MANAGER)); projectService.createProjectPermission( new ProjectPermission(project, username, PermissionLevel.CURATOR)); projectService.createProjectPermission( new ProjectPermission(project, username, PermissionLevel.ANNOTATOR)); annotationService.initializeProject(project); } catch (IOException e) { error("Project repository path not found " + ":" + ExceptionUtils.getRootCauseMessage(e)); LOG.error("Project repository path not found " + ":" + ExceptionUtils.getRootCauseMessage(e)); } } else { projectService.updateProject(project); } }
@Override @Transactional public void createProjectPermission(ProjectPermission aPermission) { entityManager.persist(aPermission); try (MDC.MDCCloseable closable = MDC.putCloseable(Logging.KEY_PROJECT_ID, String.valueOf(aPermission.getProject().getId()))) { log.info("Created permission [{}] for user [{}] on project [{}]({})", aPermission.getLevel(), aPermission.getUser(), aPermission.getProject().getName(), aPermission.getProject().getId()); } }
.orElse(false); if (isPermissionOfImportingUser || aRequest.isImportPermissions()) { ProjectPermission permission = new ProjectPermission(); permission.setLevel(importedPermission.getLevel()); permission.setProject(aProject); permission.setUser(importedPermission.getUser()); projectService.createProjectPermission(permission); ProjectPermission permission = new ProjectPermission(); permission.setLevel(PermissionLevel.MANAGER); permission.setLevel(PermissionLevel.CURATOR); permission.setLevel(PermissionLevel.ANNOTATOR); permission.setProject(aProject); permission.setUser(aRequest.getManager().get().getUsername()); projectService.createProjectPermission(permission);
@Override public boolean isCurator(Project aProject, User aUser) { boolean curator = false; try { List<ProjectPermission> permissionLevels = listProjectPermissionLevel(aUser, aProject); for (ProjectPermission permissionLevel : permissionLevels) { if (StringUtils.equalsIgnoreCase(permissionLevel.getLevel().getName(), PermissionLevel.CURATOR.getName())) { curator = true; break; } } } catch (NoResultException ex) { log.info("No permision is given to this user " + ex); } return curator; }
new ProjectPermission(project, username, PermissionLevel.MANAGER)); projectRepository.createProjectPermission( new ProjectPermission(project, username, PermissionLevel.CURATOR)); projectRepository.createProjectPermission( new ProjectPermission(project, username, PermissionLevel.ANNOTATOR));
@Override @Transactional public void removeProjectPermission(ProjectPermission aPermission) { entityManager.remove(aPermission); try (MDC.MDCCloseable closable = MDC.putCloseable(Logging.KEY_PROJECT_ID, String.valueOf(aPermission.getProject().getId()))) { log.info("Removed permission [{}] for user [{}] on project [{}]({})", aPermission.getLevel(), aPermission.getUser(), aPermission.getProject().getName(), aPermission.getProject().getId()); } }
.orElse(false); if (isPermissionOfImportingUser || aRequest.isImportPermissions()) { ProjectPermission permission = new ProjectPermission(); permission.setLevel(importedPermission.getLevel()); permission.setProject(aProject); permission.setUser(importedPermission.getUser()); projectService.createProjectPermission(permission); ProjectPermission permission = new ProjectPermission(); permission.setLevel(PermissionLevel.MANAGER); permission.setLevel(PermissionLevel.CURATOR); permission.setLevel(PermissionLevel.ANNOTATOR); permission.setProject(aProject); permission.setUser(aRequest.getManager().get().getUsername()); projectService.createProjectPermission(permission);