OF-1794: Cache 'all usernames' result from LDAP.
The UserProvider defines a method that returns all usernames. This is used when a group is being shared with 'everyone'.
The LdapUserProvider will query everything in LDAP, every time this method is called. Adding some kind of cache should dramatically improve performance.
OF-1794: Minor optimization
When 'all users' or 'all usernames' have been collected, various cached values can be updated from that data that's already obtained.
daryl herzmann <akrherz@iastate.edu>
fe869fa0423d9b61fab601789ff045f3457d7c1c
Merge pull request #1390 from guusdk/OF-1793_admin-console-group-sharing OF-1793: Contact List Sharing for LDAP groups shows wrong setting.
daryl herzmann <akrherz@iastate.edu>
8c7399efd5d458a55d486ae7437c114859f55876
Merge pull request #1384 from guusdk/OF-1784_Dont-sent-error-upon-write-failure OF-1784: Don't write error when data cannot be written.
OF-1793: Contact List Sharing for LDAP groups shows wrong setting.
Groups imported through LDAP initially have no properties. The admin console checks the Contact List Sharing configuration of a group, by evaluating the value of the sharedRoster.showInRoster property. Previously, this needed to have the value 'nobody' for the group to be marked as 'unshared'. This commit ensures that a group is also shown to be 'unshared' if the property is not set at all.