* Implement Image constructor from helma.util.MimePart
* Improve error reporting: Include original exception message for IOExceptions,
include argument info to detect wrong arguments
The methods that were handled by Helma traditionally (GET, POST, HEAD) are still
mapped to actions without method name in case no per-method action is defined.
until we find a way to deal with them)
* Add req.getMethod() that returns method name as string
* Add req.getServletRequest() that returns the HttpServletRequest object
for HTTP requests
* Set up req, path, session... objects for all types of requests
* Restructured helma.framework.core.RequestEvaluator to allow for more
cleanup in the future
Template classes. This is required for ZippedAppFile to when removing
Updatables that are no longer contained (revision 1.19 from Dec 7 2004).
Fixes bug 395.
This is to stop prototype properties from showing up in HopObject proprerty
enumerations. HopObject.getAllIds() can be used to get a prototypes properties.
changed properties in prototypes during code compilation. This way
we're able to remove prototype properties that haven't been renewed
in the last compilation (i.e. have been removed from the code).
* Use the same class for temporary compile time prototypes as for live protos
* Switch over parent scope when moving properties to live prototype. This
does not fix any problems because the functions causing the problems in
AntvilleLib are nested properties, but it seems like the right thing to do.
rather than the actual live prototype. Moved much compilation code into two new methods in
TypeInfo called prepareCompilation() and commitCompilation. The first one sets up the
temporary prototype object to compile against, the latter copies over new properties to
the live prototype and removes properties that are no longer present. Also, some field
names have been shortened.
set node properties for child nodes with groupby or accessname set. This
means that lookups for groupby/accessname nodes becomes pretty expensive
for the embedded database because we have to loop through child nodes, but
the overhead seems acceptable, and the embedded db is not for high performance
deployment anyhow. (Eventually we can implement some kind of caching mechanism
here if necessary.)