ClassCastException's when adding an entry
-----------------------------------------

                 Key: DIRSERVER-1273
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1273
             Project: Directory ApacheDS
          Issue Type: Bug
          Components: core
    Affects Versions: 1.5.4
         Environment: I'm using ApacheDS 1.5.4 from a TestNG based unit test 
(adapted from the AbstractServerTest provided by ApacheDS).
            Reporter: Mark Derricutt


Somehow I've hit the following exception when adding an entry to my (embedded) 
ApacheDS server:

2008-10-02 16:13:19,182 ERROR [pool-9-thread-7] 
handlers.ReferralAwareRequestHandler - OTHER: failed for     Add Request :
ClientEntry
    dn: 
1.3.6.1.4.1.28416.2.2.2.131=2000114,2.5.4.11=customers,2.5.4.11=smx,2.5.4.10=smx
    objectclass: smxparty
    smxpartyid: 2000114
: java.lang.Long cannot be cast to java.lang.String
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
    at 
org.apache.directory.shared.ldap.schema.DeepTrimToLowerNormalizer.normalize(DeepTrimToLowerNormalizer.java:59)
    at 
org.apache.directory.shared.ldap.schema.CachingNormalizer.normalize(CachingNormalizer.java:99)
    at 
org.apache.directory.shared.ldap.schema.NormalizingComparator.compare(NormalizingComparator.java:74)
    at 
org.apache.directory.server.schema.SerializableComparator.compare(SerializableComparator.java:99)


I'm assuming the problem here is triggering on the smxpartyid attribute, which 
is defined as:

dn: m-oid=1.3.6.1.4.1.28416.2.2.2.131, ou=attributeTypes, cn=smx3, ou=schema
objectclass: metaAttributeType
objectclass: metaTop
objectclass: top
m-oid: 1.3.6.1.4.1.28416.2.2.2.131
m-name: smxpartyid
m-equality: integerMatch
m-syntax: 1.3.6.1.4.1.1466.115.121.1.27
m-length: 0

In code, this is being setup and passed to LDAP as String's:

            final Attributes attributes = new BasicAttributes();
            attributes.put(new BasicAttribute("objectclass", "smxparty"));
            attributes.put(new BasicAttribute("smxpartyid", 
party.getId().toString()));

At what point is ApacheDS converting this to a Long (is this based on the 
m-equality: integerMatch?).  I assume the code should be falling into something 
other than NormalizingComparator (or NormalizingComparator shouldn't assume 
String's).




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to