protected SortedSet<GeoServerUser> filterUsers(SortedSet<GeoServerUser> users) { for (Iterator<GeoServerUser> it = users.iterator(); it.hasNext(); ) { if (filterUser(it.next()) == null) { it.remove(); } } return users; }
@Override public GeoServerUser createUserObject(String username, String password, boolean isEnabled) throws IOException { return filterUser(delegate.createUserObject(username, password, isEnabled)); }
@Override public GeoServerUser getUserByUsername(String username) throws IOException { return filterUser(delegate.getUserByUsername(username)); }
@Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException { return filterUser((GeoServerUser) delegate.loadUserByUsername(username)); }
@Override public void updateUser(GeoServerUser user) throws IOException, PasswordPolicyException { if (filterUser(user) != null) { delegateAsStore().updateUser(user); } }
@Override public boolean removeUser(GeoServerUser user) throws IOException { if (filterUser(user) != null) { return delegateAsStore().removeUser(user); } return false; }
@Override public void addUser(GeoServerUser user) throws IOException, PasswordPolicyException { if (filterUser(user) != null) { delegateAsStore().addUser(user); } }
@Override public void associateUserToGroup(GeoServerUser user, GeoServerUserGroup group) throws IOException { // TODO: should probably throw exception if trying to add to filtered group if (filterUser(user) != null && filterGroup(group) != null) { delegateAsStore().associateUserToGroup(user, group); } }
@Override public void disAssociateUserFromGroup(GeoServerUser user, GeoServerUserGroup group) throws IOException { // TODO: should probably throw exception if trying to add to filtered group if (filterUser(user) != null && filterGroup(group) != null) { delegateAsStore().disAssociateUserFromGroup(user, group); } }