Rdn.compareTo() method is not invertable
----------------------------------------

                 Key: DIRSHARED-3
                 URL: https://issues.apache.org/jira/browse/DIRSHARED-3
             Project: Directory Shared
          Issue Type: Bug
    Affects Versions: 0.9.10
            Reporter: Stefan Seelmann
            Priority: Minor
             Fix For: 0.9.11


The API doc of Comparable.compareTo() states:
"The implementor must ensure sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) for 
all x and y."

I think the Rdn.compareTo() method doesn't fulfill this contract for some 
special multi-valued RDNs:

Case1: mv-RDNs with same types but different values
RDN1: a=b+a=c
RDN2: a=b+a=y

Case2: mv-RDNs with complete different types
RDN1: a=b+c=d
RDN2: e=f+g=h

In both cases RDN1.compareTo(RDN2) returns 1 and also RDN1.compareTo(RDN2) 
returns 1, but it must be something like 1 and -1.

BTW: Why does the LDAP/X.500 spec allows such mv-RDNs? Grrrr

-- 
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