@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 int getGroupCount() throws IOException { return getUserGroups().size(); }
@Override public int getUserCount() throws IOException { return getUsers().size(); }
@Override public boolean removeUser(GeoServerUser user) throws IOException { if (filterUser(user) != null) { return delegateAsStore().removeUser(user); } return false; }
@Override public void updateGroup(GeoServerUserGroup group) throws IOException { if (filterGroup(group) != null) { delegateAsStore().updateGroup(group); } }
@Override public SortedSet<GeoServerUser> getUsersHavingPropertyValue(String propname, String propvalue) throws IOException { return filterUsers( new TreeSet<GeoServerUser>( delegate.getUsersHavingPropertyValue(propname, propvalue))); }
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 boolean isModified() { return delegateAsStore().isModified(); }
protected SortedSet<GeoServerUserGroup> filterGroups(SortedSet<GeoServerUserGroup> groups) { for (Iterator<GeoServerUserGroup> it = groups.iterator(); it.hasNext(); ) { if (filterGroup(it.next()) == null) { it.remove(); } } return groups; } }
@Override public SortedSet<GeoServerUserGroup> getGroupsForUser(GeoServerUser user) throws IOException { return filterGroups(new TreeSet<GeoServerUserGroup>(delegate.getGroupsForUser(user))); }
@Override public int getUserCountHavingPropertyValue(String propname, String propvalue) throws IOException { return getUsersHavingPropertyValue(propname, propvalue).size(); }
@Override public int getUserCountHavingProperty(String propname) throws IOException { return getUsersHavingProperty(propname).size(); }
@Override public int getUserCountNotHavingProperty(String propname) throws IOException { return getUsersNotHavingProperty(propname).size(); }
@Override public void updateUser(GeoServerUser user) throws IOException, PasswordPolicyException { if (filterUser(user) != null) { delegateAsStore().updateUser(user); } }
@Override public void addGroup(GeoServerUserGroup group) throws IOException { if (filterGroup(group) != null) { delegateAsStore().addGroup(group); } }
@Override public SortedSet<GeoServerUser> getUsersNotHavingProperty(String propname) throws IOException { return filterUsers( new TreeSet<GeoServerUser>(delegate.getUsersNotHavingProperty(propname))); }
@Override public GeoServerUser createUserObject(String username, String password, boolean isEnabled) throws IOException { return filterUser(delegate.createUserObject(username, password, isEnabled)); }
@Override public void clear() throws IOException { delegateAsStore().clear(); }
@Override public GeoServerUserGroup createGroupObject(String groupname, boolean isEnabled) throws IOException { return filterGroup(delegate.createGroupObject(groupname, isEnabled)); }
@Override public SortedSet<GeoServerUserGroup> getUserGroups() throws IOException { return filterGroups(new TreeSet<GeoServerUserGroup>(delegate.getUserGroups())); }