[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