E&S CVS Commit: TransWarp - Cleanup pass on TW.Database.DataModel.

pje at eby-sarna.com pje at eby-sarna.com
Sun Mar 10 15:33:00 EST 2002


Module Name:	TransWarp
Committed By:	pje
Date:		Sun Mar 10 20:32:04 UTC 2002

Modified Files:
	TransWarp/src/TW/Database: DataModel.py Interfaces.py LDAPModel.py
	TransWarp/src/TW/Database/tests: DataModel.py

Log Message:
Cleanup pass on TW.Database.DataModel.

 * TypeManager is now RecordManager, which is a bit more meaningful name

 * Simplified Record's handling of types, by:

   - Doing away with the 'mostSpecificTypes' list, replacing it with
     the use of a master 'resolutionOrder' typename tuple in the
     record manager.  This reduces Records' housekeeping overhead, at
     the cost of marginally slower saves.

   - Switching from a typeMap dictionary to valid/invalidTypes kjSets.
     This reduces typeMap updating to simple set arithmetic.

   - Moved _changedField logic from RecordTypes to Records.  99% of the
     time, the policy for whether the record should be queued vs. updating
     immediately will be determined in the Record, since it ordinarily will
     be uniform across record types within the same record manager.  In the
     other 1%, you can always delegate outward from the
     Record._changedField method.

 * Other misc. cleanup; new test for the 'resolutionOrder' attribute.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/TransWarp/src/TW/Database/DataModel.py.diff?r1=1.18&r2=1.19
http://cvs.eby-sarna.com/TransWarp/src/TW/Database/Interfaces.py.diff?r1=1.3&r2=1.4
http://cvs.eby-sarna.com/TransWarp/src/TW/Database/LDAPModel.py.diff?r1=1.3&r2=1.4
http://cvs.eby-sarna.com/TransWarp/src/TW/Database/tests/DataModel.py.diff?r1=1.2&r2=1.3

To generate a diff of this commit:
cvs rdiff -r1.18 -r1.19 TransWarp/src/TW/Database/DataModel.py
cvs rdiff -r1.3 -r1.4 TransWarp/src/TW/Database/Interfaces.py \
    TransWarp/src/TW/Database/LDAPModel.py
cvs rdiff -r1.2 -r1.3 TransWarp/src/TW/Database/tests/DataModel.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.





More information about the source-changes mailing list