cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylvain.wal...@anyware-tech.com>
Subject Weird bug in aggregation and multiple cocoon: redirects
Date Fri, 15 Aug 2003 13:45:27 GMT
Hi all,

I encountered a strange bug in an application combining flow and 
aggegation : each page is an aggregation of navigation+content, and the 
content is a call to a flowscript.

The bug seems to be related to multiple cocoon: related. I isolated it 
from the flow :

  <map:match pattern="test1.xml">
    <map:aggregate element="root">
      <map:part src="cocoon:/flow-call.xml"/>
      <!-- other parts removed -->
    </map:aggregate>
    <map:serialize type="xml"/>
  </map:match>
 
  <map:match pattern="flow-call.xml">
    <map:redirect-to uri="cocoon:/flow-view.xml"/>
  </map:match>
 
  <map:match pattern="flow-view.xml">
    <map:generate src="test.xml"/>
    <map:serialize type="xml"/>
  </map:match>

The "flow-call.xml" URI simulates the behaviour of a flowscript, since 
sendPageAndWait("foo") does an internal redirect to "cocoon:/foo".

The exception is :

org.apache.cocoon.ProcessingException: Attempted to process incomplete pipeline.
	at org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:419)
	at org.apache.cocoon.components.source.impl.SitemapSource.<init>(SitemapSource.java:248)
	at org.apache.cocoon.components.source.impl.SitemapSourceFactory.getSource(SitemapSourceFactory.java:99)
	at org.apache.excalibur.source.impl.SourceResolverImpl.resolveURI(SourceResolverImpl.java:247)
	at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:503)
	at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:503)
	at org.apache.cocoon.environment.AbstractEnvironment.resolveURI(AbstractEnvironment.java:513)
	at org.apache.cocoon.environment.AbstractEnvironment.resolveURI(AbstractEnvironment.java:500)
	at org.apache.cocoon.sitemap.ContentAggregator.setup(ContentAggregator.java:322)
	at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.setupPipeline(AbstractProcessingPipeline.java:381)
	at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.setupPipeline(AbstractCachingProcessingPipeline.java:652)
	at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.preparePipeline(AbstractProcessingPipeline.java:508)
	at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:470)
	at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:147)
	...


Replacing the part uri by "cocoon:/flow-view.xml" works as expected. So 
I suspect a bug related to chained "cocoon:/" calls, but only within an 
aggregation, since replacing <map:aggregate> by <map:redirect-to 
uri="flow-call.xml"> works correctly.

Any idea anyone ?

Thanks,
Sylvain

-- 
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
Orixo, the opensource XML business alliance  -  http://www.orixo.com



Mime
View raw message