properties can't be modified from script code.
Deleted stuff that was permanently commented out:
* setNode() method
* readonly check for created and lastmodified props
function ending with "_action" may be invoked via HTTP. It
isn't necessary anymore to define the action in a .hac file.
As a consequence, it's not possible anymore to invoke
templates (.hsp files) via HTTP. Thus, the exposeTemplates
option has become obsolete.
Implemented onRequest() function which is called on the
object handling the HTTP request before the actual action
is invoked.
- Groupby-Nodes with prototype now use an internal DbMapping object
with the specified prototype's DbMapping as parent mapping. This is
necessary because the groupby prototype may be used in different places
and with different relational constraints.
- Cleaned up and reduced duplcate code in Getters for Property Relations
and DbMappings. Now everything is based on getExactPropertyRelation(str)
and getPropertyRelation() methods.
- Replaced Hashtables with HashMaps for performance reasons after
noticing that they are accessed quite often within a single request.
HopObject properties a proxy object is created for
serialization. It is a Hashtable with two entries: id and prototype,
containing the the id and prototype name of the referenced
HopObject as string values.
object.
In checkConstraints(), if a filter property is set, never return
true if the object has been modified since it was fetched from
the database. This is the only way we can be sure that the
constraints are fulfilled without evaluating the filter expression.
parsed by the application instead of creating a vanilla DbMapping.
This makes it possible to actually define additional properties and
collections on groupby nodes.
type.properties file before returning its value as a macro.
Return an error message if the property is not defined, or if
the macro tried to access a private property (which currently
applies only to user passwords).
because the clearCache() function may have been called on
the object since last accessing the cache node.
implemented clearCache() method to reset the cache in the
wrapped object.