public Set preProcessModifyMemberShip(SSOToken token,String entryDN,String orgDN,Set members,int operation,int objectType) throws AMException {
  Set implSet=getPrePostImpls(orgDN);
  if (implSet != null && !implSet.isEmpty()) {
    Iterator itr=implSet.iterator();
    while (itr.hasNext()) {
      String className=(String)itr.next();
      AMCallBack impl=getCallBackObject(className);
      if (impl == null) {
        continue;
      }
      try {
switch (operation) {
case DirectoryServicesImpl.ADD_MEMBER:
          members=impl.preProcessAddUser(token,entryDN,members,objectType);
        break;
case DirectoryServicesImpl.REMOVE_MEMBER:
      members=impl.preProcessRemoveUser(token,entryDN,members,objectType);
    break;
}
}
 catch (AMException ae) {
debug.error("CallBackHelper.preProcessModifyMemberShip():" + " Preprocessing impl " + className + " exception "+ "thrown by impl:",ae);
throw ae;
}
}
}
return members;
}

public Set preProcessModifyMemberShip ( SSOToken token , String entryDN , String orgDN , Set members , int operation , int objectType ) throws AMException { Set implSet = getPrePostImpls ( orgDN ) ; if ( implSet != null && ! implSet . isEmpty ( ) ) { Iterator itr = implSet . iterator ( ) ; while ( itr . hasNext ( ) ) { String className = ( String ) itr . next ( ) ; AMCallBack impl = getCallBackObject ( className ) ; if ( impl == null ) { continue ; } try { switch ( operation ) { case DirectoryServicesImpl . ADD_MEMBER : members = impl . preProcessAddUser ( token , entryDN , members , objectType ) ; break ; case DirectoryServicesImpl . REMOVE_MEMBER : members = impl . preProcessRemoveUser ( token , entryDN , members , objectType ) ; break ; } } catch ( AMException ae ) { debug . error ( "CallBackHelper.preProcessModifyMemberShip():" + " Preprocessing impl " + className + " exception " + "thrown by impl:" , ae ) ; throw ae ; } } } return members ; }
special method for pre processing membership modification for roles & groups .
