From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-03 06:52:21
|
I've just finished the two refactoring tasks I indicated were necessary for the collection cache. What I've done is: (1) given the ScheduledXXXXX classes an afterTransactionCompletion() method so that they can release any cach softlocks they acquired from the execute() method. (2) refactored assemble() and disassemble() onto the Type hierarchy Now the collection cache should be easy to finish off. The remaining steps are: (1) implement methods on the PersistentCollection heirarchy to extract the state of the various collection types. (2) implement the cache on CollectionPersister, following the model on ClassPersister ( softlock(), lock(), cache() + getCached() ). Its a fair bit simpler for this case 'cos we don't need to worry about circular references or polymorphism :) (3) wire in calls to CollectionPersister.softlock(), releaseSoftLock() from the ScheduledCollectionXXXXXX classes (4) wire in a call to CollectionPersister.cache() when the collection is initialized ... and a call to CollectionPersister.getCached() when the collection is retrieved. Are you down for this John? |