[ 
https://issues.apache.org/jira/browse/TUSCANY-2009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561304#action_12561304
 ] 

Kelvin Goodson commented on TUSCANY-2009:
-----------------------------------------

I'm surprised that the Ecore equality helper doesn't handle this.  If my 
understanding is correct then Ecore could check the 
eAttribute.getEAttributeType().getInstanceClass().isArray() and then use 
Arrays.equals() for all arrays.  Maybe there's a fix in a later version of EMF?

This is our only array of primitives type, so we can special case it. We should 
check for type Bytes and use java.util.Arrays.equals(arg1,arg2) in our impl of 
haveEqualAttribute

> Java SDO's EqualityHelper doesn't compare Bytes values correctly
> ----------------------------------------------------------------
>
>                 Key: TUSCANY-2009
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2009
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Implementation
>    Affects Versions: Java-SDO-1.0
>         Environment: n/a
>            Reporter: David T. Adcox
>             Fix For: Java-SDO-Next
>
>         Attachments: Test2009.java
>
>
> Comparison of two Bytes values fails when it should succeed.  The test for 
> equality passes through the EqualityHelperImpl.equal method.  In that method, 
> the test is passed to EcoreUtil.haveEqualAttribute(EObject, EObject, 
> EAttribute).  For a simple type, it defers to java's '==' operator.  So, two 
> different object arrays are being compared, not for their contents, but 
> rather if they are the same object.  Attached is a test case which 
> demonstrates this issue.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to