You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2007/12/23 06:48:43 UTC
svn commit: r606542 - in
/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor:
InvokeContext.java sitemap/ErrorHandlerHelper.java
Author: vgritsenko
Date: Sat Dec 22 21:48:25 2007
New Revision: 606542
URL: http://svn.apache.org/viewvc?rev=606542&view=rev
Log:
Fix bug in processing internal errors. Once errorContext is filled in
with built processing pipeline details, propagate this information into
current invocation context.
Modified:
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/ErrorHandlerHelper.java
Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java?rev=606542&r1=606541&r2=606542&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java (original)
+++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java Sat Dec 22 21:48:25 2007
@@ -102,21 +102,29 @@
* the current request is external.
*/
public InvokeContext() {
- this.isBuildingPipelineOnly = false;
}
/**
- * Determines if the Pipeline been set for this context
+ * Create an <code>InvokeContext</code>
*/
- public boolean pipelineIsSet() {
- return this.processingPipeline != null;
+ public InvokeContext(boolean isBuildingPipelineOnly) {
+ this.isBuildingPipelineOnly = isBuildingPipelineOnly;
}
/**
- * Create an <code>InvokeContext</code>
+ * Create an <code>InvokeContext</code> based on existing context.
*/
- public InvokeContext(boolean isBuildingPipelineOnly) {
- this.isBuildingPipelineOnly = isBuildingPipelineOnly;
+ public InvokeContext(InvokeContext context) {
+ this.isBuildingPipelineOnly = context.isBuildingPipelineOnly;
+ this.redirector = context.redirector;
+ this.lastProcessor = context.lastProcessor;
+ }
+
+ /**
+ * Determines if the Pipeline been set for this context
+ */
+ public boolean pipelineIsSet() {
+ return this.processingPipeline != null;
}
/**
Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/ErrorHandlerHelper.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/ErrorHandlerHelper.java?rev=606542&r1=606541&r2=606542&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/ErrorHandlerHelper.java (original)
+++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/ErrorHandlerHelper.java Sat Dec 22 21:48:25 2007
@@ -103,7 +103,7 @@
throws Exception {
final Processor.InternalPipelineDescription desc = prepareErrorHandler(ex, env, context);
if (desc != null) {
- desc.release();
+ context.setInternalPipelineDescription(desc);
return true;
}
@@ -151,7 +151,7 @@
throws Exception {
final Processor.InternalPipelineDescription desc = prepareErrorHandler(node, ex, env, context);
if (desc != null) {
- desc.release();
+ context.setInternalPipelineDescription(desc);
return true;
}
@@ -181,8 +181,7 @@
prepare(context, env, ex);
// Create error context
- InvokeContext errorContext = new InvokeContext(context.isBuildingPipelineOnly());
- errorContext.setRedirector(context.getRedirector());
+ InvokeContext errorContext = new InvokeContext(context);
errorContext.service(this.manager);
errorContext.inform(context.getPipelineType(), context.getPipelineParameters(), env.getObjectModel());
try {