[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Upgrading ozone applications
> > > Has it been tried for more advanced refactoring schemes than just
> > > adding and removing fields.
> >
> > No, none of the points below. And I guess it wouldn't work, since you may
>
> get
>
> > two objects where one is expected. What happens with references to object
> > Cv1 ? Does they point after loading to Cv2 or B or what ? Those
> > references have to be splitted too. At the moment I've got no idea how to
> > handle
>
> this.
>
> A possibility:
> You could store the class version ID with each object and run a lazy update
> on instantiation in your creation callback event.
>
> A simple example, using our callback syntax:
>
> class fooStore{
> int classVersion;
> Object oldMember;
> Object newMember;
>
> void objectOnActivate(){
> if(classVersion < 1){
> newMember = oldMember;
> oldMember = null;
> classVersion = 1;
> }
> }
> }
But isn't that similar to my subversion-number-read/writeExternal-approach ?
The problem of Lasse is that oldMember becomes oldMember _and_ newMember. How
would solve this ?
Best Regards,
Gerd
--
______________________________________________________________________
Gerd Mueller mailto:gerd@smb-tec.com
SMB GmbH http://www.smb-tec.com