@Stephen, Thank you for your answer. Could you write a test to validate if a class that is Serializable provokes an undesired behavior?
El lunes, 21 de diciembre de 2015, 22:34:53 (UTC+1), Stephen Connolly escribió: > > 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] <javascript:>> > 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]>: >> >>> >>> >>> On Monday 21 December 2015, Raquel Pau Fernández <[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]. >>> 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]. >> 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/29bc768d-b55b-482a-a0f6-479dd537e6cb%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
