Although the global variable "groups" still contains the manager object to handle all group objects, the inner structure was streamlined to conform with Helma's library structure (helma namespace) and to generally prevent namespace cluttering.
* Move static methods down to the bottom of the file to circumvent
a strange bug that prevents documentation from being generated.
* Some JSDoc comment fixes
* Use and support helma.File as Mime part input source
* Remove code examples to make jsdoc actually render the comments
* Implement get/setMimepartType() methods
- any cookie received from the remote server will now be part of the result object returned by getUrl()
- added methods setCookie(), getCookie() and getCookies() for adding and retrieving cookies
* added JsDoc compatible inline documentation (due to a bug in JsDoc the static methods setProxy and getProxy don't show up in the generated docs)
* switched to using app.logger for log output
* renderMarkupPart and isSelected are no longer private methods, but static ones, so that the methods calling them can be defined as prototype properties
* adapted helma.Html.TableWriter to the new structure (had to use method.call() since there is no default instance of helma.Html
* added JsDoc compatible inline documentation
* bugfix in getField(): don't try to convert the string value into a date, since this possibly does the conversion even if it's not intended (it can happen that an id is converted into a date). therefor re-introduced the method getDateField()
* 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