I would rather they all be Serializable so it really needs a case by case
evaluation

On Monday 21 December 2015, Baptiste Mathus <[email protected]> wrote:

> @Stephen: then wouldn't at least a PR to add a comment to the
> readResolve() like
> https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/ListView.java#L112
> be beneficial both for the common knowledge and for you not to have to
> repeat yourself every few weeks? :-)
>
> Something short like:
>
> /**
>  * DO NOT REMOVE: see
> wiki.jenkins-ci.org/display/JENKINS/XStream-Why-Keep-Blah
>  */
>
> (Note: I can prepare that PR if so, or I wouldn't propose it).
>
> 2015-12-21 15:58 GMT+01:00 Stephen Connolly <
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>:
>
>>
>>
>> On Monday 21 December 2015, Raquel Pau Fernández <[email protected]
>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>>
>>> Hi,
>>>
>>> I have sent a PR that removes dead code (
>>> https://github.com/jenkinsci/jenkins/pull/1957). Some of the suggested
>>> changes are to remove readResolve methods because the classes that contain
>>> those methods do not implement java.io.Serializable.
>>>
>>>
>> -1000
>>
>> Those readResolve methods are critical for XStream
>>
>>
>>>  XStream, as far as I know, uses the readResolve when it is dealing with
>>> the ObjectOutputStream and according the official Java documentation, just
>>> Serialiable and Externalizable elements can use readResolve.
>>>
>>>
>>> Then, my question is if these classes:
>>>
>>>
>>>    - hudson.model.ListView
>>>    - hudson.model.PaneStatusProperties
>>>    - hudson.model.ParametersAction
>>>    - hudson.model.Queue
>>>    - hudson.security.csrf.DefaultCrumbIssuer
>>>    - hudson.tasks.BatchFile
>>>    - hudson.tasks.BuildTrigger
>>>    - hudson.tasks.Shell
>>>    - hudson.tools.BatchCommandInstaller
>>>    - hudson.tools.CommandInstaller
>>>    - hudson.util.RobustReflectionConverter
>>>    - jenkins.model.ArtifactManagerConfiguration
>>>    - jenkins.security.QueueItemAuthenticatorConfiguration
>>>
>>> should be java.io.Serializable or the methods need to be removed?
>>>
>>
>> Neither.
>>
>> It might be beneficial to make them Serializable, but there is no
>> requirement to do so. XStream.toXML doesn't need to take a Serializable and
>> will use writeReplace methods if present... Vice versa for fromXML and
>> readResolve
>>
>> In general these classes may not be Serializable as they are not viewed
>> safe for sending over remoting (which uses ObectOutputStream) so there are
>> two different needs and hence 4 different scenarios, only one of which
>> doesn't need readResolve
>>
>>
>>>
>>> Thank you in advance
>>>
>>>
>>
>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Jenkins Developers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com
>>> <https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>> --
>> Sent from my phone
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected]
>> <javascript:_e(%7B%7D,'cvml','jenkinsci-dev%[email protected]');>
>> .
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMwt5Co3qBe55Mv1YbazWydjW7vqf5Ph4bs1g-UtmNubGQ%40mail.gmail.com
>> <https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMwt5Co3qBe55Mv1YbazWydjW7vqf5Ph4bs1g-UtmNubGQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Baptiste <Batmat> MATHUS - http://batmat.net
> Sauvez un arbre,
> Mangez un castor !
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <javascript:_e(%7B%7D,'cvml','jenkinsci-dev%[email protected]');>
> .
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS6Hjo8o2OEv6H7Z1%3DrgYogFRWRnMMZsQNAdb9HBrJnVMA%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS6Hjo8o2OEv6H7Z1%3DrgYogFRWRnMMZsQNAdb9HBrJnVMA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>


-- 
Sent from my phone

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMxWMenqd5DZVmHGy8_V05nqREk25DoiX5ncXpxgMQTsWQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to