@Override public void removeAttributes(SSOToken token,IdType type,String name,Set<String> attrNames) throws IdRepoException {
  if (DEBUG.messageEnabled()) {
    DEBUG.message("removeAttributes invoked");
  }
  attrNames=removeUndefinedAttributes(type,attrNames);
  if (attrNames.isEmpty()) {
    throw newIdRepoException(IdRepoErrorCode.ILLEGAL_ARGUMENTS);
  }
  String dn=getDN(type,name);
  ModifyRequest modifyRequest=LDAPRequests.newModifyRequest(dn);
  for (  String attr : attrNames) {
    modifyRequest.addModification(ModificationType.DELETE,attr);
  }
  Connection conn=null;
  try {
    conn=createConnection();
    conn.modify(modifyRequest);
  }
 catch (  LdapException ere) {
    DEBUG.error("An error occurred while removing attributes from identity: " + name + " attributes: "+ attrNames,ere);
    handleErrorResult(ere);
  }
 finally {
    IOUtils.closeIfNotNull(conn);
  }
}

@ Override public void removeAttributes ( SSOToken token , IdType type , String name , Set < String > attrNames ) throws IdRepoException { if ( DEBUG . messageEnabled ( ) ) { DEBUG . message ( "removeAttributes invoked" ) ; } attrNames = removeUndefinedAttributes ( type , attrNames ) ; if ( attrNames . isEmpty ( ) ) { throw newIdRepoException ( IdRepoErrorCode . ILLEGAL_ARGUMENTS ) ; } String dn = getDN ( type , name ) ; ModifyRequest modifyRequest = LDAPRequests . newModifyRequest ( dn ) ; for ( String attr : attrNames ) { modifyRequest . addModification ( ModificationType . DELETE , attr ) ; } Connection conn = null ; try { conn = createConnection ( ) ; conn . modify ( modifyRequest ) ; } catch ( LdapException ere ) { DEBUG . error ( "An error occurred while removing attributes from identity: " + name + " attributes: " + attrNames , ere ) ; handleErrorResult ( ere ) ; } finally { IOUtils . closeIfNotNull ( conn ) ; } }
removes the specified attributes from the identity .
