DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=42789>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42789 ------- Additional Comments From [EMAIL PROTECTED] 2007-07-09 21:30 ------- (In reply to comment #4) > We have 2 options here I think: > > 1) Ignore the problem - if we do this, we should log the exception so that the > loading of the preferences at least appears inside Chainsaws own log panel. > Currently there's a TODO to log it instead of printStackTrace(). > > 2) Introduce a version number in the serialization file. During the > saveSettingsEvent, at the end of the current set of objects being saved, > write a > version #. This number can be read back and used to determine whether the > next > object is likely to have been serialzide. You could do something like: > > > ..(previous deserializationstuff) > Vector v = null; > int versionNumber=0 > try{ > int versionNumber = in.readInt(); > > }catch(Exception e){ > // no versionNumber found, might want to be specific about the Exception > // caught here to make sure it's only End of Stream events. > } > > // now we know where at a point that has introduced the versionNumber > if(versionNumber>0){ > v = in.readObject(); > } > if (versionNumber>1){ > // ... some other future serialized data structure > } > > ..etc > > In the saveSettings event, we can start writing a version # at the end of the > current list, but before you add the Vector (and other objects if needed). > > Does that make sense? Yes I think your second suggestion is a reasonable way of tackling the problem. If needed we'll be able to change this in the future when new data structures will needed to be saved. I have tested it and it works fine. I'll attach the new patch.... -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
