oops, it actually does have a serializer which i accidentally clipped off when removing an extraneous transform
> -----Original Message----- > From: Unico Hommes [mailto:[EMAIL PROTECTED] > Sent: Monday, October 20, 2003 6:10 PM > To: [EMAIL PROTECTED] > Subject: RE: NPE While Redirecting > > > > > One thing I can see right away is that the fullPipe pipeline > is missing > a serializer. All valid pipelines have at least one generator and one > serializer. Calling a subpipeline using the cocoon: protocol will then > connect the pipeline component to the subpipeline minus the > serializer. > > Hope that helps. > > > -----Original Message----- > > From: Tim Olson [mailto:[EMAIL PROTECTED] > > Sent: maandag 20 oktober 2003 23:29 > > To: '[EMAIL PROTECTED]' > > Cc: '[EMAIL PROTECTED]' > > Subject: NPE While Redirecting > > > > we get a NullPointerException for any <redirect-to> that gets called > in > > our > > subsitemap. i presume this is because a <generate type="file"> has > been > > called, but we must use the "cocoon:" protocol in order to > divide our > > pipeline into a main pipe which calls down into page-specific > fragments. > > no > > "actual" generation has happened before the redirect. > > is this NPE fixable? if not, how else can we organize our pipelines > into > > per-page sitemaps? resources don't work because they can't > be called > from > > a > > subsitemap. > > using cocoon 2.1.2 > > > > > > MAIN SITEMAP: > > <map:match pattern="xsl/*/*/*.html"> > > <map:generate src="cocoon:/fullPipe/{1}/{2}/{3}"/> > > <map:serialize type="html"/> > > </map:match> > > > > <map:match pattern="fullPipe/*/*/*"> > > <!-- configure our proprietary framework by touching the > > "config" cocoon action --> > > <map:act type="config"/> > > > > <!-- call into the subsitemap to perform page/action > > specific actions and xsl transforms. --> > > <map:generate src="cocoon:/subsitemap/{1}/{2}/{3}"/> > > > > <!-- apply banner --> > > <map:transform src="{global:xsl-root}/general/banner.xsl" > > label="banner"> > > <map:parameter name="domain-id" value="{1}"/> > > </map:transform> > > > > <!-- internationalization --> > > <map:act type="locale"> > > <map:transform type="i18n" label="i18n"> > > <map:parameter name="locale" value="{locale}"/> > > </map:transform> > > </map:act> > > > > </map:match> > > > > > > <map:match pattern="subsitemap/*/*/*"> > > <map:mount check-reload="yes" > > src="{global:xsl-root}/common/{2}/{2}.xmap" > uri-prefix="subsitemap"/> > > </map:match> > > > > > > SUBSITEMAP: > > > > <match pattern="*/*/pageSpecificPipe"> > > <redirect-to uri="..."/> > > </match> > > > > > > Original Exception: java.lang.NullPointerException > > at > > > org.apache.cocoon.environment.AbstractEnvironment.release(Abst > ractEnviro > nm > > en > > t.java:521) > > at > > > org.apache.cocoon.environment.wrapper.MutableEnvironmentFacade > .release(M > ut > > ab > > leEnvironmentFacade.java:332) > > at > > > org.apache.cocoon.components.source.impl.SitemapSource.reset(S > itemapSour > ce > > .j > > ava:495) > > at > > > org.apache.cocoon.components.source.impl.SitemapSource.toSAX(S > itemapSour > ce > > .j > > ava:480) > > at > > > org.apache.cocoon.components.source.SourceUtil.parse(SourceUti > l.java:224 > ) > > at > > > org.apache.cocoon.generation.FileGenerator.generate(FileGenera > tor.java:1 > 41 > > ) > > at > > > org.apache.cocoon.components.pipeline.AbstractProcessingPipeli > ne.process > XM > > LP > > ipeline(AbstractProcessingPipeline.java:532) > > at > > > org.apache.cocoon.components.pipeline.impl.AbstractCachingProc > essingPipe > li > > ne > > .processXMLPipeline(AbstractCachingProcessingPipeline.java:196) > > at > > > org.apache.cocoon.components.pipeline.AbstractProcessingPipeli > ne.process > (A > > bs > > tractProcessingPipeline.java:683) > > at > > > org.apache.cocoon.components.source.impl.SitemapSource.toSAX(S > itemapSour > ce > > .j > > ava:467) > > at > > > org.apache.cocoon.components.source.SourceUtil.parse(SourceUti > l.java:224 > ) > > at > > > org.apache.cocoon.generation.FileGenerator.generate(FileGenera > tor.java:1 > 41 > > ) > > at > > > org.apache.cocoon.components.pipeline.AbstractProcessingPipeli > ne.process > XM > > LP > > ipeline(AbstractProcessingPipeline.java:548) > > at > > > org.apache.cocoon.components.pipeline.impl.AbstractCachingProc > essingPipe > li > > ne > > .processXMLPipeline(AbstractCachingProcessingPipeline.java:196) > > at > > > org.apache.cocoon.components.pipeline.AbstractProcessingPipeli > ne.process > (A > > bs > > tractProcessingPipeline.java:492) > > at > > > org.apache.cocoon.components.treeprocessor.sitemap.SerializeNo > de.invoke( > Se > > ri > > alizeNode.java:147) > > at > > > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode. > in > > vo > > keNodes(AbstractParentProcessingNode.java:84) > > at > > > org.apache.cocoon.components.treeprocessor.sitemap.PreparableM > atchNode.i > nv > > ok > > e(PreparableMatchNode.java:164) > > at > > > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode. > in > > vo > > keNodes(AbstractParentProcessingNode.java:108) > > at > > > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNod > e.invoke(P > ip > > el > > ineNode.java:163) > > at > > > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode. > in > > vo > > keNodes(AbstractParentProcessingNode.java:108) > > at > > > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNo > de.invoke( > Pi > > pe > > linesNode.java:161) > > at > > > org.apache.cocoon.components.treeprocessor.TreeProcessor.proce > ss(TreePro > ce > > ss > > or.java:351) > > at > > > org.apache.cocoon.components.treeprocessor.TreeProcessor.proce > ss(TreePro > ce > > ss > > or.java:304) > > at org.apache.cocoon.Cocoon.process(Cocoon.java:640) > > at > > > org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet. > java:1104) >
