Beispiel #1
0
 /** @param roleNames the roleNames to set */
 public void setRoleNames(List<String> roleNames) {
   removeList = new ArrayList<UserRole>();
   addedList = new ArrayList<UserRole>();
   this.roleNames = new ArrayList<String>();
   if (roleNames == null) {
     for (UserRole role : roles) {
       removeList.add(role);
     }
     for (UserRole role : removeList) {
       this.removeRole(role);
     }
     return;
   }
   this.roleNames.addAll(roleNames);
   for (UserRole role : roles) {
     if (roleNames.contains(role.getRole())) {
       // we keep the role, and remove the name
       roleNames.remove(role.getRole());
     } else {
       // this role has been removed
       removeList.add(role);
     }
   }
   for (UserRole role : removeList) {
     this.removeRole(role);
   }
   // now we need to add what's left in rNames
   for (String name : roleNames) {
     addedList.add(new UserRole(this, name));
     roles.add(new UserRole(this, name));
   }
 }
Beispiel #2
0
  /**
   * TODO Consider making this cacheable
   *
   * @param authorities The required authorities
   * @return True if the user has all the required authorities
   */
  public boolean hasAllAuthorities(Authority[] authorities) {
    Set<Authority> requiredAuthorities = Sets.newHashSet(authorities);
    Set<Authority> grantedAuthorities = Sets.newHashSet();
    for (UserRole userRole : userRoles) {
      grantedAuthorities.addAll(userRole.getRole().getAuthorities());
    }

    return grantedAuthorities.containsAll(requiredAuthorities);
  }
 public User getUserWithRole(za.org.rfm.utils.Role role) {
   for (User user : getUsers()) {
     for (UserRole userRole : user.getUserRoles()) {
       if (userRole.getRole().getName().equalsIgnoreCase(role.name())) {
         return user;
       }
     }
   }
   return null;
 }
Beispiel #4
0
 public void mapRoleMatrix(Map<String, String> allRoles) {
   userRoleMap = new HashMap<String, String>();
   List<String> roleKeys = new ArrayList<String>();
   for (UserRole role : this.roles) roleKeys.add(role.getRole());
   for (String key : allRoles.keySet()) {
     if (roleKeys.contains(key)) {
       userRoleMap.put(key, allRoles.get(key));
     }
   }
 }
Beispiel #5
0
 /**
  * Remove role from group roles by name
  *
  * @param role
  * @return true if remove successful otherwise false
  */
 public boolean removeRole(String roleName) {
   if (StringUtil.isEmpty(roleName)) return false;
   for (UserRole role : getRoles()) {
     if (roleName.equals(role.getRole())) {
       removeRole(role);
       return true;
     }
   }
   return false;
 }
 public List<User> getUsersWithRole(za.org.rfm.utils.Role role) {
   List<User> userList = new ArrayList<User>();
   for (User user : getUsers()) {
     for (UserRole userRole : user.getUserRoles()) {
       if (userRole.getRole().getName().equalsIgnoreCase(role.name())) {
         userList.add(user);
       }
     }
   }
   return userList;
 }
Beispiel #7
0
 public void syncRoleNames() {
   roleNames = new ArrayList<String>();
   for (UserRole role : roles) {
     roleNames.add(role.getRole());
   }
 }