Author: rahul Date: Wed Jan 7 10:39:21 2009 New Revision: 732422 URL: http://svn.apache.org/viewvc?rev=732422&view=rev Log: Minor improvements - * Catch generic Exception during expression evaluator so the ErrorReporter gets notified * Only first match in evalLocation needs replacement * Don't return null from a function with Boolean return type
Modified: commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/env/javascript/JSEvaluator.java Modified: commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/env/javascript/JSEvaluator.java URL: http://svn.apache.org/viewvc/commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/env/javascript/JSEvaluator.java?rev=732422&r1=732421&r2=732422&view=diff ============================================================================== --- commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/env/javascript/JSEvaluator.java (original) +++ commons/proper/scxml/branches/J6/src/main/java/org/apache/commons/scxml/env/javascript/JSEvaluator.java Wed Jan 7 10:39:21 2009 @@ -127,7 +127,7 @@ // ... evaluate return engine.eval(buffer.toString(),new JSBindings(context,bindings)); - } catch (ScriptException x) { + } catch (Exception x) { throw new SCXMLExpressionException("Error evaluating ['" + expression + "'] " + x); } } @@ -149,7 +149,7 @@ Object object; if ((object = eval(context,expression)) == null) { - return null; + return Boolean.FALSE; } if (object instanceof Boolean) { @@ -184,7 +184,7 @@ // ... replace Data() function - while (matcher.find()) { + if (matcher.find()) { matcher.appendReplacement(buffer,"xpath.node(_ALL_NAMESPACES," + matcher.group(1) + "," + matcher.group(2) + ")"); } @@ -193,7 +193,7 @@ // ... evaluate return (Node) engine.eval(buffer.toString(),new JSBindings(context,bindings)); - } catch (ScriptException x) { + } catch (Exception x) { throw new SCXMLExpressionException("Error evaluating ['" + expression + "'] " + x); } }