Commit graph

2252 commits

Author SHA1 Message Date
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
hns
8f4bfdd54b Set parent in MultiFileRepository child repositories, otherwise order is lost in Application.addRepository() 2005-06-16 12:12:43 +00:00
hns
0ecfcd0fba - Make sure collections on transient nodes are set to transient when making persitable
to avoid collection objects being loaded from database.
- Allow getKey() to be called on transient nodes iff primary key is set
- Do set DbMapping in setPrototype() method
- Unified Node constructors and initializers a bit
2005-06-15 14:40:57 +00:00
hns
879015efd5 Fix bug 431
http://www.helma.org/bugs/show_bug.cgi?id=431
2005-06-14 10:34:34 +00:00
hns
df88235e04 MultiFileRepository contributed by Barbara Ondrisek:
A subclass of FileRepository that treats all subdirectories as top-level file repositories
(instead of than treating them as prototype directories)
2005-06-10 12:35:10 +00:00
hns
96a8d6f95e ignore-dirs patch contributed by Barbara Ondrisek:
appname.ignore = dir1,dir2 prevents Prototypes to be created for the given directories.
2005-06-10 12:28:27 +00:00
hns
f9ce4c8c07 ResourceComparator is never used with ResourceTrackers 2005-06-10 12:02:16 +00:00
hns
2b2fdf59c1 Simplified getInstance(String) a little bit. 2005-06-09 16:34:00 +00:00
hns
04a1b2cb80 Set thread priority for GZipper threads to MIN_PRIORITY. 2005-06-09 16:32:32 +00:00
hns
0e2aca1c07 - Remove old debug thread dump in getInstance(String)
- Remove double checking to avoid entering synchronized code in getInstance(String)
- Rename newLog(String) to getFileLogger(String) and clean it up a little bit
2005-06-09 11:46:12 +00:00
hns
23efbd457d Make Runner.run() synchronized again, needed by wait() 2005-06-09 11:23:49 +00:00
hns
e95169cfe6 Remove comment about bogus thread safety, not true anymore after last commit. 2005-06-09 11:15:01 +00:00
hns
70edf7bedf - No need to make runner volatile since it is only access in synchronized code
- Do not null out Logging.runner at the end of Runner.run()
- Remove unused Runner.wakeup() method and make runner.run() not synchronized
2005-06-09 11:02:55 +00:00
hns
3a55c1b270 - Make sure we use an absolute path for logdir
- Make all methods that work on the logfile/writer synchronized
- Increase Buffer size in GZipper thread to 8192 bytes
2005-06-09 10:42:51 +00:00
hns
5bc692e923 Make runner variable volatile. 2005-06-06 19:28:14 +00:00
hns
107aaa6a59 - Encapsulate access to static runner into synchronized methods to prevent
spawning of multiple threads.
- Make static runner field non-public.
2005-06-06 15:55:16 +00:00
hns
1a7a054894 Minor patch: get dateLastRendered and dateCache from the same java.util.Date instance. 2005-06-06 15:52:45 +00:00