Commit graph

2118 commits

Author SHA1 Message Date
hns
5efab894ef * Only prepend table name to query if access name doesn't contain "(" or "." 2005-08-29 14:11:38 +00:00
hns
8b446fea01 * Minor changes: remove unused code, switch error message to lower/mixed case. 2005-08-29 14:10:24 +00:00
hns
0f3d15cee5 * Patch from Juerg Lehni: try to autodetect Joins in additionalTables option.
* Some code cleanup:
    - Don't do string concatenation in arguments to StringBuffer.append()
    - Remove redundant if clause
    - Remove throws statement for unthrown exceptions
    - Remove unneeded variable initialzation
2005-08-29 13:49:31 +00:00
hns
961f755c4f * Only interpret last path element as action if it is not terminated by a "/".
This helps us to disambiguify URLs: /foo/ will never be interpreted as action,
   while /foo will be.
2005-08-29 12:06:24 +00:00
hns
37574fbdfd * Provide a getter for the repository's directory. 2005-08-25 10:13:22 +00:00
hns
af84ec19c9 * Remaining public fields in RequestTrans converted to private, final where possible
* Added setters/getters
* Improved hashCode() implementation for RequestTrans
2005-08-18 22:55:30 +00:00
hns
3d6da7803d * Synchronize get() and set() to hopefully get rid of weird property read errors.
* Do not access static fields through instance variable
2005-08-18 22:41:00 +00:00
hns
04d8589d29 Make public fields in RequestTrans private, remove transient modifier, add getters and setters as needed,
synchronize getter and setter for action to fix inconsistent behaviour.
2005-08-18 21:46:52 +00:00
hns
97c5399c9b Implement getPrototypeProperties(String) to get a SystemMap containing the
scripted properties of a prototype.
2005-08-12 13:27:26 +00:00
hns
3b2a106503 Handle case where global variable is null. 2005-08-12 13:18:38 +00:00
hns
ac0fc677a5 * Set connection readonly flag to true in executeRetrieval() and false in executeUpdate().
* Remove a few unneeded local variables.
2005-08-12 13:18:11 +00:00
lehni
a878d5919a Added more possible parameters for the Image() constructor: BufferedImage, Image 2005-08-12 11:32:03 +00:00
lehni
5050abc53d Various changes to the imaging code:
- added Image.trim(), that trims an image based on a specified pixel, just like in Photoshop.
- saveAs exists in two versions now, one that takes a filename, the other an OutputStream + Mime type (first step toward an  Java activation framework based approach)
2005-08-12 11:30:04 +00:00
lehni
29f4faa3a1 Various changes to the imaging code:
- added Image.trim(), that trims an image based on a specified pixel, just like in Photoshop.
- saveAs exists in two versions now, one that takes a filename, the other an OutputStream + Mime type (first step toward an  Java activation framework based approach)
2005-08-12 11:28:55 +00:00
hns
e78b126148 Convert rootPrototype and userPrototype fields to local variables. 2005-08-09 23:50:21 +00:00
hns
b316462c69 * Extract session cleanup and cron job invoker code from run()
into separate cleanupSessions() and executeCronJobs() methods
* Add some missing JavaDoc tags
2005-08-09 17:44:55 +00:00
hns
42a088ef58 Do not insist on helma.jar to be in classpath. This is useful for running Helma
in alternative environments such as GCJ.
2005-08-09 17:32:39 +00:00
hns
7e44b71d6d Normalize upload file names by cutting off any path info before the actual file name. 2005-08-09 13:37:19 +00:00
kmfdm
9b97203b3a added try-catch-blocks around CronJob parsing and CronJob handling 2005-08-09 12:55:23 +00:00
hns
5982de3b48 Add uploadSoftfail servlet init parameter 2005-08-01 10:03:16 +00:00
hns
24fb08d1fc Improve cron thread log output 2005-08-01 10:02:44 +00:00
hns
7218ddd4da Simplify getCronJobs() implementation 2005-08-01 10:01:58 +00:00
hns
f369c4ca1b Minor plastic surgery: move item.delete() up a few lines. 2005-07-29 13:41:15 +00:00
hns
1682808eca Delete upload file item after usage. 2005-07-29 13:37:24 +00:00
hns
3c29cd2e32 * Use Hashtable instead of WeakHashMap for activeCronJobs - we're using function names as keys, so
it's actually bogus to use WeakHashMap, plus WeakHashMap is not synchronized.
* Add event log statements each time cron jobs are executed: List of cron jobs we're going to execute,
   and the map of cron jobs still active from last time.
* Add log statement if CronRunner catches an exception, just so it behaves like the same-thread cron
   execution code.
2005-07-29 13:30:45 +00:00
hns
42989de65e Add app.getCronJobs() function that allows to retrieve the currently registered custom cron jobs.
This returns a JavaScript object with the function name as property names and the helma.util.CronJob
instance as property values.
2005-07-29 13:24:31 +00:00
hns
878b7ee06d * Switch to Jakarta Commons FileUpload for handling file uploads.
* Introduce uploadSoftfail setting in apps.properties that allows
   file upload errors to be cought by checking req.data.helma_upload_error
2005-07-29 11:45:42 +00:00
hns
56c1973ca5 Adding commons-fileupload.jar to classpath 2005-07-29 11:31:55 +00:00
hns
904acb7b17 Adding Jakarta Commons FileUpload 1.0 2005-07-29 11:31:03 +00:00
hns
4539f0f74a Renamed some variables in the cron job section of the run() method.
Rewrote cron job cleanup code at the end of run().
2005-07-20 13:55:40 +00:00
hns
06fa3713a7 Remove debugging output. 2005-07-20 13:50:36 +00:00
hns
6d4978f652 * Fix bug 435, cron jobs are run even if the function name is not defined
* Fix a bug that caused the scheduler thread to awaken twice in immedate
   succession because of imprecise timing in Thread.sleep()
2005-07-20 13:49:37 +00:00
hns
37e51812d6 Should fix bug 434 <http://helma.org/bugs/show_bug.cgi?id=434>
* Synchronize all methods that call/rely on update().
* Make sure repositories and resources are not null after update() has been called.
2005-07-20 11:42:16 +00:00
hns
bea4c3a5b7 Invoke setReadonly(boolean) on the db connection depending on the type of statement we're about to send. 2005-07-12 09:42:00 +00:00
hns
eafca524bc Do not ignore case (i.e. switch property names to lower case) for db properties. 2005-07-12 09:40:26 +00:00
hns
3b539848c0 Add new constructor that takes ignoreCase flag, because it can't be set later for app/resource name properties. 2005-07-12 09:39:54 +00:00
hns
ab5694092e Use Context.get/putThreadLocal() to register per-thread scopes for DynamicGlobalObject.
This is to fix some very obscure behaviour that was likely caused by the WeakHashMap code.
2005-07-07 15:28:09 +00:00
grob
38b4f265ce Look up variables in per-thread scope first, then in shared global scope. 2005-07-06 14:10:02 +00:00
grob
5ebbfe70a3 Synchronize set/getSubnodeRelation() to prevent problems on multiprocessor machines 2005-07-06 11:42:36 +00:00
grob
d8feb2620b Set req and res fields to volatile to prevent invalid reads on multiprocessor machines 2005-07-06 11:41:20 +00:00
grob
fa38fbc172 Synchronize thread -> scope map 2005-07-06 11:40:16 +00:00
hns
6bdb02ec6a Fix registerUser(): user addNode() instead of setNode() so user nodes are stored as child nodes, not properties. 2005-06-28 10:27:05 +00:00
hns
9e43503ced Remove setDbMapping() which is never used and might be hazardous if it was. 2005-06-28 10:08:18 +00:00
hns
7209fd9709 make class not final 2005-06-28 10:03:55 +00:00
hns
5e2494462a sznchronizing all methods that manipulate/access the buffer field
to avoid bogus rendering on multiprocessor machines.
2005-06-24 13:37:54 +00:00
hns
7991eb888f Add proxy method for Application.getSkin(String protoname, String skinname, Object[] skinpath) 2005-06-22 09:40:45 +00:00
hns
d743c82c89 Go back to old log file rotation code layout a bit, but still only use one thread to gzip all rotated files:
- GZipper class is with FileLogger again and takes either a list of files or a single file
- Log file rotation is done synchronously in the Logging.Runner thread, only gzipping is done in
  a separate thread
2005-06-22 08:37:25 +00:00
hns
365fab6a63 Rewrote log file rotation to use just one thread for zipping all log files. 2005-06-16 19:57:15 +00:00
hns
0c8b653c1e Cleaned up constructor a bit, use direct assignment instead of setter for prototype. 2005-06-16 17:51:04 +00:00
hns
27a31bd736 Do not try to set DbMapping in Node.setPrototype() - it has disastrous effects for prototyped groupby nodes. 2005-06-16 17:45:56 +00:00