directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRSHARED-142) Value<?> objects containing byte[] of same content should be equals() == true
Date Tue, 30 Oct 2012 16:24:12 GMT

    [ https://issues.apache.org/jira/browse/DIRSHARED-142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13486986#comment-13486986
] 

Emmanuel Lecharny commented on DIRSHARED-142:
---------------------------------------------

The X-SCHEMA parameter is not used when comparing some AT. However, the comparison is also
checking that the Equality MatchingRule and the Syntax are equals, too.

    /**
     * {@inheritDoc}
     */
    public boolean equals( Object o )
    {
        ...
        // The equality
        if ( !compareOid( equalityOid, that.equalityOid ) )
        {
            return false;
        }

        if ( equality != null )
        {
            if ( !equality.equals( that.equality ) )
            {
                return false;
            }
        }
        else
        {
            if ( that.equality != null )
            {
                return false;
            }
        }


        if ( syntax.equals( that.syntax ) )
        {
            return syntaxLength == that.syntaxLength;
        }
        else
        {
            return false;
        }


Here, what would help is to put a breakpoint in the equals method, and to step to know where
in it the result is set to false.
                
> Value<?> objects containing byte[] of same content should be equals() == true
> -----------------------------------------------------------------------------
>
>                 Key: DIRSHARED-142
>                 URL: https://issues.apache.org/jira/browse/DIRSHARED-142
>             Project: Directory Shared
>          Issue Type: Bug
>    Affects Versions: 1.0.0-M13
>            Reporter: Hendy Irawan
>
> 1. get two Attribute objects from different sources, e.g. from LDAP connection vs. by
creating an entry programmatically
> 2. attribute1.get().equals( attribute2.get() ) will return false, which is wrong, because
:
> Arrays.equals((byte[])attribute1.get().getNormValue(), (byte[]) attribute2.get().getNormValue())
> will return true in this case.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message