[ http://issues.apache.org/jira/browse/DIRSERVER-658?page=all ]
Emmanuel Lecharny resolved DIRSERVER-658:
-----------------------------------------
Resolution: Fixed
Fixed by modifiying the way NamingContexts are stored in the Attribute object :
they are now stored as String, not as LdapDN objects.
Regression tests passed ok.
> ClassCast exception when fetching DNs from root DES
> ---------------------------------------------------
>
> Key: DIRSERVER-658
> URL: http://issues.apache.org/jira/browse/DIRSERVER-658
> Project: Directory ApacheDS
> Type: Bug
> Versions: 1.0-RC4
> Reporter: Emmanuel Lecharny
> Assignee: Emmanuel Lecharny
>
> When fetching for DNs in LdapBrowser, you get an exception while encoding the
> SearchResultEntry :
> ...
> Caused by: java.lang.ClassCastException:
> org.apache.directory.shared.ldap.name.LdapDN
> at
> org.apache.directory.shared.ldap.codec.search.SearchResultEntry.computeLength(SearchResultEntry.java:240)
> at
> org.apache.directory.shared.ldap.codec.LdapMessage.computeLength(LdapMessage.java:530)
> at
> org.apache.directory.shared.ldap.codec.LdapMessage.encode(LdapMessage.java:602)
> at
> org.apache.directory.shared.ldap.codec.TwixEncoder.encodeBlocking(TwixEncoder.java:121)
> at
> org.apache.directory.shared.ldap.codec.TwixEncoder.encode(TwixEncoder.java:200)
> at
> org.apache.directory.shared.ldap.message.MessageEncoder.encode(MessageEncoder.java:131)
> at
> org.apache.mina.filter.codec.asn1.Asn1CodecEncoder.encode(Asn1CodecEncoder.java:55)
> at
> org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:226)
> ... 22 more
> The problem is that when encoding a SearchResultEntry, the values are
> supposed to be Strings or byte arrays, not LdapDNs. When you fetch for DNs in
> the root DSE, the result is stored in the SearchResultEntry as LdapDN
> objects, not Strings, and it's allowad, as the method which set the value
> accept an Object.
> We have to fix two problems :
> - first, check that the Object is either a String or a byte[], nothing else
> (defensive programming)
> - second, avoid storing LdapDN objects where String or byte[] are expected :)
--
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