cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 34940] - session:savexml doesn't work in aggregated pipeline
Date Wed, 06 Jul 2005 02:19:00 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=34940>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34940





------- Additional Comments From ronald@innovation.ch  2005-07-06 04:18 -------
I've narrowed this down to what I think is a bug in how SitemapSourceFactory is
created (or somewhere thereabouts). Here's what's going on:

Session-transformer's <loadxml> invokes SourceUtil.toDOM:
        at org.apache.cocoon.components.source.SourceUtil.toDOM(SourceUtil.java:237)
        at
org.apache.cocoon.webapps.session.context.SimpleSessionContext.loadXML(SimpleSessionContext.java:417)
        at
org.apache.cocoon.webapps.session.transformation.SessionPreTransformer.endTransformingElement(SessionPreTransformer.java:205)
        at
org.apache.cocoon.webapps.session.transformation.SessionPostTransformer.endTransformingElement(SessionPostTransformer.java:391)
        at
org.apache.cocoon.transformation.AbstractSAXTransformer.endElement(AbstractSAXTransformer.java:327)
        at
org.apache.cocoon.webapps.session.transformation.SessionPreTransformer.endElement(SessionPreTransformer.java:92)


SourceUtil gets the service-manager from
EnvironmentHelper.getSitemapServiceManager(), and then gets the
serializer-selector from that.

The EnvironmentHelper stack is set up as follows:

Entering a sub-pipeline:


    java.lang.Throwable
            at
org.apache.cocoon.environment.internal.EnvironmentHelper.enterProcessor(EnvironmentHelper.java:278)
            at
org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:352)
            at
org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:206)
            at
org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:117)


SitemapSource has a 'manager' field, which is set when it is instantiated
by the SitemapSourceFactory. The factory's manager is set by service(...).
Now, the SitemapSourceFactory itself is instantiated (and has it's service(...)
method invoked) during cocoon initialization, specifically when reading the
cocoon.xdev file. So the manager contains no information about the actual
sitemap.

Not sure yet how best to solve this: should be SitemapSourceFactory's manager
be adjusted after parsing a sitemap?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Mime
View raw message