Details
-
Type:
Sub-task
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Environment:mac 10.5.2 java.1.5 Groovy Version: 1.1-rc-2 JVM: 1.5.0_13-119
-
Number of attachments :
Description
class CP implements Comparable
{
int number
int compareTo(obj)
{ println 'compareTo called' return number - obj.number }boolean equals(obj)
{ println 'equals called' return obj.number = number }}
// script
def cp1 = new CP(number:1)
def cp2 = new CP(number:2)
cp1==cp2
// results
if CP implements Comparable, compareTo is called, if not, equals is called
// using grails with above as follows has ominous implications
I have a setup similar to as follows:
TopLevelDomainClass
SubLevelDomainClass implements Comparable
{
int number
int compareTo(obj)
}
sublevel1==sublevel2 calls the compareTo function for evaluation
I am on a Mac too, and I run into the same issue, when I changed my classes to implement the Comparable interface.
I suspect the OS isn't to be blamed, since this bug looks a lot like
http://jira.codehaus.org/browse/GROOVY-2334
I'll do some checks on a different OS anyway.