cziegeler 02/05/27 07:31:27 Modified: src/java/org/apache/cocoon/components/source SitemapSource.java src/java/org/apache/cocoon/components/source/impl SitemapSource.java src/java/org/apache/cocoon/components/treeprocessor InvokeContext.java src/java/org/apache/cocoon/components/treeprocessor/sitemap MountNode.java Log: Fixed cocoon:// protocol from sub-sitemap Revision Changes Path 1.14 +10 -10 xml-cocoon2/src/java/org/apache/cocoon/components/source/SitemapSource.java Index: SitemapSource.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/SitemapSource.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- SitemapSource.java 27 May 2002 14:02:29 -0000 1.13 +++ SitemapSource.java 27 May 2002 14:31:26 -0000 1.14 @@ -87,7 +87,7 @@ * Description of a source which is defined by a pipeline. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: SitemapSource.java,v 1.13 2002/05/27 14:02:29 cziegeler Exp $ + * @version CVS $Id: SitemapSource.java,v 1.14 2002/05/27 14:31:26 cziegeler Exp $ */ public final class SitemapSource @@ -262,10 +262,10 @@ reset(); try { this.environment.setURI(this.prefix, this.uri); - this.processingPipeline = this.processor.processInternal(this.environment); this.environment.changeToLastContext(); - String redirectURL = this.environment.getRedirectURL(); - if (redirectURL == null) { + this.processingPipeline = this.processor.processInternal(this.environment); + String redirectURL = this.environment.getRedirectURL(); + if (redirectURL == null) { // FIXME (CZ) - Caching /* if (this.eventPipeline.getGenerator() != null && this.eventPipeline instanceof CacheableEventPipeline) { @@ -282,13 +282,13 @@ } } }*/ - } else { - if (redirectURL.indexOf(":") == -1) { - redirectURL = "cocoon:/" + redirectURL; - } - this.redirectSource = this.environment.resolve(redirectURL); - this.lastModificationDate = this.redirectSource.getLastModified(); + } else { + if (redirectURL.indexOf(":") == -1) { + redirectURL = "cocoon:/" + redirectURL; } + this.redirectSource = this.environment.resolve(redirectURL); + this.lastModificationDate = this.redirectSource.getLastModified(); + } } catch (ProcessingException e) { reset(); this.exception = e; 1.7 +25 -25 xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/SitemapSource.java Index: SitemapSource.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/SitemapSource.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- SitemapSource.java 27 May 2002 14:02:29 -0000 1.6 +++ SitemapSource.java 27 May 2002 14:31:26 -0000 1.7 @@ -93,7 +93,7 @@ * Description of a source which is defined by a pipeline. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: SitemapSource.java,v 1.6 2002/05/27 14:02:29 cziegeler Exp $ + * @version CVS $Id: SitemapSource.java,v 1.7 2002/05/27 14:31:26 cziegeler Exp $ */ public final class SitemapSource @@ -247,7 +247,7 @@ return new ByteArrayInputStream(os.toByteArray()); } catch (Exception e) { - throw new IOException("Exception during processing of " + this.systemId); + throw new SourceException("Exception during processing of " + this.systemId, e); } finally { // Unhide wrapped environment output stream this.environment.setOutputStream(null); @@ -300,33 +300,33 @@ try { this.environment.setURI(this.prefix, this.uri); - this.processingPipeline = this.processor.processInternal(this.environment); this.environment.changeToLastContext(); - String redirectURL = this.environment.getRedirectURL(); - if (redirectURL == null) { - // FIXME (CZ) - Caching - /*if (this.processingPipeline.getGenerator() != null && - this.eventPipeline instanceof CacheableEventPipeline) { - CacheableEventPipeline cep = (CacheableEventPipeline)this.eventPipeline; - PipelineCacheKey pck = cep.generateKey(this.environment); - Map validity = null; - if (pck != null) { - validity = cep.generateValidity(this.environment); - if (validity != null) { - // the event pipeline is cacheable - // now calculate a last modification date - String hashKey = pck.toString() + validity.toString(); - this.lastModificationDate = HashUtil.hash(hashKey); - } + this.processingPipeline = this.processor.processInternal(this.environment); + String redirectURL = this.environment.getRedirectURL(); + if (redirectURL == null) { + // FIXME (CZ) - Caching + /*if (this.processingPipeline.getGenerator() != null && + this.eventPipeline instanceof CacheableEventPipeline) { + CacheableEventPipeline cep = (CacheableEventPipeline)this.eventPipeline; + PipelineCacheKey pck = cep.generateKey(this.environment); + Map validity = null; + if (pck != null) { + validity = cep.generateValidity(this.environment); + if (validity != null) { + // the event pipeline is cacheable + // now calculate a last modification date + String hashKey = pck.toString() + validity.toString(); + this.lastModificationDate = HashUtil.hash(hashKey); } - } */ - } else { - if (redirectURL.indexOf(":") == -1) { - redirectURL = "cocoon:/" + redirectURL; } - this.redirectSource = this.environment.resolveURI(redirectURL); - this.redirectValidity = this.redirectSource.getValidity(); + } */ + } else { + if (redirectURL.indexOf(":") == -1) { + redirectURL = "cocoon:/" + redirectURL; } + this.redirectSource = this.environment.resolveURI(redirectURL); + this.redirectValidity = this.redirectSource.getValidity(); + } } catch (SAXException e) { reset(); this.exception = e; 1.9 +10 -2 xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java Index: InvokeContext.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- InvokeContext.java 27 May 2002 14:02:29 -0000 1.8 +++ InvokeContext.java 27 May 2002 14:31:27 -0000 1.9 @@ -76,7 +76,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a> * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: InvokeContext.java,v 1.8 2002/05/27 14:02:29 cziegeler Exp $ + * @version CVS $Id: InvokeContext.java,v 1.9 2002/05/27 14:31:27 cziegeler Exp $ */ public class InvokeContext implements Recomposable, Disposable, Loggable { @@ -177,6 +177,13 @@ } /** + * Set the processing pipeline for sub-sitemaps + */ + public void setProcessingPipeline(ProcessingPipeline pipeline) { + this.processingPipeline = pipeline; + } + + /** * Is this an internal request ? */ public final boolean isInternalRequest() { @@ -251,7 +258,8 @@ this.pipelineSelector = null; } this.pipelinesManager = null; + this.processingPipelineParameters = null; } - this.processingPipelineParameters = null; + } } 1.5 +13 -9 xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.java Index: MountNode.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- MountNode.java 27 May 2002 14:02:30 -0000 1.4 +++ MountNode.java 27 May 2002 14:31:27 -0000 1.5 @@ -50,24 +50,22 @@ */ package org.apache.cocoon.components.treeprocessor.sitemap; +import org.apache.avalon.framework.component.ComponentException; import org.apache.avalon.framework.component.ComponentManager; - -import org.apache.cocoon.environment.Environment; -import org.apache.cocoon.sitemap.PatternException; - +import org.apache.avalon.framework.component.Composable; +import org.apache.cocoon.components.pipeline.ProcessingPipeline; import org.apache.cocoon.components.treeprocessor.MapStackResolver; import org.apache.cocoon.components.treeprocessor.AbstractProcessingNode; import org.apache.cocoon.components.treeprocessor.TreeProcessor; import org.apache.cocoon.components.treeprocessor.InvokeContext; - +import org.apache.cocoon.environment.Environment; +import org.apache.cocoon.sitemap.PatternException; import java.util.*; -import org.apache.avalon.framework.component.Composable; -import org.apache.avalon.framework.component.ComponentException; /** * * @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a> - * @version CVS $Id: MountNode.java,v 1.4 2002/05/27 14:02:30 cziegeler Exp $ + * @version CVS $Id: MountNode.java,v 1.5 2002/05/27 14:31:27 cziegeler Exp $ */ public class MountNode extends AbstractProcessingNode implements Composable { @@ -122,7 +120,13 @@ if (context.isInternalRequest()) { // Propagate pipelines - return (processor.processInternal(env) != null); + ProcessingPipeline pp = processor.processInternal(env); + if ( pp != null ) { + context.setProcessingPipeline( pp ); + return true; + } else { + return false; + } } else { // Processor will create its own pipelines return processor.process(env);
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]