* Add Logger.Entry class to avoid unnecessary String concatenation.
* Unify Logger classes code a little bit, making better use of inheritance.
* Run logger thread 3 times per second instead of 4 times.
* Add Javadoc comments and tags.
* added (most of) missing analyzers in Search.getAnalyzer()
* createIndex doesn't support a third argument for force-create an index anymore. to clear an index use its create() method instead
* Index now uses an IndexModifier instead of an IndexWriter in most cases
* to create a new Searcher instance now call index.getSearcher() or pass the index to search in as argument to the Searcher constructor
* checkWriteLock() is gone, instead getWriter() and getModifier() try for 2 seconds to return a writer/modifier. this should avoid concurrency problems
* Index.addIndexes() now takes a number of index directory arguments
* Index.create() now deletes all files in the directory (before it didn't)
* added checks for existing writer/modifier/reader before calling close()
* Index.getFieldNames() now returns a javascript array instead of a java object one
* Index.isLocked() doesn't create a reader anymore (before it did, but didn't use it)
* removed Index.getTerms() - if someone is missing that, shout
* Index.addDocument() now expects a single Document instance, for batch adding use the new method addDocuments()
* same with Index.removeDocument()
* added new method Index.updateDocument() that does removal and adding in one step (so the index is locked just once instead of two times)
* the wrapped lucene Query instance is now a public field - this saves from duplicating the getter method in every extending prototype
* Document.addField() now uses new DateTools class instead of the deprecated DateField utility methods
* removed Document.getDateField() since Document.getField() now handles dates as well
* added JSDoc compatible documentation
* Remove old Rhino 1.5 classes, make Helma debugger subclass Rhino 1.6 classes
(not fully functional yet, needs patches to Rhino debugger).
* Make helma.doc.DocFunction compile with Rhino 1.6 by introducing intermediary
DockenStream class that proxies TokenStream using java reflection.
* Make typename, app, and props fields final.
* Issue prominent warnings if parent proto can't be resolved or
relational extended type doesn't have a _prototype mapping.
* Determine in update() if this is a relational mapping or not.
* Add checks for underscore property name before persisting/marking dirty in setNode()
* Extract underscore property name check into isPersitableProperty() method
- Factor out repetitive SQL query building tasks into DbMapping.appendCondition()
- Implement automatic extended prototype filter for collections
- add prototype ids, but with simplified implementation (be agnostic
about numeric ids vs. prototype names)
* Rewrite relational node insertion code
* Make better use of DbColumn class wherever possible
* Minor code improvements throughout the place
* Factor out invokeOnInit() method from Node.init() in order to implement onInit() invocation
for the embedded database.
* Make properties starting with an _underscore transient in the embedded database,
mirroring the behaviour of the object relational storage.
* Keep filter.additionalTables from being included in prefetchNode() queries, fixing bug 472.
* Some minor code cleanup and simplification.