[ https://issues.apache.org/jira/browse/FOR-993?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489109 ]
Ross Gardler commented on FOR-993: ---------------------------------- You are mixing a number of issues here: "The locationmap is normally found in %PROJECT_HOME%/src/documentation/content/ directory " Yes, this is the location for *project* supplied locationmaps "However for Plugins all the locationmap.xml files are located in %pluginHome%/ root directory. " A plugin provided locationmap is *not* a project locationmap. If the docs for the plugin need a locationmap then it will be in src/documentation/content. The plugin locationmap is the default configuration provided by the plugin and is unrelated to the project locationmap. --- "ERROR (2007-04-16) 19:13.27:578 [core.modules.mapper.lm] (/index.html) PoolThread-4/SelectNode: Ignoring locationmap config exception: Unable to build LocationMap. " That should be a warning, read on and you see: "Caused by: java.io.FileNotFoundException: D:\Apache2\apache-forrest-0.8\build\plugins\org.apache.forrest.plugin.input.glossary\src\documentation\content\locationmap.xml (The system cannot find the file specified) " So what is not being dound is a *project* specific locationmap for the documentation for the glossary plugin. Project locationmaps are optional, so this is not an error, only a warning. --- "The locationmap.xml file for plugins is not being looked for in root but in the content directory. " No, they plugin locationmap is the one from the root, the *project* locationmap is in the content directory and is optional. --- "I moved the locationmap.xml file from root to /content/ and the errors went away. " Yes, they would do. Original situation was that the project (i.e. the plugin docs) did not provide a project specific locationmap to override any of the defaults set by the glossary plugin itself. New situation (after your copy) the project provides a locationmap config that is identical to the default config provided by the glossary plugin. Result - no apparent difference in behaviour, but a performance hit in that there are now more elements in the locationmap to process. (Note, I am assuming that you did not clean the [FORREST_HOME]/build/plugins directory after moving the locationmap, this results in the new local deploy having the new locationmap in the project, but leaving the old one in place as well) --- This issue is about reporting an error that is actually a warning. There are two ways to avoid this: 1) report as a warning not an error or 2) force all projects to have a default locationmap (that would normally be empty) We most certainly should not move the locaitonmap. > Plugins are not finding the Locatiomap > -------------------------------------- > > Key: FOR-993 > URL: https://issues.apache.org/jira/browse/FOR-993 > Project: Forrest > Issue Type: Bug > Components: Plugins (general issues) > Affects Versions: 0.8-dev > Reporter: Gavin > Fix For: 0.9 > > > Whilst checking error logs for another issue, I spotted that the locationmap > was not being found. > So I tried it in serveral plugins, all with the same result, the locationmap > is not being found. > The locationmap is normally found in > %PROJECT_HOME%/src/documentation/content/ directory > Our own site docs it can be found in site-author/content. > However for Plugins all the locationmap.xml files are located in > %pluginHome%/ root directory. > The locationmap.xml file for plugins is not being looked for in root but in > the content directory. > Example :- > ERROR (2007-04-16) 19:13.27:578 [core.modules.mapper.lm] (/index.html) > PoolThread-4/SelectNode: Ignoring locationmap config exception: Unable to > build LocationMap. > org.apache.avalon.framework.configuration.ConfigurationException: Unable to > build LocationMap. > at > org.apache.forrest.locationmap.lm.MountNode.loadConfiguration(MountNode.java:129) > at > org.apache.forrest.locationmap.lm.MountNode.getLocationMap(MountNode.java:87) > at > org.apache.forrest.locationmap.lm.MountNode.locate(MountNode.java:157) > at > org.apache.forrest.locationmap.lm.SelectNode.locate(SelectNode.java:110) > at > org.apache.forrest.locationmap.lm.LocatorNode.locate(LocatorNode.java:122) > at > org.apache.forrest.locationmap.lm.LocationMap.locate(LocationMap.java:276) > at > org.apache.forrest.locationmap.LocationMapModule.getAttribute(LocationMapModule.java:203) > at > org.apache.cocoon.components.treeprocessor.variables.PreparedVariableResolver.processModule(PreparedVariableResolver.java:246) > at > org.apache.cocoon.components.treeprocessor.variables.PreparedVariableResolver.resolve(PreparedVariableResolver.java:197) > at > org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:77) > 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) > Caused by: org.apache.excalibur.source.SourceNotFoundException: Exception > during processing of cocoon://locationmap-project.xml > at > org.apache.cocoon.components.source.impl.SitemapSource.getInputStream(SitemapSource.java:207) > at > org.apache.forrest.locationmap.lm.MountNode.loadConfiguration(MountNode.java:125) > ... 32 more > Caused by: org.apache.cocoon.ResourceNotFoundException: Resource not found. > at <map:serialize type="xml"> - > file:/D:/Apache2/apache-forrest-0.8/main/webapp/sitemap.xmap:364:36 > at <map:generate> - > file:/D:/Apache2/apache-forrest-0.8/main/webapp/sitemap.xmap:363:66 > at > org.apache.cocoon.components.source.SourceUtil.handle(SourceUtil.java:377) > at > org.apache.cocoon.components.source.SourceUtil.getInputSource(SourceUtil.java:450) > at > org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:281) > at > org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:118) > 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:437) > at > org.apache.cocoon.components.source.impl.SitemapSource.getInputStream(SitemapSource.java:199) > ... 33 more > Caused by: org.apache.excalibur.source.SourceNotFoundException: > file:/D:/Apache2/apache-forrest-0.8/build/plugins/org.apache.forrest.plugin.input.glossary/src/documentation/content/locationmap.xml > doesn't exist. > at > org.apache.excalibur.source.impl.FileSource.getInputStream(FileSource.java:150) > at > org.apache.cocoon.components.source.SourceUtil.getInputSource(SourceUtil.java:445) > ... 39 more > Caused by: java.io.FileNotFoundException: > D:\Apache2\apache-forrest-0.8\build\plugins\org.apache.forrest.plugin.input.glossary\src\documentation\content\locationmap.xml > (The system cannot find the file specified) > at java.io.FileInputStream.open(Native Method) > at java.io.FileInputStream.<init>(FileInputStream.java:106) > at > org.apache.excalibur.source.impl.FileSource.getInputStream(FileSource.java:146) > ... 40 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.