List<String> getPermissions() { List<String> permissionNames = new ArrayList<String>(); Set<Permission> permissions = grantedPermissions; if (isTeamAdmin) { permissions = teamAdminGrantedPermissions; } for (Permission permission : permissions) { permissionNames.add(permission.getName()); } return permissionNames; }
public String[] getUserTeamPermissions(String user, String teamName) throws TeamNotFoundException { Team team = findTeam(teamName); if (isSysAdmin(user)) { return ALL_TEAM_PERMISSIONS; } TeamMember member = team.findMember(user); if (member != null) { List<String> memberPermissions = member.getPermissions(); if (team.isAdmin(user)) { // Add the pseudo-permission memberPermissions.add(0, ADMIN); } String[] permissions = memberPermissions.toArray(new String[memberPermissions.size()]); Arrays.sort(permissions); return permissions; } else if (Team.PUBLIC_TEAM_NAME.equals(teamName)) { // Even anonymous can read return new String[]{Item.READ.getName()}; } return new String[0]; }