David Crossley wrote: > I presume that you will need to operate with our old > version of Cocoon-2.2 and rework the Cocoon FOP Block.
Actually, Jeremias (who is helping me with this) suggested to try and compile a new FOP Block from current coccoon trunk. But having integrated that (http://svn.apache.org/viewvc?rev=603165&view=rev) I'm running into a logging problem with Forrest where the browser tells me > HTTP ERROR: 500 > org%2Eapache%2Ecocoon%2Eblocks%2Efop%2EFOPNGSerializer%2EgetLogger%28%29Lorg%2Fapache%2Fcommons%2Flogging%2FLog%3B and Jetty says > 08:01:19.609 WARN!! Error for /fop-update/xdoc-gif-ok.pdf >> java.lang.NoSuchMethodError: >> org.apache.cocoon.blocks.fop.FOPNGSerializer.getLogger()Lorg/apache/commons/logging/Log; >> at >> org.apache.cocoon.blocks.fop.FOPNGSerializer.resolve(FOPNGSerializer.java:230) >> at org.apache.fop.apps.FOURIResolver.resolve(FOURIResolver.java:129) >> at org.apache.fop.apps.FopFactory.resolveURI(FopFactory.java:729) >> at org.apache.fop.apps.FOUserAgent.resolveURI(FOUserAgent.java:385) >> at org.apache.fop.apps.FOUserAgent.resolveURI(FOUserAgent.java:358) >> at org.apache.fop.image.ImageFactory.loadImage(ImageFactory.java:190) >> at org.apache.fop.image.ImageLoader.loadImage(ImageLoader.java:56) >> at >> org.apache.fop.image.ContextImageCache.getImage(ImageFactory.java:432) >> at org.apache.fop.image.ImageFactory.getImage(ImageFactory.java:157) >> at >> org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:70) >> at org.apache.fop.fo.FObj.processNode(FObj.java:125) >> at >> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:320) >> at >> org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:185) >> at >> org.apache.cocoon.xml.AbstractXMLPipe.startElement(AbstractXMLPipe.java:94) >> at >> org.apache.cocoon.environment.internal.EnvironmentChanger.startElement(EnvironmentStack.java:140) >> at >> org.apache.xml.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:204) >> at >> org.apache.xml.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:277) >> at >> org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:243) >> at >> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1399) >> at >> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) >> at >> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) >> at >> org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393) >> at >> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176) >> at >> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) >> at >> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) >> at >> org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393) >> at >> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176) >> at >> org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393) >> at >> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176) >> at >> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) >> at >> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) >> at >> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) >> at >> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) >> at >> org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393) >> at >> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176) >> at >> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) >> at >> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) >> at >> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) >> at >> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) >> at >> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) >> at >> org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281) >> at >> org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367) >> at >> org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3458) >> at >> org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:406) >> at >> org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:55) >> at >> org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:585) >> at >> org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:55) >> at >> org.apache.cocoon.transformation.AbstractSAXTransformer.endDocument(AbstractSAXTransformer.java:377) >> at >> org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:55) >> at >> org.apache.cocoon.transformation.XIncludeTransformer$XIncludePipe.endDocument(XIncludeTransformer.java:184) >> at >> org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:55) >> at >> org.apache.cocoon.sitemap.DefaultContentAggregator.generate(DefaultContentAggregator.java:135) >> at >> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:537) >> at >> org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:174) >> at >> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:722) >> at >> org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:347) >> at >> org.apache.cocoon.components.source.SourceUtil.toSAX(SourceUtil.java:97) >> at >> org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:276) >> at >> org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:118) >> at >> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:530) >> at >> org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:174) >> at >> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:437) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:137) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:86) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:55) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:116) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:155) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:95) >> at >> org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:292) >> at >> org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:223) >> at >> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:289) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:114) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:81) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:155) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:95) >> at >> org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:292) >> at >> org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:223) >> at >> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:289) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:114) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:81) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:155) >> at >> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77) >> at >> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:95) >> at >> org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:292) >> at >> org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:223) >> at >> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:289) >> at org.apache.cocoon.Cocoon.process(Cocoon.java:557) >> at >> org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:364) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >> at >> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:354) >> at >> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) >> at >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567) >> at org.mortbay.http.HttpContext.handle(HttpContext.java:1808) >> at >> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) >> at org.mortbay.http.HttpContext.handle(HttpContext.java:1758) >> at org.mortbay.http.HttpServer.service(HttpServer.java:879) >> at org.mortbay.http.HttpConnection.service(HttpConnection.java:790) >> at >> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952) >> at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807) >> at >> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197) >> at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) >> at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:501) According to Jeremias this is because Coccoon has switched from Avalon to Spring and is now using an Apache Commons Logger. So his advice is to re-compile the new FOP block with the Coccoon version we are currently using in Forrest. (Which is perhaps what David meant, is it?) Now could somebody perhaps explain to me in simple terms how to best accomplish that (recompile that block)? Thanks, Ferdinand
