Sylvain,
This looks indeed interesting. It could also be usable to pinpoint parse
errors in clear text protocols like HTTP, FTP etc. The current design
looks pretty flexible. +1 from me.
Ortwin Glück
Sylvain Wallez wrote:
Hi there,
A large number of applications are dealing with configuration files
(server.xml, struts-actions.xml, cocoon.xconf, etc) and semi-interpreted
languages (Cocoon's sitemap, template languages in Tapestry, Cocoon and
Velocity, etc).
A common problem with all these files is to report some meaningful
location information in the corresponding files when some problems
related to the information they contain occur (syntax error, invalid
class name, unkown component, etc). In such cases, the raw Java
exception is often of little use if it doesn't carry some location
information.
Tapestry has for long had its nice "line precise error reporting" (see
[1], section 2.14), and we needed something similar for Cocoon. However
Cocoon needed more than this as request handling involves several levels
of semi-interpreted languages, such as the sitemap, XSLT or JavaScript.
So at Cocoon we have built a utility package that allow for location
stacktraces that complement regular Java stacktraces in exceptions. The
various levels of the Java call stack can also add their own location
information to the orginal exception without requiring exception
nesting, which leads to smaller, easier to understand stracktraces.
I would like to propose this utility package for inclusion in Jakarta
Commons. This would allow for other projects to provide more easily some
meaningfull error reports, and, if successful, would make error
reporting globally more consistent when different products are used
together.
You can see this utility in action at [2], and browse the source code in
Cocoon's SVN [3]. It has no dependency except commons-lang where IMHO it
would fit nicely.
What do you think? Is it of interest to the commons project?
Thanks,
Sylvain
[1] http://jakarta.apache.org/tapestry/3.0.3/faq.html
[2] http://www.anyware-tech.com/blogs/sylvain/archives/000210.html
[3]
http://svn.apache.org/repos/asf/cocoon/trunk/src/java/org/apache/cocoon/util/location/
--
[web] http://www.odi.ch/
[blog] http://www.odi.ch/weblog/
[pgp] key 0x81CF3416
finger print F2B1 B21F F056 D53E 5D79 A5AF 02BE 70F5 81CF 3416
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]