3.1.1.2.3.4 lDAPDisplayName Generation

When lDAPDisplayName is not given explicitly when creating an attribute or class, the system will generate a default one from the value of cn with the following routine:

 String generateLdapDisplayName(IN cn: String)
 {
   Identify the substrings in cn that are delimited by
     one or more characters in the set {' ', '-', '_'},
     let S be a string array containing all the substrings;
   Let T be a string array with the same number of elements
     as S, such that
     1. First string in T (T[1]) is exactly the same string
        as S[1], except the first character  of T[1] is the
        lower case form of the first character of S[1]; 
     2. For the remaining strings, T[i] is the same as S[i],
        except the first character of T[i] is the upper case
        of the first character of S[i];
   Let string st be the concatenation of the strings in T;
   Return st;
 }

For example, if the cn of a new class is Sam-Domain, the default lDAPDisplayName is samDomain.