diff --git a/api/src/engine/connectors/exareme/transformations.ts b/api/src/engine/connectors/exareme/transformations.ts index ed904e0281a5f250b2c492bc2e25291a971f923c..309fb333126b56a0cef0d8cc2a55e4bce3135c9c 100644 --- a/api/src/engine/connectors/exareme/transformations.ts +++ b/api/src/engine/connectors/exareme/transformations.ts @@ -34,6 +34,7 @@ export const transformToExperiment = jsonata(` $toArray := function($x) { $type($x) = 'array' ? $x : [$x]}; $convDate := function($v) { $type($v) = 'string' ? $toMillis($v) : $v }; $rp := function($v) {$replace($v, /(\\+|\\*|-)/, ',')}; + $strSafe := function($v) { $type($v) = 'string' ? $v : "" }; { "name": name, @@ -48,7 +49,7 @@ export const transformToExperiment = jsonata(` "domain": algorithm.parameters[name = "pathology"].value, "variables": $split($rp(algorithm.parameters[name = "y"].value), ','), "coVariables": $toArray($split($rp(algorithm.parameters[name = "x"].value), ',')), - "filterVariables": $match(algorithm.parameters[name = "filter"].value, /\\"id\\":\\"(\\w*)\\"/).groups, + "filterVariables": (algorithm.parameters[name = "filter"].value ~> $strSafe() ~> $match(/\\"id\\":\\"(\w*)\\"/)).groups, "filter": algorithm.parameters[name = "filter"].value, "datasets": $split(algorithm.parameters[name = "dataset"].value, ','), "algorithm": {