================== Development notes. ================== 1. NodeDiff. Currently nodeId is Object. It can be ObjectId. Of what other types it can be? 3. Expression (SimpleNode). Problems with toString()/fromString()? See cayenne.tutorial.client.Main class in tutorial application or test2.Main class (selectQueryChapter()). Method selectQueryChapter(). From there: ------------------------------------------------------------------------ // select all paintings done by artists who were born more than a 100 // years ago Calendar c = new GregorianCalendar(); c.set(c.get(Calendar.YEAR) - 100, 0, 1, 0, 0, 0); Expression qualifier3 = Expression .fromString("artist.dateOfBirth < $date"); qualifier3 = qualifier3.expWithParameters(Collections.singletonMap( "date", c.getTime())); ------------------------------------------------------------------------ Then if I do: ------------------------------------------------------------------------ String sQualifier3 = qualifier3.toString(); qualifier3 = Expression.fromString(sQualifier3); ------------------------------------------------------------------------ ...parser exception occured. Method toString() will return: "artist.dateOfBirth < Mon Jan 01 00:00:00 MSK 1906". Then, when trying to parse by fromString(), it can not understand that second parameter in Less expression is "Mon Jan 01 00:00:00 MSK 1906" and not "Mon". Quoting needed? 4. BaseQueryMetaData is package protected. Could not instantiate. NamedQuery has no method to init it's metadata from anything other then QueryMetadata. Created own MockQueryMetaData. 5. Maybe it would be better to save toMany attribute to XML in ObjRelationship definitions. Currently we can understand that ObjRelationship is toMany only if we know it's DbRelationship. But clients need not this information. (Class ClientMapLoader created.) 6. Work with HSQLDB. DbGenerator Ant task. When working in file mode we need to execute "SHUTDOWN" to flush changes to file system. So DbGenerator creates no tables in file mode on HSQLDB. It is strange, but even if I set "shutdown=true" property for connection it does not shut down by itself.