On Wed, Jan 7, 2009 at 9:57 AM, sebb <seb...@gmail.com> wrote: > On 07/01/2009, Rahul Akolkar <rahul.akol...@gmail.com> wrote: >> On Wed, Jan 7, 2009 at 12:36 AM, Rahul Akolkar <rahul.akol...@gmail.com> >> wrote: >> > On Tue, Jan 6, 2009 at 9:46 PM, sebb <seb...@gmail.com> wrote: >> >> <snip/> >> >> >> >> >> By the way, the Exception handling changes have revealed a possible >> >> bug - a class cast was being swallowed: >> >> >> >> >> testExample01Sample(org.apache.commons.scxml.env.javascript.JSExampleTest) >> >> Time elapsed: 0.281 sec <<< ERROR! >> >> java.lang.ClassCastException: java.lang.Double cannot be cast to >> >> org.w3c.dom.Node >> >> at >> org.apache.commons.scxml.env.javascript.JSEvaluator.evalLocation(JSEvaluator.java:195) >> >> >> >> This was previously being converted to a SCXMLExpressionException. >> >> >> > <snap/> >> > >> > I'll take a look now -- thats the package I'm least familiar with so >> > it'll be good to go through it anyway. >> > >> >> <snap/> >> >> Turned out to be an error in the test document, should be fixed. >> > > I see that you have chnaged the test data, and it now passes the test. > > However, what if a user has such a document? > Should it really generate a Class Cast Exception? > > It looks like the error was not being detected previously because the > ClassCast was converted to SCXMLExpressionException which was being > handled by the Assign class. > > Is that the correct behaviour for invalid data? > > I think at the very least the code needs to catch the Class Cast. > <snip/>
I see, r731781. Its an authoring error but yes, a CCE is bogus. I think the related catches in r731781 should be for a generic Exception (since theoretically any Java method could be executed as part of the expression evaluation). -Rahul --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org