commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Paster <apas...@yahoo.com>
Subject Re: Fwd: [Lang] ClassCastException in Enum.compareTo()
Date Mon, 12 Mar 2007 14:47:34 GMT
I have attached a test and patch that seems to fix this bug.

Henri Yandell wrote:
> Forwarding over from the user list. Any opinions Stephen?
>
> ---------- Forwarded message ----------
> From: Adam Paster <apaster@yahoo.com>
> Date: Feb 27, 2007 3:55 AM
> Subject: Re: [Lang] ClassCastException in Enum.compareTo()
> To: Henri Yandell <flamefew@gmail.com>
> Cc: Jakarta Commons Users List <commons-user@jakarta.apache.org>
>
>
> In my example below, I was referring to the OperationEnum class defined
> at
> http://svn.apache.org/repos/asf/jakarta/commons/proper/lang/tags/LANG_2_3/src/test/org/apache/commons/lang/enums/OperationEnum.java

>
>
> So, even though the two enums have different classnames, the
> Enum.compareTo() method should take the getEnumClass() into account to
> decide whether a ClassCastException should be thrown....
>
> Regards
>  Adam
>
> Henri Yandell wrote:
>> Looking at the svn log history, I presume it's due either to LANG-259
>> or LANG-127:
>>
>> https://issues.apache.org/jira/browse/LANG-259
>> https://issues.apache.org/jira/browse/LANG-127
>>
>> Both were in 2.2, so 2.2 will be equally problematic for you.
>>
>> LANG-127 took the code that was already in equals() to use reflection
>> when classes are in different classloaders, LANG-259 adding the
>> ClassCastException when the classes are in different classloaders and
>> the two enums do not have the same classname.
>>
>> Does that fit with your MINUS/PLUS enums? Do they have different
>> classnames?
>>
>> Hen
>>
>> On 2/27/07, Adam Paster <apaster@yahoo.com> wrote:
>>> Hi
>>>
>>> In commons lang 2.1 the following code used to work:
>>> OperationEnum.MINUS.compareTo(OperationEnum.PLUS)
>>> But when I upgraded to version 2.3 it throws a ClassCastException. Is
>>> this a regression?
>>>
>>> Many thanks
>>>   Adam
>>>
>>>
>>>
>>>
>>>
>>>
>>> ___________________________________________________________
>>> Inbox full of unwanted email? Get leading protection and 1GB storage
>>> with All New Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>>>
>>>
>> </div>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
>

Mime
View raw message