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

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


The following commit(s) were added to refs/heads/main by this push:
     new 6826b9e3 Fix #688 and #687
6826b9e3 is described below

commit 6826b9e3ad1e53e2c16b0dafdef62116e792d256
Author: Marat Gubaidullin <marat.gubaidul...@gmail.com>
AuthorDate: Thu Mar 16 09:58:57 2023 -0400

    Fix #688 and #687
---
 .../src/designer/route/RouteDesignerLogic.tsx            | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/karavan-designer/src/designer/route/RouteDesignerLogic.tsx 
b/karavan-designer/src/designer/route/RouteDesignerLogic.tsx
index 252942c1..92d1f414 100644
--- a/karavan-designer/src/designer/route/RouteDesignerLogic.tsx
+++ b/karavan-designer/src/designer/route/RouteDesignerLogic.tsx
@@ -18,7 +18,7 @@ import React from 'react';
 import '../karavan.css';
 import {DslMetaModel} from "../utils/DslMetaModel";
 import {CamelUtil} from "karavan-core/lib/api/CamelUtil";
-import {FromDefinition, RouteConfigurationDefinition, RouteDefinition} from 
"karavan-core/lib/model/CamelDefinition";
+import {ChoiceDefinition, FromDefinition, LogDefinition, 
RouteConfigurationDefinition, RouteDefinition} from 
"karavan-core/lib/model/CamelDefinition";
 import {CamelElement, Integration} from 
"karavan-core/lib/model/IntegrationDefinition";
 import {CamelDefinitionApiExt} from 
"karavan-core/lib/api/CamelDefinitionApiExt";
 import {CamelDefinitionApi} from "karavan-core/lib/api/CamelDefinitionApi";
@@ -293,11 +293,23 @@ export class RouteDesignerLogic {
                 break;
             default:
                 const step = CamelDefinitionApi.createStep(dsl.dsl, undefined);
-                this.addStep(step, parentId, position)
+                const augmentedStep = this.setDslDefaults(step);
+                this.addStep(augmentedStep, parentId, position)
                 break;
         }
     }
 
+    setDslDefaults(step: CamelElement): CamelElement {
+        if (step.dslName === 'LogDefinition') {
+            (step as LogDefinition).message = '${body}'
+        }
+        if (step.dslName === 'ChoiceDefinition') {
+            (step as 
ChoiceDefinition).when?.push(CamelDefinitionApi.createStep('WhenDefinition', 
undefined));
+            (step as ChoiceDefinition).otherwise = 
CamelDefinitionApi.createStep('OtherwiseDefinition', undefined);
+        }
+        return step;
+    }
+
     createRouteConfiguration = () => {
         const clone = 
CamelUtil.cloneIntegration(this.routeDesigner.state.integration);
         const routeConfiguration = new RouteConfigurationDefinition();

Reply via email to