Uploaded image for project: 'Commons SCXML'
  1. Commons SCXML
  2. SCXML-212

Add support for SCXML datamodel type and default Evaluator instantiation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0
    • 2.0
    • None

    Description

      The SCXML specification allows for defining the required datamodel (type) on the root SCXML element.
      This datamodel type defines which language support the SCXML document requires.
      For Commons SCXML this means: what Evaluator type should be instantiated and configured on the SCXMLExecutor.

      I'll introduce a new singleton EvaluatorFactory holding new EvaluatorProvider instances for each currently supported Evaluator language: Jexl, Groovy, JS (ecmascript) and XPath, with the JexlEvaluatorProvider used as default.

      The current requirement of having to instantiate and provide a specific Evaluator instance on the SCXMLExecutor then no longer is needed: an SCXML document now can define the datamodel attribute instead (or accept the JexlEvaluator as fallback).

      It still is possible to use and configure a custom/dedicated Evaluator programmatically as before to override the new default handling.
      The only new restriction is that an explicitly configured Evaluator must support the datamodel type defined on the SCXML document.

      Attachments

        Activity

          People

            ate Ate Douma
            ate Ate Douma
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: