Return-Path: Delivered-To: apmail-xml-cocoon-dev-archive@xml.apache.org Received: (qmail 97961 invoked by uid 500); 12 Feb 2002 03:14:49 -0000 Mailing-List: contact cocoon-dev-help@xml.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: cocoon-dev@xml.apache.org Delivered-To: mailing list cocoon-dev@xml.apache.org Received: (qmail 97950 invoked from network); 12 Feb 2002 03:14:49 -0000 Date: 12 Feb 2002 03:14:47 -0000 Message-ID: <20020212031447.7184.qmail@nagoya.betaversion.org> From: bugzilla@apache.org To: cocoon-dev@xml.apache.org Cc: Subject: DO NOT REPLY [Bug 6386] New: - [TreeProcessor] Nested map:select in resource malfunction X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT . 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: cocoon-dev@xml.apache.org ReportedBy: proyal@managingpartners.com 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: cocoon-dev-unsubscribe@xml.apache.org For additional commands, email: cocoon-dev-help@xml.apache.org