Pavel Zlámal created DIRAPI-320:
-----------------------------------

             Summary: ClassCastException on Objects.equals(Value,Value) for 
userPassword attribute
                 Key: DIRAPI-320
                 URL: https://issues.apache.org/jira/browse/DIRAPI-320
             Project: Directory Client API
          Issue Type: Bug
    Affects Versions: 2.0.0.AM2
            Reporter: Pavel Zlámal


When I use _JarLdifSchemaLoader_ it seems to load _userPassword_ attribute type 
with different Comparator than when I load it from LDAP connection (openLDAP in 
my case).

Then If I call:
{code:java}
Objects.equals(val, attribute.get())
{code}
to check if value passed to my method is the first in the attribute, I get 
_ClassCastException_, since it tries to pass _String_ (normalized value) to the 
_ByteArrayComparator._

When I use Schema only loaded from connection, then it works, since it uses 
_ComparableComparator._
{code:java}
java.lang.ClassCastException: java.lang.String cannot be cast to [B
    at 
org.apache.directory.api.ldap.model.schema.comparators.ByteArrayComparator.compare(ByteArrayComparator.java:32)
    at org.apache.directory.api.ldap.model.entry.Value.equals(Value.java:1389)
    at java.util.Objects.equals(Objects.java:59)
{code}
So there is probably bug in schema ldif included in JAR or in equals() 
implementation of Value.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to