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]

Reply via email to