From 3ebd65b87a69e78f117b85ff9cc12c04174fe25b Mon Sep 17 00:00:00 2001 From: "Ricardo M." Date: Thu, 18 Jul 2024 12:30:19 -0400 Subject: [PATCH] feat(Canvas): Add containers for branches Currently, all children are rendered as individual nodes in the Canvas, making complicated to understand when a step belongs to a parent EIP or if it comes as a next step in the Camel Route. This commit adds support for rendering EIP branches as containers. fix: https://github.com/KaotoIO/kaoto/issues/368 --- .../cypress/support/next-commands/design.ts | 2 +- .../Canvas/CanvasFormTabs.test.tsx | 18 +- .../Canvas/__snapshots__/Canvas.test.tsx.snap | 1170 +++-- .../__snapshots__/CanvasForm.test.tsx.snap | 582 ++- .../__snapshots__/canvas.service.test.ts.snap | 481 ++ .../Visualization/Canvas/canvas.models.ts | 1 - .../Canvas/canvas.service.test.ts | 200 +- .../Visualization/Canvas/canvas.service.ts | 145 +- .../Custom/Group/CollapseButton.test.tsx | 8 +- .../Custom/Group/CollapseButton.tsx | 12 +- .../Custom/Group/ContextMenuButton.test.tsx | 6 +- .../Custom/Group/ContextMenuButton.tsx | 11 +- .../Custom/Group/CustomGroupExpanded.tsx | 8 +- .../Layout/DagreGroupsExtendedLayout.ts | 32 +- .../Visualization/Custom/NoBendingEdge.tsx | 7 + .../components/Visualization/Custom/index.ts | 1 + .../flows/abstract-camel-visual-entity.ts | 16 + .../flows/camel-route-visual-entity.test.ts | 24 +- .../flows/pipe-visual-entity.test.ts | 19 + .../visualization/flows/pipe-visual-entity.ts | 2 + .../flows/support/camel-steps.service.ts | 8 +- .../visualization/visualization-node.test.ts | 8 +- packages/ui/src/stubs/camel-route-branch.ts | 34 + .../__snapshots__/nodes-edges.test.ts.snap | 4626 +++++++++++++++++ packages/ui/src/tests/nodes-edges.test.ts | 21 + 25 files changed, 6621 insertions(+), 821 deletions(-) create mode 100644 packages/ui/src/components/Visualization/Canvas/__snapshots__/canvas.service.test.ts.snap create mode 100644 packages/ui/src/components/Visualization/Custom/NoBendingEdge.tsx create mode 100644 packages/ui/src/stubs/camel-route-branch.ts create mode 100644 packages/ui/src/tests/__snapshots__/nodes-edges.test.ts.snap create mode 100644 packages/ui/src/tests/nodes-edges.test.ts diff --git a/packages/ui-tests/cypress/support/next-commands/design.ts b/packages/ui-tests/cypress/support/next-commands/design.ts index 8b946d46c..4a7ee037b 100644 --- a/packages/ui-tests/cypress/support/next-commands/design.ts +++ b/packages/ui-tests/cypress/support/next-commands/design.ts @@ -112,7 +112,7 @@ Cypress.Commands.add('selectCamelRouteType', (type: string, subType?: string) => Cypress.Commands.add('selectRuntimeVersion', (type: string) => { cy.hoverOnRuntime(type); - cy.get(`[data-testid^="runtime-selector-Camel ${type}"] button.pf-v5-c-menu__item`).click({ force: true }); + cy.get(`[data-testid^="runtime-selector-Camel ${type}"] button.pf-v5-c-menu__item`).first().click({ force: true }); cy.waitSchemasLoading(); cy.get('[data-testid="visualization-empty-state"]').should('exist'); diff --git a/packages/ui/src/components/Visualization/Canvas/CanvasFormTabs.test.tsx b/packages/ui/src/components/Visualization/Canvas/CanvasFormTabs.test.tsx index acfa0848d..9146849d2 100644 --- a/packages/ui/src/components/Visualization/Canvas/CanvasFormTabs.test.tsx +++ b/packages/ui/src/components/Visualization/Canvas/CanvasFormTabs.test.tsx @@ -114,7 +114,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const setHeaderNode = rootNode.getChildren()![0].getChildren()![0]; + const setHeaderNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', @@ -179,7 +179,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const marshalNode = rootNode.getChildren()![0].getChildren()![0]; + const marshalNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', @@ -267,7 +267,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const loadBalanceNode = rootNode.getChildren()![0].getChildren()![0]; + const loadBalanceNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', @@ -360,7 +360,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const setHeaderNode = rootNode.getChildren()![0].getChildren()![0]; + const setHeaderNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', @@ -420,7 +420,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const setHeaderNode = rootNode.getChildren()![0].getChildren()![0]; + const setHeaderNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', @@ -485,7 +485,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const marshalNode = rootNode.getChildren()![0].getChildren()![0]; + const marshalNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', @@ -535,7 +535,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const marshalNode = rootNode.getChildren()![0].getChildren()![0]; + const marshalNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', @@ -591,7 +591,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const loadBalanceNode = rootNode.getChildren()![0].getChildren()![0]; + const loadBalanceNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', @@ -641,7 +641,7 @@ describe('CanvasFormTabs', () => { } as RouteDefinition; const entity = new CamelRouteVisualEntity(camelRoute); const rootNode: IVisualizationNode = entity.toVizNode(); - const loadBalanceNode = rootNode.getChildren()![0].getChildren()![0]; + const loadBalanceNode = rootNode.getChildren()![1]; const selectedNode = { id: '1', type: 'node', diff --git a/packages/ui/src/components/Visualization/Canvas/__snapshots__/Canvas.test.tsx.snap b/packages/ui/src/components/Visualization/Canvas/__snapshots__/Canvas.test.tsx.snap index 30283f9ad..dfc273e79 100644 --- a/packages/ui/src/components/Visualization/Canvas/__snapshots__/Canvas.test.tsx.snap +++ b/packages/ui/src/components/Visualization/Canvas/__snapshots__/Canvas.test.tsx.snap @@ -684,7 +684,7 @@ exports[`Canvas should render correctly 1`] = ` data-layer-id="groups" >
- - - - - - - - - - - - - - - + - - - - +
+
+
+ +
+ + choice + +
+ +
+
+ +
+
+
+
- - - + - - - - +
+
+
+ +
+ + otherwise + +
+ +
+
+ +
+
+
+
+
+ @@ -1041,33 +1142,38 @@ exports[`Canvas should render correctly 1`] = ` - - - - + data-type="group" + > + + + + + + + + + + + +
+
+
+ +
+ + route-8888 + +
+ +
+
+ +
+
+
+
+
+
+ + + + +
+
+
+ +
+ + choice + +
+ +
+
+ +
+
+
+
+
+
+
- route-8888 + otherwise
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1686,33 +1893,38 @@ exports[`Canvas should render correctly with more routes 1`] = ` - - - - + data-type="group" + > + + + + + + + + + + + +
+
+
+ +
+ + route-8888 + +
+ +
+
+ +
+
+
+
+
+
+ + + + +
+
+
+ +
+ + choice + +
+ +
+
+ +
+
+
+
+
+
+
- route-8888 + otherwise
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2331,33 +2644,38 @@ exports[`Canvas should render the Catalog button if \`CatalogModalContext\` is p - - - - + data-type="group" + > + + + + + + + + icon

- choice + log

+
+
+ + +
+ +
+
+
+ + + +
+
+
+ +
+
+
+
+
+
+
+ + +
+ +
+
+
+
+
+
+ + + +
+
+ +
+
+ +
+
+
+
+
+ + +
+ +
+
+
+ + + +
+
+
+ +
+
+
+
+
@@ -373,17 +696,17 @@ exports[`CanvasForm should render 1`] = ` @@ -395,7 +718,7 @@ exports[`CanvasForm should render 1`] = ` aria-disabled="false" aria-label="More info for field" class="pf-v5-c-button pf-m-plain field-hint-button" - data-ouia-component-id="OUIA-Generated-Button-plain-8" + data-ouia-component-id="OUIA-Generated-Button-plain-17" data-ouia-component-type="PF5/Button" data-ouia-safe="true" data-testid="field-hint-button" @@ -436,80 +759,203 @@ exports[`CanvasForm should render 1`] = `
+
+ + +
+ +
+
+ + +
-
- - + +
-
+
+
+
+
+
+ + + +
+
+
+
-
-
+
+
+
@@ -604,7 +1050,7 @@ exports[`CanvasForm should render nothing if no schema and no definition is avai diff --git a/packages/ui/src/components/Visualization/Custom/Group/CustomGroupExpanded.tsx b/packages/ui/src/components/Visualization/Custom/Group/CustomGroupExpanded.tsx index b3fea2282..0340d9e61 100644 --- a/packages/ui/src/components/Visualization/Custom/Group/CustomGroupExpanded.tsx +++ b/packages/ui/src/components/Visualization/Custom/Group/CustomGroupExpanded.tsx @@ -113,8 +113,12 @@ export const CustomGroupExpanded: FunctionComponent = {label} - - + +
diff --git a/packages/ui/src/components/Visualization/Custom/Layout/DagreGroupsExtendedLayout.ts b/packages/ui/src/components/Visualization/Custom/Layout/DagreGroupsExtendedLayout.ts index 0fed5640d..ba67277aa 100644 --- a/packages/ui/src/components/Visualization/Custom/Layout/DagreGroupsExtendedLayout.ts +++ b/packages/ui/src/components/Visualization/Custom/Layout/DagreGroupsExtendedLayout.ts @@ -4,6 +4,7 @@ import { getGroupChildrenDimensions, Graph, GRAPH_LAYOUT_END_EVENT, + isNode, LAYOUT_DEFAULTS, LayoutGroup, Point, @@ -37,7 +38,7 @@ export class DagreGroupsExtendedLayout extends DagreGroupsLayout { (n) => n.element.getParent()?.getId() === parentGroup?.id || (!parentGroup && n.element.getParent()?.getId() === graph.getId()), - ); + ) as DagreNode[]; const layerEdges = this.edges.filter( (edge) => (layerGroups.find((n) => n.id === edge.sourceNode.id) || @@ -46,7 +47,7 @@ export class DagreGroupsExtendedLayout extends DagreGroupsLayout { layerNodes.find((n) => n.id === edge.targetNode.id)), ); - const nodesOrder: { id: string; index: number; node: ReturnType }[] = []; + const dagreNodes: DagreNode[] = []; // Layout any child groups first layerGroups.forEach((group) => { @@ -54,22 +55,21 @@ export class DagreGroupsExtendedLayout extends DagreGroupsLayout { // Add the child group node (now with the correct dimensions) to the graph const dagreNode = new DagreNode(group.element, group.padding); - const updateNode = dagreNode.getUpdatableNode(); - nodesOrder.push({ id: group.id, index: group.element.getData().index, node: updateNode }); - }); - - layerNodes?.forEach((node) => { - const updateNode = (node as DagreNode).getUpdatableNode(); - nodesOrder.push({ id: node.id, index: node.element.getData().index, node: updateNode }); + dagreNodes.push(dagreNode); }); - // Sort the nodes by their index - nodesOrder.sort((a, b) => a.index - b.index); - - // Set the nodes in the order they were sorted - nodesOrder.forEach((node) => { - dagreGraph.setNode(node.id, node.node); - }); + dagreNodes.push(...layerNodes); + + this.graph + .getController() + .getElements() + .filter((e) => isNode(e)) + .forEach((node) => { + const updateNode = dagreNodes.find((dagreNode) => dagreNode.id === node.getId()); + if (updateNode) { + dagreGraph.setNode(updateNode.id, updateNode.getUpdatableNode()); + } + }); layerEdges?.forEach((dagreEdge) => { dagreGraph.setEdge(dagreEdge.source.id, dagreEdge.target.id, dagreEdge); diff --git a/packages/ui/src/components/Visualization/Custom/NoBendingEdge.tsx b/packages/ui/src/components/Visualization/Custom/NoBendingEdge.tsx new file mode 100644 index 000000000..190fe2d2c --- /dev/null +++ b/packages/ui/src/components/Visualization/Custom/NoBendingEdge.tsx @@ -0,0 +1,7 @@ +import { BaseEdge, Point } from '@patternfly/react-topology'; + +export class NoBendpointsEdge extends BaseEdge { + getBendpoints(): Point[] { + return []; + } +} diff --git a/packages/ui/src/components/Visualization/Custom/index.ts b/packages/ui/src/components/Visualization/Custom/index.ts index 9ccc83cda..c64861e62 100644 --- a/packages/ui/src/components/Visualization/Custom/index.ts +++ b/packages/ui/src/components/Visualization/Custom/index.ts @@ -1,2 +1,3 @@ export * from './Group/CustomGroup'; +export * from './NoBendingEdge'; export * from './Node/CustomNode'; diff --git a/packages/ui/src/models/visualization/flows/abstract-camel-visual-entity.ts b/packages/ui/src/models/visualization/flows/abstract-camel-visual-entity.ts index 7093f08d8..e010275d8 100644 --- a/packages/ui/src/models/visualization/flows/abstract-camel-visual-entity.ts +++ b/packages/ui/src/models/visualization/flows/abstract-camel-visual-entity.ts @@ -236,6 +236,22 @@ export abstract class AbstractCamelVisualEntity implements Bas } routeGroupNode.addChild(fromNode); + fromNode.getChildren()?.forEach((child, index) => { + routeGroupNode.addChild(child); + if (index === 0) { + fromNode.setNextNode(child); + child.setPreviousNode(fromNode); + } + + const previousChild = fromNode.getChildren()?.[index - 1]; + if (previousChild) { + previousChild.setNextNode(child); + child.setPreviousNode(previousChild); + } + }); + fromNode.getChildren()?.splice(0); + fromNode.data.isGroup = false; + return routeGroupNode; } diff --git a/packages/ui/src/models/visualization/flows/camel-route-visual-entity.test.ts b/packages/ui/src/models/visualization/flows/camel-route-visual-entity.test.ts index 28dd2a403..d38bc71e9 100644 --- a/packages/ui/src/models/visualization/flows/camel-route-visual-entity.test.ts +++ b/packages/ui/src/models/visualization/flows/camel-route-visual-entity.test.ts @@ -272,21 +272,25 @@ describe('Camel Route', () => { /** Since this is the root node, there's no previous step */ expect(vizNode.getPreviousNode()).toBeUndefined(); expect(vizNode.getNextNode()).toBeUndefined(); - expect(vizNode.getChildren()).toHaveLength(1); + + /** from nod eand choice group */ + expect(vizNode.getChildren()).toHaveLength(2); + expect(vizNode.getChildren()?.[0].data.path).toEqual('from'); + expect(vizNode.getChildren()?.[1].data.path).toEqual('from.steps.0.choice'); /** from */ expect(fromNode.data.path).toEqual('from'); expect(fromNode.getNodeLabel()).toEqual('timer'); /** Since this is the first child node, there's no previous step */ expect(fromNode.getPreviousNode()).toBeUndefined(); - expect(fromNode.getNextNode()).toBeUndefined(); - expect(fromNode.getChildren()).toHaveLength(1); + expect(fromNode.getNextNode()).toBeDefined(); + expect(fromNode.getChildren()).toHaveLength(0); /** choice */ - const choiceNode = fromNode.getChildren()?.[0] as IVisualizationNode; + const choiceNode = vizNode.getChildren()?.[1] as IVisualizationNode; expect(choiceNode.data.path).toEqual('from.steps.0.choice'); expect(choiceNode.getNodeLabel()).toEqual('choice'); - expect(choiceNode.getPreviousNode()).toBeUndefined(); + expect(choiceNode.getPreviousNode()).toBe(fromNode); expect(choiceNode.getNextNode()).toBeUndefined(); expect(choiceNode.getChildren()).toHaveLength(1); @@ -321,21 +325,21 @@ describe('Camel Route', () => { /** Since this is the root node, there's no previous step */ expect(vizNode.getPreviousNode()).toBeUndefined(); expect(vizNode.getNextNode()).toBeUndefined(); - expect(vizNode.getChildren()).toHaveLength(1); + expect(vizNode.getChildren()).toHaveLength(4); /** from */ expect(fromNode.data.path).toEqual('from'); expect(fromNode.getNodeLabel()).toEqual('timer'); /** Since this is the first child node, there's no previous step */ expect(fromNode.getPreviousNode()).toBeUndefined(); - expect(fromNode.getNextNode()).toBeUndefined(); - expect(fromNode.getChildren()).toHaveLength(3); + expect(fromNode.getNextNode()).toBeDefined(); + expect(fromNode.getChildren()).toHaveLength(0); /** setHeader */ - const setHeaderNode = fromNode.getChildren()?.[0] as IVisualizationNode; + const setHeaderNode = vizNode.getChildren()?.[1] as IVisualizationNode; expect(setHeaderNode.data.path).toEqual('from.steps.0.set-header'); expect(setHeaderNode.getNodeLabel()).toEqual('set-header'); - expect(setHeaderNode.getPreviousNode()).toBeUndefined(); + expect(setHeaderNode.getPreviousNode()).toBe(fromNode); expect(setHeaderNode.getNextNode()).toBeDefined(); expect(setHeaderNode.getChildren()).toBeUndefined(); diff --git a/packages/ui/src/models/visualization/flows/pipe-visual-entity.test.ts b/packages/ui/src/models/visualization/flows/pipe-visual-entity.test.ts index 8c45f7fad..284f289d8 100644 --- a/packages/ui/src/models/visualization/flows/pipe-visual-entity.test.ts +++ b/packages/ui/src/models/visualization/flows/pipe-visual-entity.test.ts @@ -211,5 +211,24 @@ describe('Pipe', () => { expect(sink.getPreviousNode()).toBe(steps0); expect(sink.getNextNode()).toBeUndefined(); }); + + it('should include all steps as children of the Pipe group', () => { + const vizNode = pipeVisualEntity.toVizNode(); + + const sourceNode = vizNode.getChildren()![0]; + const stepNode = vizNode.getChildren()![1]; + const sinkNode = vizNode.getChildren()![2]; + + expect(vizNode.getChildren()).toHaveLength(3); + + expect(sourceNode.getPreviousNode()).toBeUndefined(); + expect(sourceNode.getNextNode()).toBe(stepNode); + + expect(stepNode.getPreviousNode()).toBe(sourceNode); + expect(stepNode.getNextNode()).toBe(sinkNode); + + expect(sinkNode.getPreviousNode()).toBe(stepNode); + expect(sinkNode.getNextNode()).toBeUndefined(); + }); }); }); diff --git a/packages/ui/src/models/visualization/flows/pipe-visual-entity.ts b/packages/ui/src/models/visualization/flows/pipe-visual-entity.ts index d1eb2d7e0..5fde095dc 100644 --- a/packages/ui/src/models/visualization/flows/pipe-visual-entity.ts +++ b/packages/ui/src/models/visualization/flows/pipe-visual-entity.ts @@ -221,6 +221,8 @@ export class PipeVisualEntity implements BaseVisualCamelEntity { /** If there are no steps, we link the `source` and the `sink` together */ pipeGroupNode.addChild(sourceNode); + stepNodes.forEach((stepNode) => pipeGroupNode.addChild(stepNode)); + pipeGroupNode.addChild(sinkNode); if (stepNodes.length === 0) { sourceNode.setNextNode(sinkNode); diff --git a/packages/ui/src/models/visualization/flows/support/camel-steps.service.ts b/packages/ui/src/models/visualization/flows/support/camel-steps.service.ts index 41d3aa130..eb145d74e 100644 --- a/packages/ui/src/models/visualization/flows/support/camel-steps.service.ts +++ b/packages/ui/src/models/visualization/flows/support/camel-steps.service.ts @@ -31,9 +31,15 @@ export class CamelStepsService { componentLookup.processorName as keyof ProcessorDefinition, ); + if (childrenStepsProperties.length > 0) { + vizNode.data.isGroup = true; + } + childrenStepsProperties.forEach((stepsProperty) => { const childrenVizNodes = this.getVizNodesFromChildren(path, stepsProperty, entityDefinition); - childrenVizNodes.forEach((childVizNode) => vizNode.addChild(childVizNode)); + childrenVizNodes.forEach((childVizNode) => { + vizNode.addChild(childVizNode); + }); }); return vizNode; diff --git a/packages/ui/src/models/visualization/visualization-node.test.ts b/packages/ui/src/models/visualization/visualization-node.test.ts index 12bdad6d0..1a9fc98f8 100644 --- a/packages/ui/src/models/visualization/visualization-node.test.ts +++ b/packages/ui/src/models/visualization/visualization-node.test.ts @@ -180,7 +180,7 @@ describe('VisualizationNode', () => { const fromNode = node.getChildren()?.[0]; /** Get set-header node */ - const setHeaderNode = fromNode!.getChildren()?.[0]; + const setHeaderNode = node.getChildren()?.[1]; /** Remove set-header node */ setHeaderNode!.removeChild(); @@ -189,8 +189,10 @@ describe('VisualizationNode', () => { node = camelRouteVisualEntityStub.toVizNode(); expect(node.getChildren()?.[0].getNodeLabel()).toEqual('timer'); - expect(fromNode!.getChildren()?.[0].getNodeLabel()).toEqual('choice-1234'); - expect(fromNode!.getChildren()).toHaveLength(2); + expect(node.getChildren()?.[1].getNodeLabel()).toEqual('choice'); + expect(node.getChildren()?.[2].getNodeLabel()).toEqual('direct'); + expect(node.getChildren()).toHaveLength(3); + expect(fromNode!.getChildren()).toHaveLength(0); }); }); diff --git a/packages/ui/src/stubs/camel-route-branch.ts b/packages/ui/src/stubs/camel-route-branch.ts new file mode 100644 index 000000000..26a2fc1c4 --- /dev/null +++ b/packages/ui/src/stubs/camel-route-branch.ts @@ -0,0 +1,34 @@ +import { parse } from 'yaml'; + +export const camelRouteBranch = parse(` +- route: + id: route-2768 + from: + id: from-4014 + uri: timer:template + parameters: + period: "1000" + steps: + - choice: + id: choice-3431 + otherwise: + id: otherwise-3653 + steps: + - log: + id: log-6808 + message: \${body} + when: + - id: when-4112 + steps: + - setHeader: + id: setHeader-6078 + expression: + simple: {} + expression: + simple: + expression: \${header.foo} == 1 + - to: + id: to-3757 + uri: sql + parameters: {} +`); diff --git a/packages/ui/src/tests/__snapshots__/nodes-edges.test.ts.snap b/packages/ui/src/tests/__snapshots__/nodes-edges.test.ts.snap new file mode 100644 index 000000000..07d25688f --- /dev/null +++ b/packages/ui/src/tests/__snapshots__/nodes-edges.test.ts.snap @@ -0,0 +1,4626 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Nodes and Edges should generate edges for steps with branches 1`] = ` +[ + { + "data": { + "vizNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + [Circular], + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": [Circular], + }, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": [Circular], + }, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + "parentNode": [Circular], + "previousNode": [Circular], + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": [Circular], + }, + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + "height": 75, + "id": "timer-1234", + "parentNode": "route-2768-1234", + "shape": "rect", + "type": "node", + "width": 75, + }, + { + "data": { + "vizNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": [Circular], + }, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + "height": 75, + "id": "setHeader-1234", + "parentNode": "when-1234", + "shape": "rect", + "type": "node", + "width": 75, + }, + { + "children": [ + "setHeader-1234", + ], + "data": { + "vizNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": [Circular], + }, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + "previousNode": undefined, + }, + }, + "group": true, + "id": "when-1234", + "label": "when-1234", + "parentNode": "choice-1234", + "style": { + "padding": 60, + }, + "type": "group", + }, + { + "data": { + "vizNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": [Circular], + }, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + "height": 75, + "id": "log-1234", + "parentNode": "otherwise-1234", + "shape": "rect", + "type": "node", + "width": 75, + }, + { + "children": [ + "log-1234", + ], + "data": { + "vizNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": [Circular], + }, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + "previousNode": undefined, + }, + }, + "group": true, + "id": "otherwise-1234", + "label": "otherwise-1234", + "parentNode": "choice-1234", + "style": { + "padding": 60, + }, + "type": "group", + }, + { + "children": [ + "when-1234", + "otherwise-1234", + ], + "data": { + "vizNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": [Circular], + }, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + [Circular], + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + }, + "group": true, + "id": "choice-1234", + "label": "choice-1234", + "parentNode": "route-2768-1234", + "style": { + "padding": 60, + }, + "type": "group", + }, + { + "data": { + "vizNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": [Circular], + }, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + }, + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": [Circular], + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + [Circular], + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + [Circular], + [Circular], + [Circular], + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + "previousNode": undefined, + }, + }, + }, + }, + "height": 75, + "id": "sql-1234", + "parentNode": "route-2768-1234", + "shape": "rect", + "type": "node", + "width": 75, + }, + { + "children": [ + "timer-1234", + "choice-1234", + "sql-1234", + ], + "data": { + "vizNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + "parentNode": [Circular], + "previousNode": [Circular], + }, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": [Circular], + }, + "parentNode": [Circular], + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": "sql", + "icon": "", + "path": "from.steps.1.to", + "processorName": "to", + }, + "id": "sql-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.when.0.steps.0.setHeader", + "processorName": "setHeader", + }, + "id": "setHeader-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.when.0", + "processorName": "when", + }, + "id": "when-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [ + VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "data": { + "componentName": undefined, + "icon": "", + "path": "from.steps.0.choice.otherwise.steps.0.log", + "processorName": "log", + }, + "id": "log-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice.otherwise", + "processorName": "otherwise", + }, + "id": "otherwise-1234", + "nextNode": undefined, + "parentNode": [Circular], + "previousNode": undefined, + }, + ], + "data": { + "componentName": undefined, + "icon": "", + "isGroup": true, + "path": "from.steps.0.choice", + "processorName": "choice", + }, + "id": "choice-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": VisualizationNode { + "DISABLED_NODE_INTERACTION": { + "canBeDisabled": false, + "canHaveChildren": false, + "canHaveNextStep": false, + "canHavePreviousStep": false, + "canHaveSpecialChildren": false, + "canRemoveFlow": false, + "canRemoveStep": false, + "canReplaceStep": false, + }, + "children": [], + "data": { + "componentName": "timer", + "icon": "", + "isGroup": false, + "path": "from", + "processorName": "from", + }, + "id": "timer-1234", + "nextNode": [Circular], + "parentNode": [Circular], + "previousNode": undefined, + }, + }, + }, + ], + "data": { + "entity": { + "route": { + "from": { + "id": "from-4014", + "parameters": { + "period": "1000", + }, + "steps": [ + { + "choice": { + "id": "choice-3431", + "otherwise": { + "id": "otherwise-3653", + "steps": [ + { + "log": { + "id": "log-6808", + "message": "\${body}", + }, + }, + ], + }, + "when": [ + { + "expression": { + "simple": { + "expression": "\${header.foo} == 1", + }, + }, + "id": "when-4112", + "steps": [ + { + "setHeader": { + "expression": { + "simple": {}, + }, + "id": "setHeader-6078", + }, + }, + ], + }, + ], + }, + }, + { + "to": { + "id": "to-3757", + "parameters": {}, + "uri": "sql", + }, + }, + ], + "uri": "timer:template", + }, + "id": "route-2768", + }, + }, + "icon": "", + "isGroup": true, + "path": "#", + "processorName": "route", + }, + "id": "route-2768-1234", + "nextNode": undefined, + "parentNode": undefined, + "previousNode": undefined, + }, + }, + "group": true, + "id": "route-2768-1234", + "label": "route-2768-1234", + "parentNode": undefined, + "style": { + "padding": 60, + }, + "type": "group", + }, +] +`; + +exports[`Nodes and Edges should generate edges for steps with branches 2`] = ` +[ + { + "edgeStyle": "solid", + "id": "timer-1234-to-choice-1234", + "source": "timer-1234", + "target": "choice-1234", + "type": "edge", + }, + { + "edgeStyle": "solid", + "id": "choice-1234-to-sql-1234", + "source": "choice-1234", + "target": "sql-1234", + "type": "edge", + }, +] +`; diff --git a/packages/ui/src/tests/nodes-edges.test.ts b/packages/ui/src/tests/nodes-edges.test.ts new file mode 100644 index 000000000..0d76696e1 --- /dev/null +++ b/packages/ui/src/tests/nodes-edges.test.ts @@ -0,0 +1,21 @@ +import { CamelRouteResource } from '../models/camel'; +import { CanvasService } from '../components/Visualization/Canvas/canvas.service'; +import { camelRouteBranch } from '../stubs/camel-route-branch'; + +describe('Nodes and Edges', () => { + beforeEach(() => { + CanvasService.nodes = []; + CanvasService.edges = []; + }); + + it('should generate edges for steps with branches', () => { + const camelResource = new CamelRouteResource(camelRouteBranch); + const [camelRoute] = camelResource.getVisualEntities(); + + const rootVizNode = camelRoute.toVizNode(); + const { nodes, edges } = CanvasService.getFlowDiagram(rootVizNode); + + expect(nodes).toMatchSnapshot(); + expect(edges).toMatchSnapshot(); + }); +});