[ 
https://issues.apache.org/jira/browse/SCXML-242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15071905#comment-15071905
 ] 

Ate Douma commented on SCXML-242:
---------------------------------

For the JSON parsing I'll use the 
[Jackson|https://github.com/FasterXML/jackson] library with its convenient and 
'raw' object mapping ObjectMapper binding.

In addition, this parser supports embedded comments in JSON (/* comment */ or 
// comment), and even YAML type comments (# comment), which I'll enable by 
default.

Finally, it also supports single qouted naming of JSON properties (besides 
standard double quoted), which can be very convenient when constructing JSON 
strings within Java code.
This won't be enable by default but can be easy enabled through an additional 
parser configuration setting.

> Provide JSON based datamodel as replacement for XML/XPath
> ---------------------------------------------------------
>
>                 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