harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasily Zakharov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5196) [classlib][luni][gut] EnumSet.elementType field doesn't exist
Date Mon, 26 Nov 2007 17:31:44 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12545520
] 

Vasily Zakharov commented on HARMONY-5196:
------------------------------------------

Here's even older bug: http://jira.codehaus.org/browse/XSTR-379

The issue is already fixed in XStream 1.2.2 (GUT 2.0 uses old XStream 1.1.3), but I think
applying a compatibility patch is still a good idea.


> [classlib][luni][gut] EnumSet.elementType field doesn't exist
> -------------------------------------------------------------
>
>                 Key: HARMONY-5196
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5196
>             Project: Harmony
>          Issue Type: Bug
>          Components: App-Oriented Bug Reports, Classlib
>            Reporter: Vasily Zakharov
>         Attachments: Harmony-5196.patch
>
>
> When running Geronimo Unit Tests v2.0.2, the following exception occurs:
> java.lang.RuntimeException: Could not access java.util.EnumSet.elementType field
> 	at com.thoughtworks.xstream.core.util.Fields.find(Fields.java:18)
> 	at com.thoughtworks.xstream.converters.enums.EnumSetConverter.<init>(EnumSetConverter.java:31)
> 	at java.lang.reflect.VMReflection.newClassInstance(VMReflection.java)
> Here's the simple code to reproduce:
> public class Test {
>     public static void main(String[] args) {
>         try {
>             System.out.println("SUCCESS: " + java.util.EnumSet.class.getDeclaredField("elementType"));
>         } catch (Exception e) {
>             e.printStackTrace(System.out);
>         }
>     }
> }
> Output on RI:
> SUCCESS: final java.lang.Class java.util.EnumSet.elementType
> Output on Harmony:
> java.lang.NoSuchFieldException: elementType
>         at java.lang.Class.getDeclaredField(Class.java:373)
>         at Test.main(Test.java:4)
> Clearly enough, the mentioned field is package private, it's not covered by the spec,
and probably it contains the element type of the EnumSet.
> Addressing such a field in an application is clearly a bug, and it should be reported
to XStream developers (http://xstream.codehaus.org).
> However, as this issue occurred, I think it worths to behave compatibly. Harmony implementation
of EnumSet has elementClass field that seems to be the equivalent of RI's elementType field.
So my suggestion is to rename elementClass to elementType and thus become more compatible
and move GUT v2.0 enabling forward.

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


Mime
View raw message