Made quite some progress during the last two days:
DataContext.getDataMapsAsList:
- renamed to getDataMaps (original name actually)
- via parent: return an immutable write-through Collection reference.
DataDomain.getDataMapsAsList/getDataNodesAsList:
- renamed to getDataMaps/getDataNodes
- return immutable read-through Collection references
DataNode.get/setDataMapsAsList:
- renamed to getDataMaps
- return immutable read-through Collection references from EntityResolver
- setter takes any Collection and copies references via EntityResolver
EntityResolver.getDataMapsList:
- renamed to getDataMaps
- returns immutable read-through Collection references
DataMap.getDb/ObjEntitiesAsList
- renamed to getDb/ObjEntities
- return immutable read-through Collection references when possible
(~99% of all calls; see implementation for detail)
- deprecated *List methods (unreferenced)
Entity.get(Attribute|Relationship)List
- renamed to getXX
- return immutable read-through Collection references
ObjRelationship.getDbRelationshipList
- renamed to getDbRelationships
- returns immutable List reference (since order is important)
DbEntity/DbAttribute:
- correctly caches primary key attributes via faked (but unit-tested &
working!) attribute event handling; can be updated to the 'real thing'
later by doing basically nothing. Yes it still works in Modeler :)
All these changes have drastically reduced the number of temporary
collections and repeated iterator loops; Arndt's performance measurements
should look quite a bit different now.
If anybody notices any oddities, please scream at me instantly. :)
Holger
This archive was generated by hypermail 2.0.0 : Sat Mar 15 2003 - 17:59:06 EST