DbMapping: Change getPropertyRelation visibility to private, always use
getSubnodeRelation from outside instead.
Node: Rewrote getProperty(String) to be simpler and easier to understand.
furthermore, getProperty(String) now also returns child objects (subnodes)
making it unnecessary for calling code to also use getChildElement()
or getSubnode()
Node: Fixed NullPointerException in getElementName() for transient nodes
Node: Use DbMapping.getSubnodeRelation() instead of DbMapping.getPropertyRelation()
NodeManager: Fixes in getNode() methods, which now invoke each other depending on
key/query type
Relation: Removed unused arguments from constructor
Relation: Fixed NullPointerException in createOnDemand()
HopObject: Do not use getChildElement() in jsFunction_get() (see change in
Node.getProperty())
HopObject: Handle case where jsFunction_get() and jsFunction_set() are called with
non-strings that should be handled as string, e.g.
org.mozilla.javascript.NativeString
cosmetic cleanup everywhere (imports, unneeded casts, unused fields etc.)
When finishing the transaction, the transactor will call setLastSubnodeChange() on
the parent nodes. This is necessary because the lastSubnodeChange flag should only be
set after child node changes have been committed to the database.
(Fixes bug 285 http://helma.org/bugs/show_bug.cgi?id=285 )
* Changed the way select statements are built: Use tablename.* rather than * to prevent
columns from additionalTables are fetched unnecessarily.
* Code cleanup everywhere, mostly in Transactor.java, Relation.java and NodeManager.java
When finishing the transaction, the transactor will call setLastSubnodeChange() on
the parent nodes. This is necessary because the lastSubnodeChange flag should only be set
after child node changes have been committed to the database.
(Fixes bug 285 http://helma.org/bugs/show_bug.cgi?id=285 )
* Changed the way select statements are built: Use tablename.* rather than * to prevent
columns from additionalTables are fetched unnecessarily.
* Code cleanup everywhere, mostly in Transactor.java, Relation.java and NodeManager.java
When finishing the transaction, the transactor will call setLastSubnodeChange() on
the parent nodes. This is necessary because the lastSubnodeChange flag should only be
set after child node changes have been committed to the database.
(Fixes bug 285 http://helma.org/bugs/show_bug.cgi?id=285 )
* Changed the way select statements are built: Use tablename.* rather than * to prevent
columns from additionalTables are fetched unnecessarily.
* Code cleanup everywhere, mostly in Transactor.java, Relation.java and NodeManager.java
collections/mountpoints that do not need to be persisted themselves but
need their child nodes to be processed. This fixed bug 274 "Accessing collections of transient
nodes turns them permanently transient" http://helma.org/bugs/show_bug.cgi?id=274
throw an error and display a proper error message when on object of that type is
accessed.
* RhinoEngine.hasFunction() now checks on the actual object (wrapper) and
thus is always right.
* Unwrap WrappedException when caught in RhinoEngine.invoke()
* Use helma.util.CacheMap instead of java.util.WeakHashMap for wrapper caching,
possibly fixing a GC problem