Review request 8002212 - adding read/writeObject to additional SerialXXX classes -- Updated
Remi Forax
forax at univ-mlv.fr
Sat Nov 3 16:36:40 UTC 2012
On 11/03/2012 05:23 PM, Lance Andersen - Oracle wrote:
> On Nov 3, 2012, at 11:34 AM, Remi Forax wrote:
>
>> On 11/03/2012 03:11 PM, Lance Andersen - Oracle wrote:
>>> I revised the webrev, http://cr.openjdk.java.net/~lancea/8002212/webrev.01, taking into account the vast majority of Remi's suggestions.
>> in SerialJavaObject, hasStaticFields doesn't work, the original code doesn't work because
>> it only check for fields that are declared static but not for fields that are by example public static.
>>
>> private static boolean hasStaticFields(Field[] fields) {
>> for (Field field : fields) {
>> if ( Modifier.isStatic(field.getModifiers())) {
>> return true;
>> }
>> }
>> return false;
>> }
>>
>> This may cause compatibility issue because despite the specification, the original code
>> will let objects that have a static field to be serialized.
> I cannot make the change above as it breaks too many tests and I would prefer to go with the less is more scenario. As I think I mentioned before, I do not think the original authors really thought through these classes and thankfully they are not used much, if at all.
>> Also, in readObject, if obj is null, the code should throw an IOException because
>> it's not possible to create a SerialJavaObject with null has parameter (because obj.getClass()
>> that implictly checks null in the constructor).
> I made the change to readObject. I did not put an explicit check in the constructor but will do that under a separate bug
>
> I also added the comment to SerialDataLink and removed the read/writeObject
>
> http://cr.openjdk.java.net/~lancea/8002212/webrev.02
Ok, thumb up.
>
> Best
> Lance
cheers,
Rémi
>
>> All other classes are Ok for me.
>>
>>> I also added SerialStruct to the webrev.
>> SerialStruct is Ok for me.
>>
>>> Have a great weekend.
>> Have a nice weekend too.
>>
>>> Best
>>> Lance
>> cheers,
>> Rémi
>>
>
>
> Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
> Oracle Java Engineering
> 1 Network Drive
> Burlington, MA 01803
> Lance.Andersen at oracle.com
>
More information about the core-libs-dev
mailing list