Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 86539 invoked from network); 14 Jun 2004 06:47:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 14 Jun 2004 06:47:15 -0000 Received: (qmail 10941 invoked by uid 500); 14 Jun 2004 06:47:13 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 10872 invoked by uid 500); 14 Jun 2004 06:47:13 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 10815 invoked by uid 99); 14 Jun 2004 06:47:10 -0000 Received: from [82.165.29.106] (HELO p15153152.pureserver.info) (82.165.29.106) by apache.org (qpsmtpd/0.27.1) with ESMTP; Sun, 13 Jun 2004 23:47:10 -0700 Received: from [192.168.1.113] (pD9E94F08.dip0.t-ipconnect.de [217.233.79.8]) by p15153152.pureserver.info (Postfix) with ESMTP id 59F07C028C2 for ; Mon, 14 Jun 2004 08:46:50 +0200 (CEST) Message-ID: <40CD49D0.4060901@sa-lsa.com> Date: Mon, 14 Jun 2004 08:46:40 +0200 From: Andreas Schmid User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040514 X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@cocoon.apache.org Subject: ClassCastException when initialising String with null Value Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N I just tried to create a function inside a flowScript ... private void doAnything(){ String foo = null; FooManager manager = (FooManager)getComponent(FooManager.ROLE); manager.doMyWishes(foo); } ... this throws an ClassCastException... as long as the my variable is filled up later on in the function ... it works... (I tried something like this) ... private void doAnything(){ String foo = null; if(true) foo = "HELLO"; FooManager manager = (FooManager)getComponent(FooManager.ROLE); manager.doMyWishes(foo); } ... but if it looks like this (Variable is not filled...) ... private void doAnything(){ String foo = null; if(false) foo = "HELLO"; FooManager manager = (FooManager)getComponent(FooManager.ROLE); manager.doMyWishes(foo); } ... the same Exception is thrown... java.lang.ClassCastException at org.apache.bcel.generic.InstructionFactory.createCast(InstructionFactory.java:501) at org.apache.cocoon.components.flow.java.ContinuationClassLoader.restoreFrame(ContinuationClassLoader.java:596) at org.apache.cocoon.components.flow.java.ContinuationClassLoader.rewrite(ContinuationClassLoader.java:296) at org.apache.cocoon.components.flow.java.ContinuationClassLoader.transform(ContinuationClassLoader.java:148) at org.apache.cocoon.components.flow.java.ContinuationClassLoader.loadClass(ContinuationClassLoader.java:114) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at org.apache.cocoon.components.flow.java.JavaInterpreter.initialize(JavaInterpreter.java:93) at org.apache.cocoon.components.flow.java.JavaInterpreter.callFunction(JavaInterpreter.java:130) at org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke(CallFunctionNode.java:130) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:103) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277) at org.apache.cocoon.Cocoon.process(Cocoon.java:639) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1098) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688) at java.lang.Thread.run(Thread.java:534) Thanks for your help... Andreas