This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 83d6c1f5acf964179160d75e292fc02bd7e795c5
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Tue Feb 20 19:19:40 2024 -0500

    DSLs #1135
---
 karavan-core/src/core/model/CamelDefinition.ts             | 10 +++++-----
 karavan-core/src/core/model/CamelMetadata.ts               | 10 ++++++++++
 karavan-core/test/getElementProperties.spec.ts             |  3 ---
 karavan-designer/src/designer/route/DslSelector.tsx        |  2 +-
 karavan-designer/src/designer/utils/CamelUi.tsx            | 14 ++++++++++++++
 .../apache/camel/karavan/generator/AbstractGenerator.java  |  2 ++
 karavan-space/src/designer/route/DslSelector.tsx           |  2 +-
 karavan-space/src/designer/utils/CamelUi.tsx               | 14 ++++++++++++++
 .../src/main/webui/src/designer/route/DslSelector.tsx      |  2 +-
 .../src/main/webui/src/designer/utils/CamelUi.tsx          | 14 ++++++++++++++
 10 files changed, 62 insertions(+), 11 deletions(-)

diff --git a/karavan-core/src/core/model/CamelDefinition.ts 
b/karavan-core/src/core/model/CamelDefinition.ts
index 478e9916..699b1363 100644
--- a/karavan-core/src/core/model/CamelDefinition.ts
+++ b/karavan-core/src/core/model/CamelDefinition.ts
@@ -284,15 +284,15 @@ export class ConvertHeaderDefinition extends CamelElement 
{
 }
 
 export class ConvertVariableDefinition extends CamelElement {
-    stepName?: string = 'convertVariable';
-    charset?: string;
+    stepName?: string = 'convertVariableTo';
+    id?: string = 'convertVariableTo-' + uuidv4().substring(0,4);
     description?: string;
     disabled?: boolean;
-    id?: string = 'convertVariable-' + uuidv4().substring(0,4);
-    mandatory?: boolean;
     name: string = '';
-    toName?: string;
     type: string = '';
+    toName?: string;
+    mandatory?: boolean;
+    charset?: string;
     public constructor(init?: Partial<ConvertVariableDefinition>) {
         super('ConvertVariableDefinition');
         Object.assign(this, init);
diff --git a/karavan-core/src/core/model/CamelMetadata.ts 
b/karavan-core/src/core/model/CamelMetadata.ts
index 09ff0636..710a9ab2 100644
--- a/karavan-core/src/core/model/CamelMetadata.ts
+++ b/karavan-core/src/core/model/CamelMetadata.ts
@@ -1018,6 +1018,16 @@ export const CamelModelMetadata: ElementMeta[] = [
         new PropertyMeta('mandatory', 'Mandatory', "When mandatory then the 
conversion must return a value (cannot be null), if this is not possible then 
NoTypeConversionAvailableException is thrown. Setting this to false could mean 
conversion is not possible and the value is null.", 'boolean', '', 'true', 
false, false, false, false, 'advanced', ''),
         new PropertyMeta('charset', 'Charset', "To use a specific charset when 
converting", 'string', '', '', false, false, false, false, 'advanced', ''),
     ]),
+    new ElementMeta('convertVariableTo', 'ConvertVariableDefinition', 'Convert 
Variable To', "Converts the variable to another type", 'eip,transformation', [
+        new PropertyMeta('id', 'Id', "Sets the id of this node", 'string', '', 
'', false, false, false, false, '', ''),
+        new PropertyMeta('description', 'Description', "Sets the description 
of this node", 'string', '', '', false, false, false, false, '', ''),
+        new PropertyMeta('disabled', 'Disabled', "Whether to disable this EIP 
from the route during build time. Once an EIP has been disabled then it cannot 
be enabled later at runtime.", 'boolean', '', 'false', false, false, false, 
false, 'advanced', ''),
+        new PropertyMeta('name', 'Name', "Name of variable to convert its 
value The simple language can be used to define a dynamic evaluated header name 
to be used. Otherwise a constant name will be used.", 'string', '', '', true, 
false, false, false, '', ''),
+        new PropertyMeta('type', 'Type', "The java type to convert to", 
'string', '', '', true, false, false, false, '', ''),
+        new PropertyMeta('toName', 'To Name', "To use another variable to 
store the result. By default, the result is stored in the same variable. This 
option allows to use another variable. The simple language can be used to 
define a dynamic evaluated variable name to be used. Otherwise a constant name 
will be used.", 'string', '', '', false, false, false, false, '', ''),
+        new PropertyMeta('mandatory', 'Mandatory', "When mandatory then the 
conversion must return a value (cannot be null), if this is not possible then 
NoTypeConversionAvailableException is thrown. Setting this to false could mean 
conversion is not possible and the value is null.", 'boolean', '', 'true', 
false, false, false, false, 'advanced', ''),
+        new PropertyMeta('charset', 'Charset', "To use a specific charset when 
converting", 'string', '', '', false, false, false, false, 'advanced', ''),
+    ]),
     new ElementMeta('delay', 'DelayDefinition', 'Delay', "Delays processing 
for a specified length of time", 'eip,routing', [
         new PropertyMeta('id', 'Id', "Sets the id of this node", 'string', '', 
'', false, false, false, false, '', ''),
         new PropertyMeta('description', 'Description', "Sets the description 
of this node", 'string', '', '', false, false, false, false, '', ''),
diff --git a/karavan-core/test/getElementProperties.spec.ts 
b/karavan-core/test/getElementProperties.spec.ts
index 0b94d940..5a35e082 100644
--- a/karavan-core/test/getElementProperties.spec.ts
+++ b/karavan-core/test/getElementProperties.spec.ts
@@ -16,9 +16,6 @@
  */
 import {expect} from 'chai';
 import 'mocha';
-import {
-    FromDefinition,
-} from "../src/core/model/CamelDefinition";
 import {CamelDefinitionApiExt} from "../src/core/api/CamelDefinitionApiExt";
 import {PropertyMeta} from "../src/core/model/CamelMetadata";
 
diff --git a/karavan-designer/src/designer/route/DslSelector.tsx 
b/karavan-designer/src/designer/route/DslSelector.tsx
index 27093f25..3bc6bb7d 100644
--- a/karavan-designer/src/designer/route/DslSelector.tsx
+++ b/karavan-designer/src/designer/route/DslSelector.tsx
@@ -24,7 +24,7 @@ import {
 import '../karavan.css';
 import {CamelUi} from "../utils/CamelUi";
 import {DslMetaModel} from "../utils/DslMetaModel";
-import {useDesignerStore, useIntegrationStore, useSelectorStore} from 
"../DesignerStore";
+import {useDesignerStore, useSelectorStore} from "../DesignerStore";
 import {shallow} from "zustand/shallow";
 import {useRouteDesignerHook} from "./useRouteDesignerHook";
 import { ComponentApi } from 'karavan-core/lib/api/ComponentApi';
diff --git a/karavan-designer/src/designer/utils/CamelUi.tsx 
b/karavan-designer/src/designer/utils/CamelUi.tsx
index 404686fe..28718e59 100644
--- a/karavan-designer/src/designer/utils/CamelUi.tsx
+++ b/karavan-designer/src/designer/utils/CamelUi.tsx
@@ -101,6 +101,7 @@ const StepElements: string[] = [
     "ClaimCheckDefinition",
     "ConvertBodyDefinition",
     "ConvertHeaderDefinition",
+    "ConvertVariableDefinition",
     "DelayDefinition",
     "DynamicRouterDefinition",
     "EnrichDefinition",
@@ -120,6 +121,7 @@ const StepElements: string[] = [
     "RemoveHeadersDefinition",
     "RemovePropertiesDefinition",
     "RemovePropertyDefinition",
+    "RemoveVariableDefinition",
     "ResumableDefinition",
     "ResequenceDefinition",
     "RoutingSlipDefinition",
@@ -128,6 +130,7 @@ const StepElements: string[] = [
     "SetBodyDefinition",
     "SetHeaderDefinition",
     "SetHeadersDefinition",
+    "SetVariableDefinition",
     "SetPropertyDefinition",
     "SortDefinition",
     "ScriptDefinition",
@@ -168,6 +171,10 @@ const INTEGRATION_PATTERNS = 'Integration Patterns';
 const stepConvertMap = new Map<string, string>([
     ["SetBodyDefinition", "SetHeaderDefinition"],
     ["SetHeaderDefinition", "SetBodyDefinition"],
+    ["SetHeaderDefinition", "SetVariableDefinition"],
+    ["SetVariableDefinition", "SetHeaderDefinition"],
+    ["SetBodyDefinition", "SetVariableDefinition"],
+    ["SetVariableDefinition", "SetBodyDefinition"],
     ["FilterDefinition", "ChoiceDefinition"],
 ]);
 
@@ -203,6 +210,7 @@ export class CamelUi {
         if (filter !== undefined && filter !== "") {
             return dsl.title.toLowerCase().includes(filter.toLowerCase())
                 || dsl.description.toLowerCase().includes(filter.toLowerCase())
+                || dsl.name.toLowerCase().includes(filter.toLowerCase())
                 || dsl.labels.toLowerCase().includes(filter.toLowerCase());
         } else {
             return true;
@@ -444,6 +452,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath 
d='m24.08924,9.30736l-1.67194,1.57734l4.23986,3.99986l-5.47865,0a5.92883,5.59337
 0 0 0 -4.60981,-4.34899l0,-10.15173l-2.36467,0l0,10.15173a5.91168,5.5772 0 0 0 
0,10.92886l0,10.15173l2.36467,0l0,-10.15173a5.92883,5. [...]
             case "RemoveHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
+            case "RemoveVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "RemovePropertyDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "RemoveHeadersDefinition":
@@ -452,6 +462,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpolygon id='svg_2' points='32.12467002868652,6.015733242034912 
32.12467002868652,4.021692276000977 27.047643661499023,4.021692276000977 
27.047643661499023,-1.0553351640701294 25.05360221862793,-1.0553350448608398 
25.053 [...]
             case "SetHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
+            case "SetVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "SetHeadersDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "SetPropertyDefinition":
@@ -468,6 +480,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
             case "ConvertHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
+            case "ConvertVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
             case "TransformDefinition":
                 return 
"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIGlkPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO308L3N0eWxlPjwvZGVmcz48dGl0bGU+ZGF0YS1zaGFyZTwvdGl0bGU+PHBhdGggZD0iTTUsMjVWMTUuODI4MWwtMy41ODU5LDMuNTg2TDAsMThsNi02LDYsNi0xLjQxNDEsMS40MTQxTDcsMTUuODI4MVYyNUgxOXYySDdBMi4wMDI0LDIuMDAyNCwwLDAsMSw1LDI1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSIvPjxwYXRoIGQ9Ik0yNCwyMmg0YTIuMDAyLD
 [...]
             case "EnrichDefinition":
diff --git 
a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/AbstractGenerator.java
 
b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/AbstractGenerator.java
index 4d9aaa83..64cbd16a 100644
--- 
a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/AbstractGenerator.java
+++ 
b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/AbstractGenerator.java
@@ -68,6 +68,8 @@ public class AbstractGenerator {
             className = "convertBodyTo";
         } else if (className.equals("ConvertHeaderDefinition")) {
             className = "convertHeaderTo";
+        } else if (className.equals("ConvertVariableDefinition")) {
+            className = "convertVariableTo";
         } else if (className.equals("TryDefinition")) {
             className = "doTry";
         } else if (className.equals("FinallyDefinition")) {
diff --git a/karavan-space/src/designer/route/DslSelector.tsx 
b/karavan-space/src/designer/route/DslSelector.tsx
index 27093f25..3bc6bb7d 100644
--- a/karavan-space/src/designer/route/DslSelector.tsx
+++ b/karavan-space/src/designer/route/DslSelector.tsx
@@ -24,7 +24,7 @@ import {
 import '../karavan.css';
 import {CamelUi} from "../utils/CamelUi";
 import {DslMetaModel} from "../utils/DslMetaModel";
-import {useDesignerStore, useIntegrationStore, useSelectorStore} from 
"../DesignerStore";
+import {useDesignerStore, useSelectorStore} from "../DesignerStore";
 import {shallow} from "zustand/shallow";
 import {useRouteDesignerHook} from "./useRouteDesignerHook";
 import { ComponentApi } from 'karavan-core/lib/api/ComponentApi';
diff --git a/karavan-space/src/designer/utils/CamelUi.tsx 
b/karavan-space/src/designer/utils/CamelUi.tsx
index 404686fe..28718e59 100644
--- a/karavan-space/src/designer/utils/CamelUi.tsx
+++ b/karavan-space/src/designer/utils/CamelUi.tsx
@@ -101,6 +101,7 @@ const StepElements: string[] = [
     "ClaimCheckDefinition",
     "ConvertBodyDefinition",
     "ConvertHeaderDefinition",
+    "ConvertVariableDefinition",
     "DelayDefinition",
     "DynamicRouterDefinition",
     "EnrichDefinition",
@@ -120,6 +121,7 @@ const StepElements: string[] = [
     "RemoveHeadersDefinition",
     "RemovePropertiesDefinition",
     "RemovePropertyDefinition",
+    "RemoveVariableDefinition",
     "ResumableDefinition",
     "ResequenceDefinition",
     "RoutingSlipDefinition",
@@ -128,6 +130,7 @@ const StepElements: string[] = [
     "SetBodyDefinition",
     "SetHeaderDefinition",
     "SetHeadersDefinition",
+    "SetVariableDefinition",
     "SetPropertyDefinition",
     "SortDefinition",
     "ScriptDefinition",
@@ -168,6 +171,10 @@ const INTEGRATION_PATTERNS = 'Integration Patterns';
 const stepConvertMap = new Map<string, string>([
     ["SetBodyDefinition", "SetHeaderDefinition"],
     ["SetHeaderDefinition", "SetBodyDefinition"],
+    ["SetHeaderDefinition", "SetVariableDefinition"],
+    ["SetVariableDefinition", "SetHeaderDefinition"],
+    ["SetBodyDefinition", "SetVariableDefinition"],
+    ["SetVariableDefinition", "SetBodyDefinition"],
     ["FilterDefinition", "ChoiceDefinition"],
 ]);
 
@@ -203,6 +210,7 @@ export class CamelUi {
         if (filter !== undefined && filter !== "") {
             return dsl.title.toLowerCase().includes(filter.toLowerCase())
                 || dsl.description.toLowerCase().includes(filter.toLowerCase())
+                || dsl.name.toLowerCase().includes(filter.toLowerCase())
                 || dsl.labels.toLowerCase().includes(filter.toLowerCase());
         } else {
             return true;
@@ -444,6 +452,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath 
d='m24.08924,9.30736l-1.67194,1.57734l4.23986,3.99986l-5.47865,0a5.92883,5.59337
 0 0 0 -4.60981,-4.34899l0,-10.15173l-2.36467,0l0,10.15173a5.91168,5.5772 0 0 0 
0,10.92886l0,10.15173l2.36467,0l0,-10.15173a5.92883,5. [...]
             case "RemoveHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
+            case "RemoveVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "RemovePropertyDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "RemoveHeadersDefinition":
@@ -452,6 +462,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpolygon id='svg_2' points='32.12467002868652,6.015733242034912 
32.12467002868652,4.021692276000977 27.047643661499023,4.021692276000977 
27.047643661499023,-1.0553351640701294 25.05360221862793,-1.0553350448608398 
25.053 [...]
             case "SetHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
+            case "SetVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "SetHeadersDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "SetPropertyDefinition":
@@ -468,6 +480,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
             case "ConvertHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
+            case "ConvertVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
             case "TransformDefinition":
                 return 
"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIGlkPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO308L3N0eWxlPjwvZGVmcz48dGl0bGU+ZGF0YS1zaGFyZTwvdGl0bGU+PHBhdGggZD0iTTUsMjVWMTUuODI4MWwtMy41ODU5LDMuNTg2TDAsMThsNi02LDYsNi0xLjQxNDEsMS40MTQxTDcsMTUuODI4MVYyNUgxOXYySDdBMi4wMDI0LDIuMDAyNCwwLDAsMSw1LDI1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSIvPjxwYXRoIGQ9Ik0yNCwyMmg0YTIuMDAyLD
 [...]
             case "EnrichDefinition":
diff --git 
a/karavan-web/karavan-app/src/main/webui/src/designer/route/DslSelector.tsx 
b/karavan-web/karavan-app/src/main/webui/src/designer/route/DslSelector.tsx
index 27093f25..3bc6bb7d 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/route/DslSelector.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/route/DslSelector.tsx
@@ -24,7 +24,7 @@ import {
 import '../karavan.css';
 import {CamelUi} from "../utils/CamelUi";
 import {DslMetaModel} from "../utils/DslMetaModel";
-import {useDesignerStore, useIntegrationStore, useSelectorStore} from 
"../DesignerStore";
+import {useDesignerStore, useSelectorStore} from "../DesignerStore";
 import {shallow} from "zustand/shallow";
 import {useRouteDesignerHook} from "./useRouteDesignerHook";
 import { ComponentApi } from 'karavan-core/lib/api/ComponentApi';
diff --git 
a/karavan-web/karavan-app/src/main/webui/src/designer/utils/CamelUi.tsx 
b/karavan-web/karavan-app/src/main/webui/src/designer/utils/CamelUi.tsx
index 404686fe..28718e59 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/utils/CamelUi.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/utils/CamelUi.tsx
@@ -101,6 +101,7 @@ const StepElements: string[] = [
     "ClaimCheckDefinition",
     "ConvertBodyDefinition",
     "ConvertHeaderDefinition",
+    "ConvertVariableDefinition",
     "DelayDefinition",
     "DynamicRouterDefinition",
     "EnrichDefinition",
@@ -120,6 +121,7 @@ const StepElements: string[] = [
     "RemoveHeadersDefinition",
     "RemovePropertiesDefinition",
     "RemovePropertyDefinition",
+    "RemoveVariableDefinition",
     "ResumableDefinition",
     "ResequenceDefinition",
     "RoutingSlipDefinition",
@@ -128,6 +130,7 @@ const StepElements: string[] = [
     "SetBodyDefinition",
     "SetHeaderDefinition",
     "SetHeadersDefinition",
+    "SetVariableDefinition",
     "SetPropertyDefinition",
     "SortDefinition",
     "ScriptDefinition",
@@ -168,6 +171,10 @@ const INTEGRATION_PATTERNS = 'Integration Patterns';
 const stepConvertMap = new Map<string, string>([
     ["SetBodyDefinition", "SetHeaderDefinition"],
     ["SetHeaderDefinition", "SetBodyDefinition"],
+    ["SetHeaderDefinition", "SetVariableDefinition"],
+    ["SetVariableDefinition", "SetHeaderDefinition"],
+    ["SetBodyDefinition", "SetVariableDefinition"],
+    ["SetVariableDefinition", "SetBodyDefinition"],
     ["FilterDefinition", "ChoiceDefinition"],
 ]);
 
@@ -203,6 +210,7 @@ export class CamelUi {
         if (filter !== undefined && filter !== "") {
             return dsl.title.toLowerCase().includes(filter.toLowerCase())
                 || dsl.description.toLowerCase().includes(filter.toLowerCase())
+                || dsl.name.toLowerCase().includes(filter.toLowerCase())
                 || dsl.labels.toLowerCase().includes(filter.toLowerCase());
         } else {
             return true;
@@ -444,6 +452,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath 
d='m24.08924,9.30736l-1.67194,1.57734l4.23986,3.99986l-5.47865,0a5.92883,5.59337
 0 0 0 -4.60981,-4.34899l0,-10.15173l-2.36467,0l0,10.15173a5.91168,5.5772 0 0 0 
0,10.92886l0,10.15173l2.36467,0l0,-10.15173a5.92883,5. [...]
             case "RemoveHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
+            case "RemoveVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "RemovePropertyDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "RemoveHeadersDefinition":
@@ -452,6 +462,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpolygon id='svg_2' points='32.12467002868652,6.015733242034912 
32.12467002868652,4.021692276000977 27.047643661499023,4.021692276000977 
27.047643661499023,-1.0553351640701294 25.05360221862793,-1.0553350448608398 
25.053 [...]
             case "SetHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
+            case "SetVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "SetHeadersDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m24,30l-20,0a2.0021,2.0021 0 0 1 
-2,-2l0,-6a2.0021,2.0021 0 0 1 2,-2l20,0a2.0021,2.0021 0 0 1 
2,2l0,6a2.0021,2.0021 0 0 1 -2,2zm-20,-8l-0.0015,0l0.0015,6l20,0l0,-6l-20,0z' 
id='svg_1'/%3E%3Cpolygon id='svg_2' poi [...]
             case "SetPropertyDefinition":
@@ -468,6 +480,8 @@ export class CamelUi {
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
             case "ConvertHeaderDefinition":
                 return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
+            case "ConvertVariableDefinition":
+                return "data:image/svg+xml,%3Csvg width='32' height='32' 
xmlns='http://www.w3.org/2000/svg' 
xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1 %7B fill: 
none; %7D%3C/style%3E%3C/defs%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 
1%3C/title%3E%3Cpath d='m16,28l-8,0l0,-24l8,0l0,6a2.0058,2.0058 0 0 0 
2,2l6,0l0,4l2,0l0,-6a0.9092,0.9092 0 0 0 -0.3,-0.7l-7,-7a0.9087,0.9087 0 0 0 
-0.7,-0.3l-10,0a2.0058,2.0058 0 0 0 -2,2l0,24a2.0058,2.0058 0 0 0 
2,2l8,0l0,-2zm2,-23.6l [...]
             case "TransformDefinition":
                 return 
"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIGlkPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO308L3N0eWxlPjwvZGVmcz48dGl0bGU+ZGF0YS1zaGFyZTwvdGl0bGU+PHBhdGggZD0iTTUsMjVWMTUuODI4MWwtMy41ODU5LDMuNTg2TDAsMThsNi02LDYsNi0xLjQxNDEsMS40MTQxTDcsMTUuODI4MVYyNUgxOXYySDdBMi4wMDI0LDIuMDAyNCwwLDAsMSw1LDI1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSIvPjxwYXRoIGQ9Ik0yNCwyMmg0YTIuMDAyLD
 [...]
             case "EnrichDefinition":

Reply via email to