9d62b407e7
git-svn-id: https://samskivert.googlecode.com/svn/trunk@1774 6335cc39-0255-0410-8fd6-9bcaacd3b74c
66 lines
2.7 KiB
Plaintext
66 lines
2.7 KiB
Plaintext
samskivert notes -*- mode: outline -*-
|
|
|
|
* To do:
|
|
Modify JORA such that if it doesn't find a matching public field in the
|
|
persistence object, it looks for getter/setter methods that will handle
|
|
the encoding/decoding of the composite fields during persistification.
|
|
|
|
Fix message.properties single quote handling. In messages that have
|
|
translation substitutions ({0}, {1}, etc.), one has to use '' but in plain
|
|
strings they have to use \'. It should be one or the other.
|
|
|
|
Make MessageManager.resolveBundle more efficient because presently it
|
|
iterates over all locales looking for an exact match *every* time a
|
|
message is fetched.
|
|
|
|
Make SiteResourceLoader cache the resources it loads (locate and make use
|
|
of someone else's caching services rather than rewheeling).
|
|
|
|
* Minimal database services
|
|
** Requirements
|
|
- Connection management (configuration file mapping database identifiers
|
|
to JDBC info; connection pooling if desired; automatic reconnection on
|
|
transient error)
|
|
- Support for retrying transation on transient error
|
|
- Mechanism for ironing out database idiosyncrasies
|
|
|
|
* O/R database services
|
|
** Requirements
|
|
- Generate schemas from XML description
|
|
- Generate Java source from XML description
|
|
- Load object from table
|
|
- Extensibility (extend tables & objects)
|
|
- Partial loads (load subset of object fields)
|
|
- Partial updates (update subset of object fields)
|
|
- Joins (populate objects w/data from multiple tables)
|
|
- Multiple queries (populate objects w/data from multiple queries)
|
|
- Support multiple operations in the same transaction
|
|
- Support automatic transation retries on transient errors
|
|
- Extensible support for smoothing over DB vendor inconsistencies
|
|
- Handle OID assignment
|
|
- Support mapping of multiple classes to one table (ie. address contains
|
|
zipcode object, address table contains all the information)
|
|
- Loose coupling between in memory objects and data in database
|
|
- Ability to load entire object and dependencies at once or as needed
|
|
|
|
** Postponed or explicitly ignored requirements
|
|
- Object proxies with just in time loaded fields (use partial loads instead)
|
|
- Cursor support
|
|
|
|
** Related projects (in some sort of order)
|
|
- Castor http://castor.exolab.org/
|
|
- Town http://share.whichever.com/index.php?SCREEN=town
|
|
- POEM http://www.melati.org/
|
|
- s2j http://www.bitmechanic.com/projects/s2j/
|
|
- COBRA http://www.kimble.easynet.co.uk/cobra/index.htm
|
|
- DbGen http://dbgen.sourceforge.net/
|
|
- JORA http://www.ispras.ru/~knizhnik/
|
|
- TableGen http://tablegen.sourceforge.net/
|
|
- DECCO http://www.khill.org/decco/
|
|
- Osage http://osage.sourceforge.net/
|
|
- DOGEN http://sourceforge.net/projects/dogen/
|
|
|
|
** Related information
|
|
- http://www.ambysoft.com/mappingObjects.html
|
|
- http://www.ambysoft.com/persistenceLayer.html
|