Next release, automatic upgrade

Unfortunatelly, I realized a few days ago that I had some bugs in
1.0alpha3 resource pickling (filtered resource pickling to be more
precise). Fixing that bug (which I really have to do) implies that
1.0alpha3 configuration is not going to be strickly backward
compatible, however...

I am now writing a program that takes a 1.0alpha3 Jigsaw
configuration, and upgrade it to 1.0alpha4 (or 1.0beta,
hopefully). This program will be run whenever you start Jigsaw/1.0beta
against a Jigsaw/1.0alpha3 configuration (so everything will be
transparent to normal users), provided appropriate command line
options are specified (this will not be black magic).

Now, I am facing the following problem: the impact of changing the
FilteredResource pickling format may have some (bad) interactions with
people who have written new Jigsaw extensions. After deep thinking,
the *only* case that will cause trouble is if the extension resource
redefines one of the following methods (inherited from
w3c.jigsaw.resource.AttributeHolder):

    public void pickle(DataOutputStream out) 
	throws IOException;

    static public AttributeHolder unpickle (DataInputStream in, Hashtable defs)
	throws IOException;

    public AttributeHolder unpickleInstance(DataInputStream in, Hashtable defs)
	throws IOException;

As an example, in the whole Jigsaw source code, there is only one
(perhaps two) resources that do override one of these methods. I
would be heavily interested in knowing if anyone here has written a
resource that overrides one of them (please send me personal email,
and put "picklebug" in the subject line).

Thanks,
Anselm

Received on Friday, 20 December 1996 10:18:21 UTC