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 149739da Fix #1437 149739da is described below commit 149739da01f6f555e85cebbd84568e3fc27c994f Author: Marat Gubaidullin <ma...@talismancloud.io> AuthorDate: Wed Nov 6 16:52:31 2024 -0500 Fix #1437 --- .../kamelet/KameletDefinitionPropertyCard.tsx | 4 -- .../webui/src/designer/property/DslProperties.tsx | 2 +- .../src/designer/property/usePropertiesHook.tsx | 1 - .../src/designer/route/element/DslElement.tsx | 2 +- karavan-core/src/core/api/CamelDefinitionYaml.ts | 2 +- karavan-designer/package.json | 14 +++--- karavan-designer/public/example/demo.camel.yaml | 50 +++++++++------------- .../kamelet/KameletDefinitionPropertyCard.tsx | 4 -- .../src/designer/property/DslProperties.tsx | 2 +- .../src/designer/property/usePropertiesHook.tsx | 1 - .../src/designer/route/element/DslElement.tsx | 2 +- .../kamelet/KameletDefinitionPropertyCard.tsx | 4 -- .../src/designer/property/DslProperties.tsx | 2 +- .../src/designer/property/usePropertiesHook.tsx | 1 - .../src/designer/route/element/DslElement.tsx | 2 +- 15 files changed, 33 insertions(+), 60 deletions(-) diff --git a/karavan-app/src/main/webui/src/designer/kamelet/KameletDefinitionPropertyCard.tsx b/karavan-app/src/main/webui/src/designer/kamelet/KameletDefinitionPropertyCard.tsx index faf7c2bd..7d1e7d27 100644 --- a/karavan-app/src/main/webui/src/designer/kamelet/KameletDefinitionPropertyCard.tsx +++ b/karavan-app/src/main/webui/src/designer/kamelet/KameletDefinitionPropertyCard.tsx @@ -99,16 +99,12 @@ export function KameletDefinitionPropertyCard(props: Props) { const i = CamelUtil.cloneIntegration(integration); if (i.spec.definition && integration.spec.definition?.properties[key]) { const enums: string [] = i.spec.definition.properties[key].enum; - console.log(enums) if (enums && Array.isArray(enums)) { - console.log("isArray") const from = enums.findIndex(e => source); const to = enums.findIndex(e => dest); if (from > -1 && to > -1) { - console.log("exchange"); [enums[from], enums[to]] = [enums[to], enums[from]]; i.spec.definition.properties[key].enum = enums; - console.log("i.spec.definition.properties[key].enum", i.spec.definition.properties[key].enum); setIntegration(i, true); } } diff --git a/karavan-app/src/main/webui/src/designer/property/DslProperties.tsx b/karavan-app/src/main/webui/src/designer/property/DslProperties.tsx index e248d998..63a7960d 100644 --- a/karavan-app/src/main/webui/src/designer/property/DslProperties.tsx +++ b/karavan-app/src/main/webui/src/designer/property/DslProperties.tsx @@ -95,7 +95,7 @@ export function DslProperties(props: Props) { return CamelDefinitionApiExt.getElementProperties(dslName) .filter((p: PropertyMeta) => p.name !== 'uri') // do not show uri // .filer((p: PropertyMeta) => (showAdvanced && p.label.includes('advanced')) || (!showAdvanced && !p.label.includes('advanced'))) - .filter((p: PropertyMeta) => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (dslName === 'CatchDefinition' && p.name === 'onWhen')) + .filter((p: PropertyMeta) => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (p.name === 'onWhen')) .filter((p: PropertyMeta) => !(dslName === 'RestDefinition' && ['get', 'post', 'put', 'patch', 'delete', 'head'].includes(p.name))); // .filter((p: PropertyMeta) => dslName && !(['RestDefinition', 'GetDefinition', 'PostDefinition', 'PutDefinition', 'PatchDefinition', 'DeleteDefinition', 'HeadDefinition'].includes(dslName) && ['param', 'responseMessage'].includes(p.name))) // TODO: configure this properties } diff --git a/karavan-app/src/main/webui/src/designer/property/usePropertiesHook.tsx b/karavan-app/src/main/webui/src/designer/property/usePropertiesHook.tsx index 5c8e38b4..2d806c0d 100644 --- a/karavan-app/src/main/webui/src/designer/property/usePropertiesHook.tsx +++ b/karavan-app/src/main/webui/src/designer/property/usePropertiesHook.tsx @@ -177,7 +177,6 @@ export function usePropertiesHook(designerType: 'routes' | 'rest' | 'beans' = 'r } const convertStep = (step: CamelElement, targetDslName: string) => { - console.log(targetDslName) try { // setSelectedStep(undefined); if (targetDslName === 'ChoiceDefinition' && step.dslName === 'FilterDefinition') { diff --git a/karavan-app/src/main/webui/src/designer/route/element/DslElement.tsx b/karavan-app/src/main/webui/src/designer/route/element/DslElement.tsx index d5acb0c0..15af1ac8 100644 --- a/karavan-app/src/main/webui/src/designer/route/element/DslElement.tsx +++ b/karavan-app/src/main/webui/src/designer/route/element/DslElement.tsx @@ -183,7 +183,7 @@ export function DslElement(props: Props) { } else { children = children.filter(child => child.className === 'FromDefinition') } - if (step.dslName === 'CatchDefinition') { // exception + if (['CatchDefinition', 'OnExceptionDefinition', 'OnCompletionDefinition', 'Resilience4jConfigurationDefinition'].includes(step.dslName)) { // exception children = children.filter(value => value.name !== 'onWhen') } return ( diff --git a/karavan-core/src/core/api/CamelDefinitionYaml.ts b/karavan-core/src/core/api/CamelDefinitionYaml.ts index 08986acc..5852eb8e 100644 --- a/karavan-core/src/core/api/CamelDefinitionYaml.ts +++ b/karavan-core/src/core/api/CamelDefinitionYaml.ts @@ -107,7 +107,7 @@ export class CamelDefinitionYaml { if (object.constructors && CamelDefinitionYaml.isEmptyObject(object.constructors)) { delete object.constructors; } - } else if (object.dslName === 'CatchDefinition' && object?.onWhen?.stepName !== undefined) { + } else if (['CatchDefinition', 'OnExceptionDefinition', 'OnCompletionDefinition', 'Resilience4jConfigurationDefinition'].includes(object.dslName) && object?.onWhen?.stepName !== undefined) { object.onWhen.stepName = 'onWhen'; // https://github.com/apache/camel-karavan/issues/1420 } diff --git a/karavan-designer/package.json b/karavan-designer/package.json index 82df8a30..0b1c218a 100644 --- a/karavan-designer/package.json +++ b/karavan-designer/package.json @@ -9,11 +9,7 @@ "serve": "vite preview" }, "proxy": "http://localhost:8080/", - "eslintConfig": { - "extends": [ - "react-app" - ] - }, + "eslintConfig": {}, "browserslist": { "production": [ ">0.2%", @@ -51,10 +47,10 @@ "@types/node": "20.14.8", "@types/react": "^18.3.5", "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "@vitejs/plugin-react": "^4.3.1", - "eslint": "^8.57.0", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", + "@vitejs/plugin-react": "^4.3.3", + "eslint": "^9.14.0", "monaco-editor": "^0.51.0", "typescript": "4.9.5", "vite": "^5.4.8", diff --git a/karavan-designer/public/example/demo.camel.yaml b/karavan-designer/public/example/demo.camel.yaml index 1b6a15c3..4f0fef86 100644 --- a/karavan-designer/public/example/demo.camel.yaml +++ b/karavan-designer/public/example/demo.camel.yaml @@ -1,36 +1,28 @@ - route: - id: route-8a40 - nodePrefixId: route-78f + id: route-46e9 + nodePrefixId: route-5ec from: - id: from-674b + id: from-f789 uri: timer parameters: - timerName: name + timerName: test steps: - - toD: - id: to-55df - description: Send file - uri: file - parameters: - directoryName: ${variable.dir} - fileName: ${variable.fileName} - - filter: - id: filter-6e45 + - log: + id: log-eafe + message: ${body} +- routeConfiguration: + onException: + - onException: + id: onException-6e74 + exception: + - java.lang.NullPointerException + onWhen: + id: when-5940 expression: groovy: - id: groovy-672e - - choice: - id: choice-c008 - when: - - id: when-5e7a - expression: - groovy: - id: groovy-d744 - otherwise: - id: otherwise-a012 - - to: - id: to-5276 - uri: aws-bedrock-agent-runtime - - toD: - id: to-f1dd - uri: sql + id: groovy-d30d + expression: "true" + steps: + - log: + id: log-eae0 + message: error diff --git a/karavan-designer/src/designer/kamelet/KameletDefinitionPropertyCard.tsx b/karavan-designer/src/designer/kamelet/KameletDefinitionPropertyCard.tsx index faf7c2bd..7d1e7d27 100644 --- a/karavan-designer/src/designer/kamelet/KameletDefinitionPropertyCard.tsx +++ b/karavan-designer/src/designer/kamelet/KameletDefinitionPropertyCard.tsx @@ -99,16 +99,12 @@ export function KameletDefinitionPropertyCard(props: Props) { const i = CamelUtil.cloneIntegration(integration); if (i.spec.definition && integration.spec.definition?.properties[key]) { const enums: string [] = i.spec.definition.properties[key].enum; - console.log(enums) if (enums && Array.isArray(enums)) { - console.log("isArray") const from = enums.findIndex(e => source); const to = enums.findIndex(e => dest); if (from > -1 && to > -1) { - console.log("exchange"); [enums[from], enums[to]] = [enums[to], enums[from]]; i.spec.definition.properties[key].enum = enums; - console.log("i.spec.definition.properties[key].enum", i.spec.definition.properties[key].enum); setIntegration(i, true); } } diff --git a/karavan-designer/src/designer/property/DslProperties.tsx b/karavan-designer/src/designer/property/DslProperties.tsx index e248d998..63a7960d 100644 --- a/karavan-designer/src/designer/property/DslProperties.tsx +++ b/karavan-designer/src/designer/property/DslProperties.tsx @@ -95,7 +95,7 @@ export function DslProperties(props: Props) { return CamelDefinitionApiExt.getElementProperties(dslName) .filter((p: PropertyMeta) => p.name !== 'uri') // do not show uri // .filer((p: PropertyMeta) => (showAdvanced && p.label.includes('advanced')) || (!showAdvanced && !p.label.includes('advanced'))) - .filter((p: PropertyMeta) => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (dslName === 'CatchDefinition' && p.name === 'onWhen')) + .filter((p: PropertyMeta) => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (p.name === 'onWhen')) .filter((p: PropertyMeta) => !(dslName === 'RestDefinition' && ['get', 'post', 'put', 'patch', 'delete', 'head'].includes(p.name))); // .filter((p: PropertyMeta) => dslName && !(['RestDefinition', 'GetDefinition', 'PostDefinition', 'PutDefinition', 'PatchDefinition', 'DeleteDefinition', 'HeadDefinition'].includes(dslName) && ['param', 'responseMessage'].includes(p.name))) // TODO: configure this properties } diff --git a/karavan-designer/src/designer/property/usePropertiesHook.tsx b/karavan-designer/src/designer/property/usePropertiesHook.tsx index 5c8e38b4..2d806c0d 100644 --- a/karavan-designer/src/designer/property/usePropertiesHook.tsx +++ b/karavan-designer/src/designer/property/usePropertiesHook.tsx @@ -177,7 +177,6 @@ export function usePropertiesHook(designerType: 'routes' | 'rest' | 'beans' = 'r } const convertStep = (step: CamelElement, targetDslName: string) => { - console.log(targetDslName) try { // setSelectedStep(undefined); if (targetDslName === 'ChoiceDefinition' && step.dslName === 'FilterDefinition') { diff --git a/karavan-designer/src/designer/route/element/DslElement.tsx b/karavan-designer/src/designer/route/element/DslElement.tsx index d5acb0c0..15af1ac8 100644 --- a/karavan-designer/src/designer/route/element/DslElement.tsx +++ b/karavan-designer/src/designer/route/element/DslElement.tsx @@ -183,7 +183,7 @@ export function DslElement(props: Props) { } else { children = children.filter(child => child.className === 'FromDefinition') } - if (step.dslName === 'CatchDefinition') { // exception + if (['CatchDefinition', 'OnExceptionDefinition', 'OnCompletionDefinition', 'Resilience4jConfigurationDefinition'].includes(step.dslName)) { // exception children = children.filter(value => value.name !== 'onWhen') } return ( diff --git a/karavan-space/src/designer/kamelet/KameletDefinitionPropertyCard.tsx b/karavan-space/src/designer/kamelet/KameletDefinitionPropertyCard.tsx index faf7c2bd..7d1e7d27 100644 --- a/karavan-space/src/designer/kamelet/KameletDefinitionPropertyCard.tsx +++ b/karavan-space/src/designer/kamelet/KameletDefinitionPropertyCard.tsx @@ -99,16 +99,12 @@ export function KameletDefinitionPropertyCard(props: Props) { const i = CamelUtil.cloneIntegration(integration); if (i.spec.definition && integration.spec.definition?.properties[key]) { const enums: string [] = i.spec.definition.properties[key].enum; - console.log(enums) if (enums && Array.isArray(enums)) { - console.log("isArray") const from = enums.findIndex(e => source); const to = enums.findIndex(e => dest); if (from > -1 && to > -1) { - console.log("exchange"); [enums[from], enums[to]] = [enums[to], enums[from]]; i.spec.definition.properties[key].enum = enums; - console.log("i.spec.definition.properties[key].enum", i.spec.definition.properties[key].enum); setIntegration(i, true); } } diff --git a/karavan-space/src/designer/property/DslProperties.tsx b/karavan-space/src/designer/property/DslProperties.tsx index e248d998..63a7960d 100644 --- a/karavan-space/src/designer/property/DslProperties.tsx +++ b/karavan-space/src/designer/property/DslProperties.tsx @@ -95,7 +95,7 @@ export function DslProperties(props: Props) { return CamelDefinitionApiExt.getElementProperties(dslName) .filter((p: PropertyMeta) => p.name !== 'uri') // do not show uri // .filer((p: PropertyMeta) => (showAdvanced && p.label.includes('advanced')) || (!showAdvanced && !p.label.includes('advanced'))) - .filter((p: PropertyMeta) => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (dslName === 'CatchDefinition' && p.name === 'onWhen')) + .filter((p: PropertyMeta) => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (p.name === 'onWhen')) .filter((p: PropertyMeta) => !(dslName === 'RestDefinition' && ['get', 'post', 'put', 'patch', 'delete', 'head'].includes(p.name))); // .filter((p: PropertyMeta) => dslName && !(['RestDefinition', 'GetDefinition', 'PostDefinition', 'PutDefinition', 'PatchDefinition', 'DeleteDefinition', 'HeadDefinition'].includes(dslName) && ['param', 'responseMessage'].includes(p.name))) // TODO: configure this properties } diff --git a/karavan-space/src/designer/property/usePropertiesHook.tsx b/karavan-space/src/designer/property/usePropertiesHook.tsx index 5c8e38b4..2d806c0d 100644 --- a/karavan-space/src/designer/property/usePropertiesHook.tsx +++ b/karavan-space/src/designer/property/usePropertiesHook.tsx @@ -177,7 +177,6 @@ export function usePropertiesHook(designerType: 'routes' | 'rest' | 'beans' = 'r } const convertStep = (step: CamelElement, targetDslName: string) => { - console.log(targetDslName) try { // setSelectedStep(undefined); if (targetDslName === 'ChoiceDefinition' && step.dslName === 'FilterDefinition') { diff --git a/karavan-space/src/designer/route/element/DslElement.tsx b/karavan-space/src/designer/route/element/DslElement.tsx index d5acb0c0..15af1ac8 100644 --- a/karavan-space/src/designer/route/element/DslElement.tsx +++ b/karavan-space/src/designer/route/element/DslElement.tsx @@ -183,7 +183,7 @@ export function DslElement(props: Props) { } else { children = children.filter(child => child.className === 'FromDefinition') } - if (step.dslName === 'CatchDefinition') { // exception + if (['CatchDefinition', 'OnExceptionDefinition', 'OnCompletionDefinition', 'Resilience4jConfigurationDefinition'].includes(step.dslName)) { // exception children = children.filter(value => value.name !== 'onWhen') } return (