pier 2003/02/22 15:22:32
Modified: src/java/org/apache/cocoon/components/treeprocessor DefaultTreeBuilder.java Log: In a sitemap where we use something like <map:match pattern="*/**"> <map:mount check-reload="yes" src="{1}/" uri-prefix="{1}"/> </map:match> the DefaultTreeBuilder catches the correctly generated ResourceNotFoundException and re-throws it nested in a ProcessingException. This will make Cocoon return an HTTP error 500 to the client, instead of a more-appropriate 404. This patch will solve this by simply avoiding to nest ProcessingException(s) or their subclasses, simply throwing them back as caught. Revision Changes Path 1.18 +5 -3 xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/DefaultTreeBuilder.java Index: DefaultTreeBuilder.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/DefaultTreeBuilder.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- DefaultTreeBuilder.java 31 Jan 2003 22:51:36 -0000 1.17 +++ DefaultTreeBuilder.java 22 Feb 2003 23:22:32 -0000 1.18 @@ -379,7 +379,8 @@ return this.namespace; } - public ProcessingNode build(Source source) throws Exception { + public ProcessingNode build(Source source) + throws Exception { try { // Build a namespace-aware configuration object @@ -388,7 +389,8 @@ Configuration treeConfig = handler.getConfiguration(); return build(treeConfig); - + } catch (ProcessingException e) { + throw e; } catch(Exception e) { throw new ProcessingException("Failed to load " + this.languageName + " from " + source.getURI(), e);