/** @param authorityNames the authorityNames to set */ public void setAuthorityNames(List<String> authorityNames) { removeList = new ArrayList<UserAuthority>(); addedList = new ArrayList<UserAuthority>(); this.authorityNames = new ArrayList<String>(); if (authorityNames == null) { for (UserAuthority auth : authorities) { removeList.add(auth); } for (UserAuthority auth : removeList) { this.removeAuthority(auth); } return; } this.authorityNames.addAll(authorityNames); for (UserAuthority role : authorities) { if (authorityNames.contains(role.getAuthority())) { // we keep the role, and remove the name authorityNames.remove(role.getAuthority()); } else { // this role has been removed removeList.add(role); } } for (UserAuthority role : removeList) { this.removeAuthority(role); } // now we need to add what's left in rNames for (String name : authorityNames) { addedList.add(new UserAuthority(this, name)); authorities.add(new UserAuthority(this, name)); } }
public void mapAuthorityMatrix(Map<String, String> allRoles) { userAuthorityMap = new HashMap<String, String>(); List<String> roleKeys = new ArrayList<String>(); for (UserAuthority role : this.authorities) roleKeys.add(role.getAuthority()); for (String key : allRoles.keySet()) { if (roleKeys.contains(key)) { userAuthorityMap.put(key, allRoles.get(key)); } } }
/** * Remove role from group authority by name * * @param role * @return true if remove successful otherwise false */ public boolean removeAuthority(String authorityName) { if (StringUtil.isEmpty(authorityName)) return false; for (UserAuthority role : getAuthorities()) { if (authorityName.equals(role.getAuthority())) { removeAuthority(role); return true; } } return false; }
public void syncAuthorityNames() { authorityNames = new ArrayList<String>(); for (UserAuthority auth : authorities) { authorityNames.add(auth.getAuthority()); } }