Review request 8002212 - adding read/writeObject to additional SerialXXX classes - (original) (raw)

Lance Andersen - Oracle Lance.Andersen at oracle.com
Sat Nov 3 16:23:21 UTC 2012


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

Best Lance

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

-------------- next part --------------

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