I revised the webrev, http://cr.openjdk.java.net/~lancea/8002212/webrev.01, 
taking into account the vast majority of Remi's suggestions.

I also added SerialStruct to the webrev.

Have a great weekend.

Best
Lance
On Nov 2, 2012, at 7:42 PM, Remi Forax wrote:

> On 11/02/2012 11:57 PM, Lance Andersen - Oracle wrote:
>> This is similar to 8001536, just additional classes.
>> 
>> This adds read/writeObject, equals, clone methods to additional SerialXXX 
>> classes
>> 
>> SQE, JCK and JDBC Unit tests all pass.
>> 
>> The webrev can be viewed at 
>> http://cr.openjdk.java.net/~lancea/8002212/webrev.00
> 
> Hi Lance,
> in SerialArray.equals(), I prefer
> 
> return baseType == sa.baseType &&
>        baseTypeName.equals(sa.baseTypeName)) &&
>        Arrays.equals(elements, sa.elements);
> 
> instead of
> 
>  if(baseType == sa.baseType && baseTypeName.equals(sa.baseTypeName)) {
>      return Arrays.equals(elements, sa.elements);
>  }
> 
> In SerialDataLink, do you really need readObject/writeObject given
> that you call the default implementations.
> 
> in SerialJavaObject, in equals, you should declare a local variable like in 
> SerialDataLink.equals,
> even if the local varialble is used once, it's more readable.
> Also like in SerialArray.equals, you can do a return directly instead of 
> if(...) return true.
> in clone(), you can use the diamond syntax,
> sjo.chain = new Vector<>(chain);
> in setWarning(), you can use the diamond syntax as the original source does.
> and in readObject, you can use the diamond syntax too.
> In readObject, you forget to throw an exception if there are some static 
> fields
> in getClass().getFields() as the constructor does
> (this code can be moved in a private static method).
> Also, you should add a comment that because you call getClass() on obj,
> there is an implicit null check.
> 
> This can be fixed as a separated bug or not but the code of
> method SerialJavaObject.getField() is weird, the code checks if fields can be 
> null,
> but fields is never null. Also, cloning the field array is perhaps a better 
> idea
> if the reflection implementation doesn't cache the array of fields.
> 
> In SerialRef.equals, again, if(...) return should be transformed into return 
> ...
> 
>> 
>> 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.ander...@oracle.com
>> 
> 

Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com

Reply via email to