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 
							
								 
							
						 
					 
				
					
						
							
								
								
									hns 
								
							 
						 
						
							
							
							
							
								
							
							
								18dbec3dd8 
								
							 
						 
						
							
							
								
								Fix two minor bugs that keep everything from working.  
							
							
							
						 
						
							2005-06-02 20:27:40 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									hns 
								
							 
						 
						
							
							
							
							
								
							
							
								a8b9ffd154 
								
							 
						 
						
							
							
								
								Make FileRepository(File) constructor public again, it is used from the helma.main and helma.servlet packages.  
							
							
							
						 
						
							2005-06-02 19:04:13 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									hns 
								
							 
						 
						
							
							
							
							
								
							
							
								43b1b5edd8 
								
							 
						 
						
							
							
								
								Many changes and fixes in Prototype skin management:  
							
							... 
							
							
							
							- Use an ordered TreeSet for prototype's repositories so we
	  know the resources we get are already in the right order.
	- Use SkinMap again for intetracking mapping the prototype's skins
	  internally after cleaning the code up a bit.
	- Add new ScriptableSkinMap object that wraps a skinmap, exposes it as
	  native JavaScript object by extending WrappedMap, and does the
	  Resource to String conversion in get().
	- Move code that loads additional skins from skinpath from
	  SkinManager.getSkinFiles() to SkinMap.loadSkinFiles()
	- Inline addSkinResource() and addCodeResource() methods into
	  checkForUpdates().
	- Make lastUpdate kind of fields volatile. 
							
						 
						
							2005-06-02 12:06:57 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									hns 
								
							 
						 
						
							
							
							
							
								
							
							
								1c9bdff6af 
								
							 
						 
						
							
							
								
								Rename getSkinInternal() to getSkinInPath()  
							
							
							
						 
						
							2005-06-02 08:18:44 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									hns 
								
							 
						 
						
							
							
							
							
								
							
							
								a9aadfe00c 
								
							 
						 
						
							
							
								
								- Make sure our file has an absolute path, otherwise we run into inconsistent behaviour  
							
							... 
							
							
							
							of File.exists() 
							
						 
						
							2005-06-01 15:09:52 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									hns 
								
							 
						 
						
							
							
							
							
								
							
							
								ceebcdb96e 
								
							 
						 
						
							
							
								
								- Make sure our directory has an absolute path, otherwise we run into inconsistent behaviour  
							
							... 
							
							
							
							of File.exists()
- Throw exception if directory exists and is not a directory
- Rename dir instance variable to directory 
							
						 
						
							2005-06-01 15:09:35 +00:00