harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthias Wessendorf <mat...@apache.org>
Subject Re: [luni] ObjectInputStream.java
Date Thu, 12 Aug 2010 06:58:55 GMT
Oh, yeah :-)

The problem is basically that the should be exposed, so copy/paste goes away.

-Matthias

On Thu, Aug 12, 2010 at 8:53 AM, Jimmy,Jing Lv <firepure@gmail.com> wrote:
> Hi Matthias,
>
>     I am afraid we Harmony developer would better not access Sun's website
> to avoid the possible contamination. Thanks anyway!
>
> 2010/8/11 Matthias Wessendorf <matzew@apache.org>
>
>> BTW. a bug in this direction was filed against the SUN JDK.
>>
>> the "mapping table" should be exposed, to avoid copy/past development
>> w/in custom ObjectInputStream impls
>>
>> http://bugs.sun.com/view_bug.do?bug_id=4942688
>>
>> -M
>>
>> On Wed, Aug 11, 2010 at 4:46 PM, Jimmy,Jing Lv <firepure@gmail.com> wrote:
>> > Thanks Matthias, a lesson to me ;)
>> >
>> > 2010/8/11 Matthias Wessendorf <matzew@apache.org>
>> >
>> >> a little background.
>> >>
>> >> I am working on an Apache MyFaces project, were we have our own
>> >> ObjectInputStream class ([1]).
>> >> Now when we update to the latest version of one of our dependencies
>> >> (JSF 2.0, Sun Mojarra), we
>> >> got this exception:
>> >> java.lang.ClassNotFoundException: void
>> >> ...
>> >>
>> >> I filed a bug against them, b/c of that (see [2] for more). They said
>> >> the reason why we see it is that with the new version one of their
>> >> helper class stores null values as
>> >> Void.TYPE(s). Therefore they suggested to do what the JDK does.
>> >>
>> >> The did a very simple patch ([3]), which I think is code from the Sun
>> >> JDK 1.6.x of the "standard" ObjectInputStream.
>> >> In order to avoid any license issues, by looking into Sun's JDK, I
>> >> opened Harmony can "borrowed" code.
>> >>
>> >> So I am wondering if the void has been forgotten..., since I suspect
>> >> (as of [3]) that the Sun JDK's ObjectInputStream does
>> >> register void/void.class....
>> >>
>> >> BTW. I changed our custom ObjectInputStream patch (see [4]) and the
>> >> error (java.lang.ClassNotFoundException: void) is now gone
>> >>
>> >> Greetings,
>> >> Matthias
>> >>
>> >> [1]
>> >>
>> https://issues.apache.org/jira/secure/attachment/12439193/1.2.12.2_compressviewstate.patch
>> >> [2] https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1607
>> >> [3]
>> >>
>> https://javaserverfaces.dev.java.net/nonav/issues/showattachment.cgi/1241/1607.txt
>> >> [4]
>> >>
>> https://issues.apache.org/jira/secure/attachment/12451648/TRINIDAD-1747_August10.patch
>> >>
>> >>
>> >> On Wed, Aug 11, 2010 at 10:21 AM, Jimmy,Jing Lv <firepure@gmail.com>
>> >> wrote:
>> >> > Hi Matthias,
>> >> >
>> >> >     I suppose ObjectInputStream is mainly use to serialize Object
but
>> >> void
>> >> > is not a kind of Class to be serialized. Please tell me if I am wrong.
>> >> >
>> >> > 2010/8/10 Mark Hindess <mark.hindess@googlemail.com>
>> >> >
>> >> >>
>> >> >> In message <AANLkTinN_KKS+RkLZfXup2tGHBAoR-9FVB8om3MCi9u=@
>> >> mail.gmail.com>,
>> >> >> Matthias Wessendorf writes:
>> >> >> >
>> >> >> > Hello,
>> >> >> >
>> >> >> > looking at ObjectInputStream.java,
>> >> >> >
>> >> >> >     static {
>> >> >> >         PRIMITIVE_CLASSES.put("byte", byte.class); //$NON-NLS-1$
>> >> >> >         PRIMITIVE_CLASSES.put("short", short.class); //$NON-NLS-1$
>> >> >> >         PRIMITIVE_CLASSES.put("int", int.class); //$NON-NLS-1$
>> >> >> >         PRIMITIVE_CLASSES.put("long", long.class); //$NON-NLS-1$
>> >> >> >         PRIMITIVE_CLASSES.put("boolean", boolean.class);
>> //$NON-NLS-1$
>> >> >> >         PRIMITIVE_CLASSES.put("char", char.class); //$NON-NLS-1$
>> >> >> >         PRIMITIVE_CLASSES.put("float", float.class); //$NON-NLS-1$
>> >> >> >         PRIMITIVE_CLASSES.put("double", double.class);
>> //$NON-NLS-1$
>> >> >> >     }
>> >> >> >
>> >> >> > I am wondering why there is no "void", void.class key-value
pair?
>> >> >>
>> >> >> I see you've raised a JIRA bug for this.  I'm struggling to
>> understand
>> >> >> in what context this would be needed.  Can you provide a test
case
>> that
>> >> >> shows why it is needed?
>> >> >>
>> >> >> Regards,
>> >> >>  Mark.
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > --
>> >> >
>> >> > Best Regards!
>> >> >
>> >> > Jimmy, Jing Lv
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Matthias Wessendorf
>> >>
>> >> blog: http://matthiaswessendorf.wordpress.com/
>> >> sessions: http://www.slideshare.net/mwessendorf
>> >> twitter: http://twitter.com/mwessendorf
>> >>
>> >
>> >
>> >
>> > --
>> >
>> > Best Regards!
>> >
>> > Jimmy, Jing Lv
>> > China Software Development Lab, IBM
>> >
>>
>>
>>
>> --
>> Matthias Wessendorf
>>
>> blog: http://matthiaswessendorf.wordpress.com/
>> sessions: http://www.slideshare.net/mwessendorf
>> twitter: http://twitter.com/mwessendorf
>>
>
>
>
> --
>
> Best Regards!
>
> Jimmy, Jing Lv
> China Software Development Lab, IBM
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Mime
View raw message