From: Joao M. <jcm...@us...> - 2005-12-23 23:54:46
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8448/Core Modified Files: InstantPersistence.pas Log Message: Changed Broker retrieve from InstantBrokerCatalog to ensure that there is a broker assigned to it. Index: InstantPersistence.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPersistence.pas,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 *** InstantPersistence.pas 22 Dec 2005 07:28:45 -0000 1.77 --- InstantPersistence.pas 23 Dec 2005 23:54:35 -0000 1.78 *************** *** 1399,1402 **** --- 1399,1403 ---- private FBroker: TInstantBroker; + function GetBroker: TInstantBroker; public // Creates an instance and binds it to the specified TInstantScheme object. *************** *** 1405,1409 **** const ABroker: TInstantBroker); virtual; // A reference to the broker through which the metadata info is read. ! property Broker: TInstantBroker read FBroker; end; --- 1406,1410 ---- const ABroker: TInstantBroker); virtual; // A reference to the broker through which the metadata info is read. ! property Broker: TInstantBroker read GetBroker; end; *************** *** 11546,11564 **** I: Integer; begin ! CodeSite.Send('Enter RemoveRefsOfDeletedObjectsFromList'); ! CodeSite.Send('BusyObjectRefs.Count', BusyObjectRefs.Count); for I := Pred(BusyObjectRefs.Count) downto 0 do with BusyObjectRefs.RefItems[I] do begin ! CodeSite.Send('I', I); ObjStore := Connector.ObjectStores.FindObjectStore(ObjectClass); ! CodeSite.Send('Assigned(ObjStore)', Assigned(ObjStore)); if not (Assigned(ObjStore) and Assigned(ObjStore.Find(ObjectId))) then begin ! CodeSite.Send('Delete(I)', I); BusyObjectRefs.Delete(I); end; end; ! CodeSite.Send('Exit RemoveRefsOfDeletedObjectsFromList'); end; --- 11547,11565 ---- I: Integer; begin ! //CodeSite.Send('Enter RemoveRefsOfDeletedObjectsFromList'); ! //CodeSite.Send('BusyObjectRefs.Count', BusyObjectRefs.Count); for I := Pred(BusyObjectRefs.Count) downto 0 do with BusyObjectRefs.RefItems[I] do begin ! //CodeSite.Send('I', I); ObjStore := Connector.ObjectStores.FindObjectStore(ObjectClass); ! //CodeSite.Send('Assigned(ObjStore)', Assigned(ObjStore)); if not (Assigned(ObjStore) and Assigned(ObjStore.Find(ObjectId))) then begin ! //CodeSite.Send('Delete(I)', I); BusyObjectRefs.Delete(I); end; end; ! //CodeSite.Send('Exit RemoveRefsOfDeletedObjectsFromList'); end; *************** *** 11567,11571 **** I: Integer; begin ! CodeSite.Send('Enter RefreshObjectsInList'); for I := 0 to Pred(BusyObjectRefs.Count) do begin --- 11568,11572 ---- I: Integer; begin ! //CodeSite.Send('Enter RefreshObjectsInList'); for I := 0 to Pred(BusyObjectRefs.Count) do begin *************** *** 11574,11582 **** Obj.Refresh; end; ! CodeSite.Send('Exit RefreshObjectsInList'); end; begin ! CodeSite.EnterMethod(Self, 'InternalRefreshObjects'); BusyObjectRefs := TInstantObjectReferenceList.Create(False, Connector); try --- 11575,11583 ---- Obj.Refresh; end; ! //CodeSite.Send('Exit RefreshObjectsInList'); end; begin ! //CodeSite.EnterMethod(Self, 'InternalRefreshObjects'); BusyObjectRefs := TInstantObjectReferenceList.Create(False, Connector); try *************** *** 11587,11591 **** Close; ! CodeSite.Send('After Close'); // Remove references from the BusyList for objects destroyed --- 11588,11592 ---- Close; ! //CodeSite.Send('After Close'); // Remove references from the BusyList for objects destroyed *************** *** 11594,11598 **** Open; ! CodeSite.Send('After Open'); // Refresh objects in the BusyList that were not destroyed --- 11595,11599 ---- Open; ! //CodeSite.Send('After Open'); // Refresh objects in the BusyList that were not destroyed *************** *** 11602,11606 **** BusyObjectRefs.Free; end; ! CodeSite.ExitMethod(Self, 'InternalRefreshObjects'); end; --- 11603,11607 ---- BusyObjectRefs.Free; end; ! //CodeSite.ExitMethod(Self, 'InternalRefreshObjects'); end; *************** *** 15371,15374 **** --- 15372,15382 ---- end; + function TInstantBrokerCatalog.GetBroker: TInstantBroker; + begin + if not Assigned(FBroker) then + raise EInstantError.Create(SUnassignedBroker); + Result := FBroker; + end; + { TInstantModelCatalog } |