Commit graph

2434 commits

Author SHA1 Message Date
hns
729a7fa888 * Implement global functions wrapJavaMap() and unwrapJavaMap() to masquerade
instances of java.util.Map as JS objects and back.
2006-01-27 14:23:56 +00:00
hns
8509b4b6c3 * Use new ResourceProperties.getSubProperties(String prefix) feature to
get our config props.
* Introduce getConfig() method to get the relations's config props.
2006-01-27 11:21:53 +00:00
hns
0e43265cb8 * Implement getSubProperties(String prefix) to get all properties with keys matching
the given prefix, with the prefix cut off.
* Remove superfluous return statements.
* Remove some empty lines in methods.
2006-01-27 11:18:53 +00:00
hns
41233a115d * Remove unnecessary null check. 2006-01-25 16:42:02 +00:00
hns
fb6c213f1c * Add repositories at the end of the repository list
if parent is null or not contained in list.
2006-01-24 12:39:32 +00:00
hns
db95fb181c * Remove PhantomEngine as it hasn't been in use since 2003.
* Remove FilteredClassloader which relies on PhantomEngine.
2006-01-13 17:41:35 +00:00
hns
b81f231c70 * Encapsulate fields in ResponseTrans and make them private.
* Store response debug buffer in session over redirects (in addition to message).
2006-01-13 16:50:41 +00:00
hns
a3fa56750c * Set event-log loglevel to DEBUG if debug=true in app.properties. 2006-01-13 13:21:40 +00:00
hns
9cbe269390 * Add setter and getter for logLevel. 2006-01-13 13:20:54 +00:00
hns
c744b0624f * Cosmetics: remove empty line. 2006-01-13 11:23:51 +00:00
hns
752966cb47 * Perform sanity checks for INTERNAL calls before reaching the central switch statement
in run() so we can start and stop transactions where we used to.
* Do not check for null arguments in invokeDirectFunction(), it's up to the caller to pass
   an empty array.
2006-01-13 11:22:47 +00:00
hns
4c50f96e3e * Mark node clean in init() before invoking onInit() so we have a chance to
modify the node in onInit() and having the changes written back to db.
2006-01-12 16:47:04 +00:00
hns
4b72017330 * Use RequestEvaluator.EMPTY_ARGS whenever calling a function with no args. 2006-01-12 16:32:45 +00:00
hns
e1fb468424 * Cleaned up constructor mess a bit, including comments.
* Implement invokation of onInit() for object instanced from db.
* Made some methods synchronized that probably should be.
2006-01-12 16:12:02 +00:00
hns
dcf63357f7 * Simplify getValidPrototype() and hasFunction() a bit.
* No need to catch exceptions in hasFunction().
2006-01-12 16:01:11 +00:00
hns
63b6b2843d * Add final static EMTY_ARGS field for calling functions without args.
* Do not call ScriptingEngine.hasFunction() for onRequest(), it just adds overhead.
* Move check for empty args from Application.invokeFunction() to
   RequestEvaluator.invokeDirectFunction.
* Add some missing JavaDoc comments for invoke* methods.
2006-01-12 15:55:49 +00:00
hns
379f778e98 * Minor cleanup: no need to cast and assign nodes to variable. 2006-01-12 13:54:09 +00:00
hns
6919ade74e * Implement invocation of global onStop() when the application is stopped,
analogous to onStart() when the app is started.
* Some minor cleanup and obsolete code removal.
2006-01-11 16:45:15 +00:00
hns
39f8bbe85e * Make init(), enterContext(), exitContext() and abort()
synchronized (can't hurt)
* Some mostly stylistic improvements prompted by Intellij
2006-01-11 16:05:48 +00:00
hns
cb92ec8469 * Add boolean resolve argument to ScriptingEngine.invoke() to tell the engine if
functionName argument should be resolved as member expression. Use this feature
  to allow calling nested/deep functions in internal invocations (e.g. scheduler calls).
  Fixes bug 290.
2006-01-11 15:28:52 +00:00
hns
f4eb8a9735 * Move req.action cutting to RequestTrans.setAction() and make sure dot characters
are replaced with underscores in the action variable we use for method invocation.
2006-01-11 14:37:09 +00:00
hns
be96b27a88 * Delay beginning of transaction a bit so we are able to
avoid starting a transaction for internal invocations of 
  functions which do not exist. Fixes bug 436.
2006-01-11 10:45:39 +00:00
hns
e7bca045d1 * Use res.skinpath to find hrefSkin when post-processing hrefs.
Fixes bug 450.
2006-01-11 09:40:26 +00:00
hns
fc0edbb269 * Implement HopObject.getResources() - returns a JS array containing all resources
with the given name defined in the prototype chain.
2005-12-23 16:04:14 +00:00
hns
9757afbffc * Implement app.getRepositories() and app.addRepository(String|Repository) 2005-12-23 15:55:57 +00:00
hns
d0d0517993 Committing patch from Juerg Lehni:
* Implement HopObject.getResource(String filename), returns a helma.framework.repository.Resource
   object defined for the prototype.
* Minor optimization in put().
2005-12-19 22:17:10 +00:00
hns
1336e51ba0 Committing patch from Juerg Lehni:
* Add String getContent(String encoding) method to Resource interface.
* Propagate IOExceptions in FileResource.getContent().
* Make FileResource.getContent() more robust by not assuming all data can
   be read in one single blow.
* Do lazy byte->char conversion in ZipResource.getContent() in the String
   constructor rather than a Reader.
2005-12-19 22:15:11 +00:00
hns
86d4f5dc5d * Pull ahead beginning of try statement for catching redirects in order to allow redirect()
calls in getChildElement().
* Add comments for try statements.
2005-12-19 14:51:20 +00:00
hns
c00c2cae25 * Fix NullPointerException in logSqlStatement that covered
SQL connection problem reporting in logging output.
2005-12-19 14:46:01 +00:00
hns
326f30a88b Change appDir handling:
* If appDir is not defined in apps.properties, use the last file repository as appdir
   (used to be the first one)
* If appDir is defined, add it to the end of the repository list if it isn't explicitly
   listed as repository.
* If appDir is defined in apps.properties, use it for the app.dir JS variable.
* Never automatically create an app's file repositories.
2005-12-12 17:54:26 +00:00
hns
fa3ddd8a68 * Remove unused import statements. 2005-12-12 17:48:44 +00:00
hns
103f0f446f * Make checkForUpdates() synchronized, as concurrent threads can cause a
ConcurrentModificationException in the iterator.
2005-12-12 15:54:07 +00:00
hns
1ec82737bf * Implement zero argument writeln() method to write a newline sequence. 2005-11-25 13:41:05 +00:00
hns
ad8b7e11ec * Make ResponseTrans extend java.io.Writer in order to simplify using it with
3rd party templating engines.
2005-11-25 13:40:24 +00:00
hns
86e880c713 * Make getResources() public. 2005-11-25 13:37:07 +00:00
hns
3e98b1f4bf * Make HopObject.get() behaviour more consistent and predictable: Return null for
non-existing properties that were previously set or are defined in the type mapping,
  and undefined for non-existing properties that are not defined in the type mapping.
2005-11-25 12:41:13 +00:00
hns
f84ab79675 * Check for null format argument in Date.format() 2005-11-22 16:57:12 +00:00
hns
b64c845258 * Adapt to strange behaviour of Apache XML-RPC 2.0 to return
exceptions instead of throwing them. Fixes bug 446.
2005-11-17 16:47:15 +00:00
hns
dd8ac80a09 * Make getConnection() and init() synchronized.
* Fix JavaDoc comments.
2005-11-17 16:23:51 +00:00
hns
b51be97d41 * Switch back to event log as default log for app-based logging. 2005-11-17 16:20:18 +00:00
hns
527a1bc846 * Simplify static HopObject constructor getter code.
* Set node reference to an empty transient node in checkNode()
   for deleted/invalid HopObjects.
2005-11-17 14:22:11 +00:00
hns
ed6712719c Application.java:
* Check logdir app property in updateProperties() rather than in getLogger().
* Only set helma.logdir system property if it isn't already set to prevent conflicts
   between applications.
* Insert new repositories at the beginning of the list in addRepository().
* Some cleanup.

ApplicationBean.java:
* Use "helma.[appname].app" as default log name for messages logged through
   app.log(), app.debug().
* Introduce app.getLogger() and app.getLogger(name) that return a Jakarta
   commons Log instance. The zero argument method uses "helma.[appname].app"
   as category name.
* Added and fixed some JavaDocs.
2005-11-16 11:44:22 +00:00
hns
4bb6f72baa * add global variable "global" as a reference to the global object 2005-11-16 10:17:09 +00:00
hns
350ffd0d73 * Implement getTargetType() and getRefType() to enable high level type.properties introspection 2005-11-10 17:04:53 +00:00
hns
da0502ecfe * Implement getPropertyNames() to enable high level type.properties introspection 2005-11-10 17:04:12 +00:00
hns
d18ae12d12 * Use logError() for exceptions caught from onStart() so that a stack trace is generated. 2005-11-09 15:35:30 +00:00
hns
613344a006 * Implement app.getPrototypes() and app.getPrototype(name) to allow app introspection. 2005-11-09 15:32:10 +00:00
hns
d8a508c55e * Implement getDbProperties() for db.properties introspection.
* Implement getDbSource().
2005-11-07 14:42:46 +00:00
hns
61f9b6476e * Implement getDbProperties() for db.properties introspection. 2005-11-07 14:42:24 +00:00
hns
3b4e89441c * Set version info to 1.5.x. 2005-11-04 15:54:54 +00:00