[
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