363                 log.debug(
"Old members: {}", oldMembers);
   364                 log.debug(
"New members: {}", newMembers);
   366                 String groupDn = this.
group.getDn();
   375                 Arrays.sort(oldMemberDns);
   376                 Arrays.sort(newMemberDns);
   378                 boolean[] retainOldMembers = 
new boolean[oldMemberDns.length];
   379                 Arrays.fill(retainOldMembers, 
false);
   381                 List<String> addedMembers = 
new ArrayList<String>();
   382                 List<String> removedMembers = 
new ArrayList<String>();
   383                 List<String> existingMembers = 
new ArrayList<String>();
   386                 for (String value : newMemberDns) {
   387                         int idx = Arrays.binarySearch(oldMemberDns, value);
   390                                 retainOldMembers[idx] = 
true;
   393                                 addedMembers.add(value);
   398                 for (
int i = 0; i < oldMemberDns.length; i++) {
   399                         if (retainOldMembers[i]) {
   400                                 existingMembers.add(oldMemberDns[i]);
   402                                 removedMembers.add(oldMemberDns[i]);
   406                 for (String dn : addedMembers) {
   408                         log.debug(
"Adding group {} to person {} memberOf", groupDn, person.getDisplayName());
   411                                 GluuBoolean slaManager = 
isSLAManager(organizationGroups, person);
   412                                 person.setSLAManager(slaManager);
   415                         List<String> personMemberOf = 
new ArrayList<String>(person.getMemberOf());
   416                         personMemberOf.add(groupDn);
   417                         person.setMemberOf(personMemberOf);
   422                 for (String dn : removedMembers) {
   424                         log.debug(
"Removing group {} from person {} memberOf", groupDn, person.getDisplayName());
   427                                 GluuBoolean slaManager = 
isSLAManager(organizationGroups, person);
   428                                 person.setSLAManager(slaManager);
   431                         List<String> personMemberOf = 
new ArrayList<String>(person.getMemberOf());
   432                         personMemberOf.remove(groupDn);
   433                         person.setMemberOf(personMemberOf);
   440                         for (String dn : existingMembers) {
   442                                 log.debug(
"Updating group {} to person {} memberOf", groupDn, person.getDisplayName());
   444                                 GluuBoolean slaManager = 
isSLAManager(organizationGroups, person);
   445                                 if (slaManager.equals(person.getSLAManager())) {
   449                                 person.setSLAManager(slaManager);
 String getManagerGroup()
Definition: GluuOrganization.java:209
 
String [] convertToDNsArray(List< DisplayNameEntry > members)
Definition: UpdateGroupAction.java:459
 
OrganizationService organizationService
Definition: UpdateGroupAction.java:84
 
Logger log
Definition: UpdateGroupAction.java:60
 
abstract void updatePerson(GluuCustomPerson person)
 
abstract GluuCustomPerson getPersonByDn(String dn)
 
AppConfiguration appConfiguration
Definition: UpdateGroupAction.java:102
 
GluuOrganization getOrganization()
Definition: OrganizationService.java:84
 
IPersonService personService
Definition: UpdateGroupAction.java:99
 
GluuGroup group
Definition: UpdateGroupAction.java:68
 
GluuBoolean isSLAManager(String[] organizationGroups, GluuCustomPerson person)
Definition: UpdateGroupAction.java:455