Could you guys commit the patch to cvs? It is just better exception
handling of the AbstractSitemap.invokeMethod().
thank you,
Jiri.
btw: is there any specification of proper exception handling used in Cocoon?
===================================================================
RCS file:
/home/cvspublic/xml-cocoon2/src/org/apache/cocoon/sitemap/AbstractSitemap.java,v
retrieving revision 1.2
diff -u -r1.2 AbstractSitemap.java
--- AbstractSitemap.java 2001/05/18 11:04:23 1.2
+++ AbstractSitemap.java 2001/05/29 12:26:24
@@ -262,13 +262,19 @@
* @exception Exception If an error occurs during method invocation
*/
protected boolean invokeMethod(String methodName, Class[] argTypes, Object[]
argValues)
throws Exception {
- try {
- java.lang.reflect.Method method =
this.getClass().getDeclaredMethod(methodName,
argTypes);
- return ((Boolean) method.invoke(this, argValues)).booleanValue();
- } catch (Exception e) {
- throw new Exception ("Sitemap: " + methodName + " not found");
- }
- }
+ try {
+ getLogger().debug("Dynamically invoking " + methodName);
+ java.lang.reflect.Method method =
+this.getClass().getDeclaredMethod(methodName,
argTypes);
+ return ((Boolean) method.invoke(this, argValues)).booleanValue();
+ } catch (NoSuchMethodException e) {
+ getLogger().error("AbstractSitemap:invokeMethod()", e);
+ int prefix = methodName.indexOf("_");
+ throw new Exception ("Sitemap: " + methodName.substring(0,prefix) + " '" +
methodName.substring(prefix + 1) + "' not found");
+ } catch (Exception e) {
+ getLogger().error("AbstractSitemap:invokeMethod()", e);
+ throw e;
+ }
+ }
/**
* dispose
__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35
a year! http://personal.mail.yahoo.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]