@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. For more options, visit https://groups.google.com/d/optout.
