[ http://issues.apache.org/jira/browse/DIRSERVER-334?page=all ] Emmanuel Lecharny closed DIRSERVER-334: ---------------------------------------
done > Pb with case sensitivity for attributes > --------------------------------------- > > Key: DIRSERVER-334 > URL: http://issues.apache.org/jira/browse/DIRSERVER-334 > Project: Directory ApacheDS > Type: Bug > Reporter: Emmanuel Lecharny > Assignee: Alex Karasulu > Priority: Blocker > > There is a huge problem with attributes. They are supposed to be case > insensitive (RFC 2251, par. 2.5.1: "... they must be IA5 (ASCII) strings, and > they are case insensitive (e.g. "[EMAIL PROTECTED]" will match "[EMAIL > PROTECTED]")") > If we use the BasicAttribute class (javax.naming.directory.BasicAttribute) > without lowercasing the attribute's name, there is no way to guarantee that > we could do a attributes.get( <name>.toLowerCase() ) with a correct response. > This usage is spreaded all over the code and need to be fixed. > As an example, here is a snapshot of a working code : > /* > * create objectClass=top, objectClass=organizationalUnit > */ > Attributes attributes = new BasicAttributes(); > Attribute attribute = new BasicAttribute( "objectClass".toLowerCase() > ); // we MUST lowercase the attribute's name > attribute.add( "top" ); > attribute.add( "organizationalUnit" ); > attributes.put( attribute ); > > Attribute attr = attributes.get("objectclass".toLowerCase()); > Attribute attr2 = attributes.get("objectClass".toLowerCase()); > Assert.assertTrue( attr == attr2 ); // no problem, they are equal. > /* > * The same piece of code, without the lowerCase() > */ > Attributes attributes = new BasicAttributes(); > Attribute attribute = new BasicAttribute( "objectClass"); > attribute.add( "top" ); > attribute.add( "organizationalUnit" ); > attributes.put( attribute ); > > Attribute attr = attributes.get("objectclass"); > Attribute attr2 = attributes.get("objectClass"); > Assert.assertTrue( attr == attr2 ); // they are different, as attr is > null. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
