[EMAIL PROTECTED] wrote:
Author: antonio
Date: Sat Jan  8 16:35:26 2005
New Revision: 124693

Hi Antonio,

What logic have you used to select classes for adding serialVersionUID?


URL: http://svn.apache.org/viewcvs?view=rev&rev=124693
Log:
Add serialVersionUID
Modified:
   
cocoon/branches/BRANCH_2_1_X/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/configuration/HandlerConfiguration.java
   
cocoon/branches/BRANCH_2_1_X/src/blocks/axis/java/org/apache/cocoon/components/axis/providers/AvalonProvider.java
   
cocoon/branches/BRANCH_2_1_X/src/blocks/scratchpad/java/org/apache/cocoon/generation/RequestParameterGenerator.java
   
cocoon/branches/BRANCH_2_1_X/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3Properties.java

Even though above classes are Serializable, none of those classes have witeObject / readObject methods. Next change to any of those classess will cause exceptions during serialization, if somebody to try it. serialVersionUID should be removed. The only situation when it must be added back is when there is a conscious effort to make different versions of the class to have compatible disk format.



   
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java
   
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2/ScriptableWidget.java

These classes, even though super class is marked as Serializable, have non transient member storing instance(s) of the non serializable classes, so serialVersionUID here has no sense and should be removed. Any attempt to serialize / deserialize these objects will cause system to fail.



   
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/event/ProcessingPhase.java
   
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetState.java

Here serialVersionUID makes no harm, so probably it can be left in.


   
cocoon/branches/BRANCH_2_1_X/src/blocks/paranoid/java/org/apache/cocoon/servlet/ParanoidCocoonServlet.java
   
cocoon/branches/BRANCH_2_1_X/src/blocks/scratchpad/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_Cocoon.java
   
cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java
   
cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/servlet/CocoonServlet.java

Same situation as with ScriptableWidget. Nothing good will happen after serialization. Please revert.



Thanks, Vadim

Reply via email to