DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6386>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6386

[TreeProcessor] Nested map:select in resource malfunction

           Summary: [TreeProcessor] Nested map:select in resource
                    malfunction
           Product: Cocoon 2
           Version: Current CVS
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: sitemap components
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


In my sitemap I have a resource that contains nested map:select elements. The
outer map:select has another map:select in its map:otherwise clause. The inner
map:select does not have a map:otherwise clause. I found that
SelectNode.setCases() is being called multiple times for the inner map:select
element, it is having a map:otherwise clause being set to the outer
map:otherwise clause. A stack trace on the second setCases() call is included
below. My modifications to SelectNode.setCases() are simple, keep a private
boolean indicating if the method has been called before and throw the exception
on a subsequent attempt.

Original exception : java.lang.IllegalStateException: setCases() can only be
called a single time
        at 
org.apache.cocoon.treeprocessor.sitemap.SelectNode.setCases(SelectNode.java:118)
        at
org.apache.cocoon.treeprocessor.sitemap.SelectNodeBuilder.buildNode(SelectNodeBuilder.java:134)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:160)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodes(AbstractParentProcessingNodeBuilder.java:176)
        at
org.apache.cocoon.treeprocessor.ContainerNodeBuilder.setupNode(ContainerNodeBuilder.java:90)
        at
org.apache.cocoon.treeprocessor.NamedContainerNodeBuilder.buildNode(NamedContainerNodeBuilder.java:81)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:160)
        at
org.apache.cocoon.treeprocessor.CategoryNodeBuilder.buildNode(CategoryNodeBuilder.java:103)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:160)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodes(AbstractParentProcessingNodeBuilder.java:176)
        at
org.apache.cocoon.treeprocessor.sitemap.SitemapNodeBuilder.access$0(SitemapNodeBuilder.java)
        at
org.apache.cocoon.treeprocessor.sitemap.SitemapNodeBuilder.buildNode(SitemapNodeBuilder.java:81)
        at org.apache.cocoon.treeprocessor.TreeBuilder.createTree(TreeBuilder.java:357)
        at org.apache.cocoon.treeprocessor.TreeBuilder.build(TreeBuilder.java:403)
        at
org.apache.cocoon.treeprocessor.TreeProcessor.setupRootNode(TreeProcessor.java:408)
        at 
org.apache.cocoon.treeprocessor.TreeProcessor.process(TreeProcessor.java:356)
        at 
org.apache.cocoon.treeprocessor.TreeProcessor.process(TreeProcessor.java:328)
        at org.apache.cocoon.treeprocessor.sitemap.MountNode.invoke(MountNode.java:136)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:88)
        at
org.apache.cocoon.treeprocessor.sitemap.PreparableMatchNode.access$2(PreparableMatchNode.java)
        at
org.apache.cocoon.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:161)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:88)
        at 
org.apache.cocoon.treeprocessor.sitemap.ActTypeNode.access$4(ActTypeNode.java)
        at 
org.apache.cocoon.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:155)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:88)
        at
org.apache.cocoon.treeprocessor.sitemap.PreparableMatchNode.access$2(PreparableMatchNode.java)
        at
org.apache.cocoon.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:161)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:110)
        at 
org.apache.cocoon.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:145)
        at
org.apache.cocoon.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:110)
        at
org.apache.cocoon.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:142)
        at 
org.apache.cocoon.treeprocessor.TreeProcessor.process(TreeProcessor.java:358)
        at 
org.apache.cocoon.treeprocessor.TreeProcessor.process(TreeProcessor.java:328)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:573)
        at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:850)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:197)
        at
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.connector.http10.HttpProcessor.process(HttpProcessor.java:666)
        at 
org.apache.catalina.connector.http10.HttpProcessor.run(HttpProcessor.java:788)
        at java.lang.Thread.run(Thread.java:484)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to