[
https://issues.apache.org/jira/browse/CAMEL-25471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-25471.
---------------------------------
Resolution: Fixed
> camel-dataweave - convert real-world Mule DataWeave scripts faithfully
> ----------------------------------------------------------------------
>
> Key: CAMEL-25471
> URL: https://issues.apache.org/jira/browse/CAMEL-25471
> Project: Camel
> Issue Type: Improvement
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Major
> Fix For: 4.23.0
>
>
> Umbrella for making the DataWeave to DataSonnet converter (camel-dataweave,
> used by the datasonnet language and camel transform dataweave) good enough
> for migrating real Mule DataWeave 2.x scripts.
> An analysis ran 233 realistic DataWeave snippets (plus 10 Mule-style scripts)
> through the converter and executed the generated DataSonnet in a Camel route
> against the output DataWeave produces:
> * 109 correct
> * 93 silently wrong: converted with no TODO, then 22 return a wrong value and
> 71 fail on every message at runtime
> * 16 parse errors, 3 invalid DataSonnet caught at startup, 12 honest TODOs
> Root causes: the parser drops trailing tokens and unknown header lines;
> DataWeave 2 lambda syntax and infix precedence are not followed; DataWeave
> null/selector semantics (missing field = null, selector on array = implicit
> map) are not modelled; unknown functions pass through; object construction
> (conditional fields, spread) and ranges are not supported.
> The goal is that every DataWeave script either converts to DataSonnet that
> produces the same output, or fails at conversion time - never silently wrong.
> DataSonnet's built-in ds.* library (modelled on DataWeave) is used where it
> matches DataWeave semantics.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)