in run() so we can start and stop transactions where we used to.
* Do not check for null arguments in invokeDirectFunction(), it's up to the caller to pass
an empty array.
* Do not call ScriptingEngine.hasFunction() for onRequest(), it just adds overhead.
* Move check for empty args from Application.invokeFunction() to
RequestEvaluator.invokeDirectFunction.
* Add some missing JavaDoc comments for invoke* methods.
functionName argument should be resolved as member expression. Use this feature
to allow calling nested/deep functions in internal invocations (e.g. scheduler calls).
Fixes bug 290.
* Implement HopObject.getResource(String filename), returns a helma.framework.repository.Resource
object defined for the prototype.
* Minor optimization in put().
* Add String getContent(String encoding) method to Resource interface.
* Propagate IOExceptions in FileResource.getContent().
* Make FileResource.getContent() more robust by not assuming all data can
be read in one single blow.
* Do lazy byte->char conversion in ZipResource.getContent() in the String
constructor rather than a Reader.
* If appDir is not defined in apps.properties, use the last file repository as appdir
(used to be the first one)
* If appDir is defined, add it to the end of the repository list if it isn't explicitly
listed as repository.
* If appDir is defined in apps.properties, use it for the app.dir JS variable.
* Never automatically create an app's file repositories.
non-existing properties that were previously set or are defined in the type mapping,
and undefined for non-existing properties that are not defined in the type mapping.
* Check logdir app property in updateProperties() rather than in getLogger().
* Only set helma.logdir system property if it isn't already set to prevent conflicts
between applications.
* Insert new repositories at the beginning of the list in addRepository().
* Some cleanup.
ApplicationBean.java:
* Use "helma.[appname].app" as default log name for messages logged through
app.log(), app.debug().
* Introduce app.getLogger() and app.getLogger(name) that return a Jakarta
commons Log instance. The zero argument method uses "helma.[appname].app"
as category name.
* Added and fixed some JavaDocs.