* implement tag balancing:
- unclosed tags are closed when necessary (either when an enclosing tag
is closed or when all text is processed and tags are still open)
- closed tags that were not opened are dropped
* be smart in newline-to-<br> conversion: when an HTML block element is met,
some or all newline characters are excluded from conversion.
* implemented "allowed tags" feature, all other tags are escaped. This is not yet
exported to the JavaScript API, though.
except it defines a function to be called with the raw href. The raw href is passed as
only parameter to the function, and it is expected to return the processed href.
* Relation mappings that are overwritten in sub-prototypes no longer override
the parent prototype's Relation object but creates its own Relation
* Generally enable all things to be overwritten in DbMappings that inherit from
another relational DbMapping. That means it should now be possible to really
change lots of things from a parent DbMapping and a child DbMapping.
* Improved property enumeration which now merges properties defined in the
DbMapping inherit chain
* Cleaned up and improved variable naming.
* isInstanceOf(str) checks if this prototype is an instance (equals or inherits) the
prototype with the given name.
* addToHandlerMap(map, obj) adds the given object as macro handler for this
prototype and all its parent prototypes.
from a jar-URL.
* Exit if installation directory could not be determined.
* Print a message to stderr for each extension jar that is added to the
classpath.
* Race condition when applications were initialized before the
Server constructor had returned and Server.server and thus
Server.getServer() was null
* Server choking on -i command line option telling the launcher class
the Helma install location.
storeSessionData(File) and loadSessionData (File)
if no file is given the file "dbdir/sessions" is used
added new app.property: persistentSessions
with this all sessions are serialized at shutdown and re-read at startup
(sessions that expired in the meantime aren't loaded anymore)
(fixes bug 216)
* Do not rely on helma.objectmodel.db.Node.getPrototype() to return null
to find out whether a node has been initialized. Even if the prototype is not set, the
Node will return "hopobject" as prototype.
are concurrent method lookups, which usually happen only at the beginning when
the server is started. Later, cached lookups don't have the synchronization penalty.
* Commented out all debug code.