Ate Douma created SCXML-242:
-------------------------------

             Summary: Provide JSON based datamodel as replacement for XML
                 Key: SCXML-242
                 URL: https://issues.apache.org/jira/browse/SCXML-242
             Project: Commons SCXML
          Issue Type: New Feature
            Reporter: Ate Douma
            Assignee: Ate Douma
             Fix For: 2.0


The XML/XPath datamodel, with 'convenient' support through Data() and 
Location() operations for usage within the Jexl, Javascript and Groovy SCXML 
languages has been the root and cause of many invasive and complicating 
problems in the implementation of Commons SCXML (2.0).
The [SCXML 1.0 specification|http://www.w3.org/TR/2015/REC-scxml-20150901/] has 
dropped the xpath datamodel from the specification because of similar/same 
complications and (also thereof) lack of 'reference' implementations.

Further maintaining and trying to 'improve' on the XML/XPath datamodel support 
in Commons SCXML therefore will be stopped and removed from the implementation 
all together.
Instead and as replacement new JSON datamodel support will be added, which also 
aligns with the (optional) Ecmascript datamodel as described in the SCXML 
specification.

The JSON based datamodel will be parsed (in Java) into a 'raw' object model, 
consisting of plain Maps (JSON Object) and Lists (JSON Array), and thus 
trivially to be used from the Commons SCXML supported languages (Jexl, Groovy 
and Javascript).

As this new JSON datamodel will replace all XML/XPath usages, part of this new 
feature implementation will be updating and replacing all the example/unit-test 
usages in the codebase, and thereby also removing all usages of the custom 
Data() and Location() functions.

Once these changes are in place, the Data() and Location() custom functions 
will then be removed as well.

Finally, the XPath language itself then can be removed, including all the 
supporting logic scattered throughout the engine implementation itself, but 
this will be done as a separate issue afterwards.     




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to