
e.sonataflow.sonataflow-quarkus-integration-test.10.0.0.source-code.expression.sw.json Maven / Gradle / Ivy
{
"id": "expression",
"version": "1.0",
"name": "Workflow Expression example",
"description": "An example of how to use a JQ expression assignment",
"constants" : {
"dog" : {
"castellano" : "perro",
"leones": "perru",
"gallego" : "can",
"aragones" : "cocho",
"catalan" : "gos",
"vasco": "txakurra"
}
},
"dataInputSchema" : "schema/expressionInput.json",
"extensions" : [ {
"extensionid": "workflow-output-schema",
"outputSchema": "schema/expressionOutput.json"
}
],
"start": "squareState",
"functions": [
{
"name": "max",
"type": "expression",
"operation": "{max: .numbers | max_by(.x), min: .numbers | min_by(.y)}"
},
{
"name": "secretMessage",
"type": "expression",
"operation": ".message |= \"my name is \"+$SECRET.expression.my_name"
},
{
"name": "constantMessage",
"type": "expression",
"operation": ".message |=.+\" and in my native language dog is translated to \"+$CONST.dog.castellano"
},
{
"name": "userMessage",
"type": "expression",
"operation": ".user |= $WORKFLOW.identity"
},
{
"name": "contextMessage",
"type": "expression",
"operation": ".message |=.+\" and the header pepe is \"+$WORKFLOW.headers.pepe"
},
{
"name": "discardedResult",
"type": "expression",
"operation": ".discardedResult |=\"This string won't be added to the data\""
},
{
"name": "printMessage",
"type": "custom",
"operation": "sysout"
}
],
"states": [
{
"name": "squareState",
"type": "operation",
"actions": [
{
"name": "maxAction",
"functionRef": {
"refName": "max"
},
"actionDataFilter": {
"results" : ".max.x",
"toStateData" : ".number"
}
},
{
"name": "secretMessageAction",
"functionRef" : {
"refName" : "secretMessage"
}
}
],
"transition": "finish"
},
{
"name": "finish",
"type": "operation",
"stateDataFilter": {
"input": "{result: .number, message: .message}"
},
"actions": [
{
"name" : "skippedAction",
"functionRef" : "discardedResult",
"sleep" : {
"before" : "PT0.001S",
"after" : "PT0.001S"
},
"condition": "false"
},
{
"name": "costantMessageAction",
"functionRef" : "constantMessage"
},
{
"name": "userMessageAction",
"functionRef" : "userMessage"
},
{
"name": "contextMessageAction",
"functionRef" : "contextMessage"
},
{
"name": "printAction",
"functionRef": {
"refName": "printMessage",
"arguments": {
"message": "\"Result is: \"+(.result|tostring)"
}
}
},
{
"name": "discardedResultAction",
"functionRef" : "discardedResult",
"actionDataFilter" : {
"useResults" : false
}
}
],
"end": {
"terminate": true
}
}
]
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy