[ 
https://issues.apache.org/jira/browse/SCXML-181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ate Douma updated SCXML-181:
----------------------------
    Priority: Minor  (was: Major)

> Provide SCXML source location info when logging warnings or errors
> ------------------------------------------------------------------
>
>                 Key: SCXML-181
>                 URL: https://issues.apache.org/jira/browse/SCXML-181
>             Project: Commons SCXML
>          Issue Type: Improvement
>            Reporter: Woonsan Ko
>            Priority: Minor
>
> Currently, SCXML model objects do not have source location information for 
> debugging purpose.
> For this reason, if there's any error (e.g, JEXL script error), then we get 
> the following log:
> {noformat}
> EXPRESSION_ERROR (evalScript('
> unknownObject.invoke();
> '):org.apache.commons.scxml2.env.jexl.JexlEvaluator.evalScript@161![14,22]: 
> 'unknownObject.invoke();' attempting to call method on null): Expression 
> error inside /hello/world
> {noformat}
> The reason is that SCXML JexlEvaluator doesn't give a source location 
> information to the JexlEngine for itself and so JEXL engine just tries to 
> make a debugging information by itself (by finding the caller class 
> (JexlEvaluator in this case) and its line number (161) as well as more 
> debugging purpose parsed JEXL node information ([14,22])).
> In order to give a precise source location information of SCXML, we have to 
> provide that kind of information in commons-scxml when invoking JEXL Engine.
> For example, JexlEvaluator#evalScript() invokes 
> getJexlEngine().createScript(script) currently.
> If we want to give source location info, then we'd better change it to 
> getJexlEngine().createScript(script, JexlInfo, null), where JexlInfo contains 
> the debugging information.
> However, the current SCXML model objects do not have source location 
> information at all unfortunately.
> It can be a good improvement to add that kind of information in SCXML model 
> objects in the future.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to