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 0d0e1dc Bean slector for ref (#183)
0d0e1dc is described below
commit 0d0e1dcc5d4f23c735f8b1d2f7732f2882973d3b
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Thu Feb 10 17:33:54 2022 -0500
Bean slector for ref (#183)
---
karavan-core/src/core/api/CamelDefinitionApiExt.ts | 15 +++++----
karavan-core/src/core/api/CamelDefinitionYaml.ts | 6 ++--
karavan-core/src/core/api/CamelUtil.ts | 6 ++--
karavan-core/src/core/model/CamelDefinition.ts | 13 +-------
.../src/designer/beans/BeanProperties.tsx | 23 ++++----------
.../src/designer/beans/BeansDesigner.tsx | 18 +++++------
.../src/designer/field/DataFormatField.tsx | 4 ++-
.../src/designer/field/DslPropertyField.tsx | 36 +++++++++++++++++++---
.../src/designer/field/ExpressionField.tsx | 4 ++-
.../src/designer/field/ObjectField.tsx | 4 ++-
karavan-designer/src/designer/karavan.css | 8 ++---
.../src/designer/route/DslProperties.tsx | 2 ++
karavan-designer/src/designer/utils/CamelUi.ts | 8 ++---
.../src/main/resources/CamelDefinition.header.ts | 11 -------
14 files changed, 82 insertions(+), 76 deletions(-)
diff --git a/karavan-core/src/core/api/CamelDefinitionApiExt.ts
b/karavan-core/src/core/api/CamelDefinitionApiExt.ts
index 1197f73..348a688 100644
--- a/karavan-core/src/core/api/CamelDefinitionApiExt.ts
+++ b/karavan-core/src/core/api/CamelDefinitionApiExt.ts
@@ -18,7 +18,7 @@ import {CamelMetadataApi, ElementMeta, Languages,
PropertyMeta} from "../model/C
import {ComponentApi} from "./ComponentApi";
import {CamelUtil} from "./CamelUtil";
import {
- Bean, Beans,
+ NamedBeanDefinition, Beans,
CamelElement, CamelElementMeta,
ExpressionDefinition,
Integration, RouteDefinition
@@ -43,8 +43,11 @@ export class CamelDefinitionApiExt {
if (step.dslName === 'RouteDefinition') {
integration.spec.flows?.push(step as RouteDefinition);
} else {
- const flows =
CamelDefinitionApiExt.addStepToSteps(integration.spec.flows || [], step,
parentId, position);
- integration.spec.flows = flows as RouteDefinition[];
+ const flows: any[] = [];
+ integration.spec.flows?.filter(flow => flow.dslName ===
'Beans').forEach(bean => flows.push(bean));
+ const routes =
CamelDefinitionApiExt.addStepToSteps(integration.spec.flows?.filter(flow =>
flow.dslName === 'RouteDefinition') || [], step, parentId, position);
+ flows.push(...routes);
+ integration.spec.flows = flows;
}
return integration;
}
@@ -184,7 +187,7 @@ export class CamelDefinitionApiExt {
return result
}
- static addBeanToIntegration = (integration: Integration, bean: Bean):
Integration => {
+ static addBeanToIntegration = (integration: Integration, bean:
NamedBeanDefinition): Integration => {
const flows: any[] = [];
if (integration.spec.flows?.filter(flow => flow.dslName ===
'Beans').length === 0) {
flows.push(...integration.spec.flows);
@@ -192,7 +195,7 @@ export class CamelDefinitionApiExt {
} else {
flows.push(...integration.spec.flows?.filter(flow => flow.dslName
!== 'Beans') || []);
integration.spec.flows?.filter(flow => flow.dslName ===
'Beans').forEach(flow => {
- const beans: Bean[] = [];
+ const beans: NamedBeanDefinition[] = [];
if ((flow as Beans).beans.filter(b => b.uuid ===
bean.uuid).length === 0){
beans.push(...(flow as Beans).beans.filter(b => b.uuid !==
bean.uuid));
beans.push(bean);
@@ -210,7 +213,7 @@ export class CamelDefinitionApiExt {
return integration;
}
- static deleteBeanFromIntegration = (integration: Integration, bean?:
Bean): Integration => {
+ static deleteBeanFromIntegration = (integration: Integration, bean?:
NamedBeanDefinition): Integration => {
const flows: any[] = [];
integration.spec.flows?.forEach(flow => {
if (flow.dslName === 'Beans') {
diff --git a/karavan-core/src/core/api/CamelDefinitionYaml.ts
b/karavan-core/src/core/api/CamelDefinitionYaml.ts
index 0587dc0..5488458 100644
--- a/karavan-core/src/core/api/CamelDefinitionYaml.ts
+++ b/karavan-core/src/core/api/CamelDefinitionYaml.ts
@@ -17,7 +17,7 @@
import * as yaml from 'js-yaml';
import {
Integration,
- CamelElement, RouteDefinition, Bean, Beans,
+ CamelElement, RouteDefinition, NamedBeanDefinition, Beans,
} from "../model/CamelDefinition";
import {CamelUtil} from "./CamelUtil";
import {CamelDefinitionYamlStep} from "./CamelDefinitionYamlStep";
@@ -48,7 +48,7 @@ export class CamelDefinitionYaml {
delete object.expressionName;
} else if (object.dslName.endsWith('DataFormat')) {
delete object.dataFormatName;
- } else if (object.dslName = 'Bean') {
+ } else if (object.dslName = 'NamedBeanDefinition') {
if (object.properties && Object.keys(object.properties).length ===
0) delete object.properties;
}
delete object.uuid;
@@ -150,7 +150,7 @@ export class CamelDefinitionYaml {
})
}
b.properties = props;
- result.beans.push(new Bean(b))
+ result.beans.push(new NamedBeanDefinition(b))
})
return result;
}
diff --git a/karavan-core/src/core/api/CamelUtil.ts
b/karavan-core/src/core/api/CamelUtil.ts
index 484c7fb..71d9b96 100644
--- a/karavan-core/src/core/api/CamelUtil.ts
+++ b/karavan-core/src/core/api/CamelUtil.ts
@@ -16,7 +16,7 @@
*/
import {
Integration,
- CamelElement, Bean, Beans,
+ CamelElement, NamedBeanDefinition, Beans,
} from "../model/CamelDefinition";
import {CamelDefinitionApi} from "./CamelDefinitionApi";
@@ -43,9 +43,9 @@ export class CamelUtil {
return CamelDefinitionApi.createStep(step.dslName, clone, true);
}
- static cloneBean = (bean: Bean): Bean => {
+ static cloneBean = (bean: NamedBeanDefinition): NamedBeanDefinition => {
const clone = JSON.parse(JSON.stringify(bean));
- const newBean = new Bean(clone);
+ const newBean = new NamedBeanDefinition(clone);
newBean.uuid = bean.uuid;
return newBean;
}
diff --git a/karavan-core/src/core/model/CamelDefinition.ts
b/karavan-core/src/core/model/CamelDefinition.ts
index 6e22563..84a11b0 100644
--- a/karavan-core/src/core/model/CamelDefinition.ts
+++ b/karavan-core/src/core/model/CamelDefinition.ts
@@ -54,7 +54,7 @@ export class CamelElement {
}
export class Beans extends CamelElement {
- beans: Bean[] = []
+ beans: NamedBeanDefinition[] = []
public constructor(init?: Partial<Beans>) {
super("Beans")
@@ -62,17 +62,6 @@ export class Beans extends CamelElement {
}
}
-export class Bean extends CamelElement {
- name: string = ''
- type: string = ''
- properties: any
-
- public constructor(init?: Partial<Bean>) {
- super("Bean")
- Object.assign(this, init);
- }
-}
-
export class CamelElementMeta {
step?: CamelElement
parentUuid?: string
diff --git a/karavan-designer/src/designer/beans/BeanProperties.tsx
b/karavan-designer/src/designer/beans/BeanProperties.tsx
index ad6b578..14fa152 100644
--- a/karavan-designer/src/designer/beans/BeanProperties.tsx
+++ b/karavan-designer/src/designer/beans/BeanProperties.tsx
@@ -18,26 +18,15 @@ import React from 'react';
import {
Form,
FormGroup,
- TextInput,
- Text,
- Title,
- TextVariants, Button,
+ TextInput, Button,
} from '@patternfly/react-core';
import '../karavan.css';
import "@patternfly/patternfly/patternfly.css";
-import {DataFormatField} from "../field/DataFormatField";
-import {DslPropertyField} from "../field/DslPropertyField";
import {
- CamelElement,
Integration,
- ExpressionDefinition,
- DataFormatDefinition, Bean
+ NamedBeanDefinition,
} from "karavan-core/lib/model/CamelDefinition";
-import {CamelDefinitionApiExt} from
"karavan-core/lib/api/CamelDefinitionApiExt";
-import {ComponentApi} from "karavan-core/lib/api/ComponentApi";
import {CamelUtil} from "karavan-core/lib/api/CamelUtil";
-import {CamelUi} from "../utils/CamelUi";
-import {CamelMetadataApi, PropertyMeta} from
"karavan-core/lib/model/CamelMetadata";
import {v4 as uuidv4} from "uuid";
import DeleteIcon from "@patternfly/react-icons/dist/js/icons/times-icon";
import AddIcon from "@patternfly/react-icons/dist/js/icons/plus-circle-icon";
@@ -45,13 +34,13 @@ import {IntegrationHeader} from
"../utils/KaravanComponents";
interface Props {
integration: Integration
- bean?: Bean
+ bean?: NamedBeanDefinition
dark: boolean
- onChange: (bean: Bean) => void
+ onChange: (bean: NamedBeanDefinition) => void
}
interface State {
- bean?: Bean
+ bean?: NamedBeanDefinition
properties: Map<string, [string, string]>
key: string
}
@@ -84,7 +73,7 @@ export class BeanProperties extends React.Component<Props,
State> {
}
}
- setBean = (bean?: Bean) => {
+ setBean = (bean?: NamedBeanDefinition) => {
this.setState({
bean: bean,
properties: bean?.properties ?
this.preparePropertiesMap(bean.properties) : new Map<string, [string, string]>()
diff --git a/karavan-designer/src/designer/beans/BeansDesigner.tsx
b/karavan-designer/src/designer/beans/BeansDesigner.tsx
index 2416964..24c02bb 100644
--- a/karavan-designer/src/designer/beans/BeansDesigner.tsx
+++ b/karavan-designer/src/designer/beans/BeansDesigner.tsx
@@ -19,7 +19,7 @@ import {
Button, Card, CardActions, CardBody, CardFooter, CardHeader, CardTitle,
Gallery, Modal, PageSection
} from '@patternfly/react-core';
import '../karavan.css';
-import {Bean, Integration} from "karavan-core/lib/model/CamelDefinition";
+import {NamedBeanDefinition, Integration} from
"karavan-core/lib/model/CamelDefinition";
import {CamelUi} from "../utils/CamelUi";
import PlusIcon from "@patternfly/react-icons/dist/esm/icons/plus-icon";
import {CamelDefinitionApiExt} from
"karavan-core/lib/api/CamelDefinitionApiExt";
@@ -39,7 +39,7 @@ interface Props {
interface State {
integration: Integration
showDeleteConfirmation: boolean
- selectedBean?: Bean
+ selectedBean?: NamedBeanDefinition
key: string
showBeanEditor: boolean
}
@@ -71,7 +71,7 @@ export class BeansDesigner extends React.Component<Props,
State> {
}
}
- showDeleteConfirmation = (e: React.MouseEvent, bean: Bean) => {
+ showDeleteConfirmation = (e: React.MouseEvent, bean: NamedBeanDefinition)
=> {
e.stopPropagation();
this.setState({selectedBean: bean, showDeleteConfirmation: true});
}
@@ -86,11 +86,11 @@ export class BeansDesigner extends React.Component<Props,
State> {
integration: i,
showDeleteConfirmation: false,
key: Math.random().toString(),
- selectedBean: new Bean()
+ selectedBean: new NamedBeanDefinition()
});
}
- changeBean = (bean: Bean) => {
+ changeBean = (bean: NamedBeanDefinition) => {
const clone = CamelUtil.cloneIntegration(this.state.integration);
const i = CamelDefinitionApiExt.addBeanToIntegration(clone, bean);
this.setState({integration: i, key: Math.random().toString(),
selectedBean: bean});
@@ -122,7 +122,7 @@ export class BeansDesigner extends React.Component<Props,
State> {
this.setState({showBeanEditor: true})
}
- selectBean = (bean?: Bean) => {
+ selectBean = (bean?: NamedBeanDefinition) => {
this.setState({selectedBean: bean})
}
@@ -134,10 +134,10 @@ export class BeansDesigner extends React.Component<Props,
State> {
};
createBean = () => {
- this.changeBean(new Bean());
+ this.changeBean(new NamedBeanDefinition());
}
- getCard(bean: Bean, index: number) {
+ getCard(bean: NamedBeanDefinition, index: number) {
return (
<Card key={bean.dslName + index} isHoverable isCompact
className={this.state.selectedBean?.uuid === bean.uuid ?
"bean-card bean-card-selected" : "bean-card bean-card-unselected"}
@@ -163,7 +163,7 @@ export class BeansDesigner extends React.Component<Props,
State> {
<div className="beans-page-columns" data-click="BEANS"
onClick={event => this.unselectBean(event)}>
<div className="beans-panel">
<Gallery hasGutter className="beans-gallery"
data-click="BEANS" onClick={event => this.unselectBean(event)}>
- {beans.map((bean: Bean, index: number) =>
this.getCard(bean, index))}
+ {beans.map((bean: NamedBeanDefinition, index:
number) => this.getCard(bean, index))}
</Gallery>
<div className="add-button-div" data-click="BEANS"
onClick={event => this.unselectBean(event)}>
<Button icon={<PlusIcon/>} variant={beans.length
=== 0 ? "primary" : "secondary"} onClick={e => this.createBean()}
className="add-bean-button">
diff --git a/karavan-designer/src/designer/field/DataFormatField.tsx
b/karavan-designer/src/designer/field/DataFormatField.tsx
index 78d4487..7513eba 100644
--- a/karavan-designer/src/designer/field/DataFormatField.tsx
+++ b/karavan-designer/src/designer/field/DataFormatField.tsx
@@ -26,7 +26,7 @@ import '../karavan.css';
import "@patternfly/patternfly/patternfly.css";
import {CamelMetadataApi, PropertyMeta} from
"karavan-core/lib/model/CamelMetadata";
import {CamelDefinitionApiExt} from
"karavan-core/lib/api/CamelDefinitionApiExt";
-import {CamelElement, DataFormatDefinition} from
"karavan-core/lib/model/CamelDefinition";
+import {CamelElement, DataFormatDefinition, Integration} from
"karavan-core/lib/model/CamelDefinition";
import {CamelDefinitionApi} from "karavan-core/lib/api/CamelDefinitionApi";
import {DslPropertyField} from "./DslPropertyField";
import {DataFormats} from "karavan-core/lib/model/CamelMetadata";
@@ -35,6 +35,7 @@ interface Props {
dslName: string,
value: CamelElement,
onDataFormatChange?: ( value:DataFormatDefinition) => void
+ integration: Integration,
}
interface State {
@@ -123,6 +124,7 @@ export class DataFormatField extends React.Component<Props,
State> {
fieldId={"properties"}>
{value && properties?.map((property: PropertyMeta)
=>
<DslPropertyField property={property}
+
integration={this.props.integration}
element={value}
value={value ? (value as
any)[property.name] : undefined}
onExpressionChange={exp => {}}
diff --git a/karavan-designer/src/designer/field/DslPropertyField.tsx
b/karavan-designer/src/designer/field/DslPropertyField.tsx
index 820d2b2..c1941c9 100644
--- a/karavan-designer/src/designer/field/DslPropertyField.tsx
+++ b/karavan-designer/src/designer/field/DslPropertyField.tsx
@@ -35,7 +35,7 @@ import {CamelDefinitionApiExt} from
"karavan-core/lib/api/CamelDefinitionApiExt"
import {ExpressionField} from "./ExpressionField";
import {CamelUi} from "../utils/CamelUi";
import {ComponentParameterField} from "./ComponentParameterField";
-import {CamelElement, DataFormatDefinition} from
"karavan-core/lib/model/CamelDefinition";
+import {CamelElement, DataFormatDefinition, Integration} from
"karavan-core/lib/model/CamelDefinition";
import {KameletPropertyField} from "./KameletPropertyField";
import {ExpressionDefinition} from "karavan-core/lib/model/CamelDefinition";
import PlusIcon from "@patternfly/react-icons/dist/esm/icons/plus-icon";
@@ -51,6 +51,7 @@ interface Props {
onDataFormatChange?: (value: DataFormatDefinition) => void,
onParameterChange?: (parameter: string, value: string | number | boolean |
any, pathParameter?: boolean) => void,
element?: CamelElement
+ integration: Integration,
}
interface State {
@@ -153,7 +154,7 @@ export class DslPropertyField extends
React.Component<Props, State> {
getExpressionField = (property: PropertyMeta, value: any) => {
return (
<div className="expression">
- <ExpressionField property={property} value={value}
onExpressionChange={this.props.onExpressionChange}/>
+ <ExpressionField property={property} value={value}
onExpressionChange={this.props.onExpressionChange}
integration={this.props.integration}/>
</div>
)
}
@@ -161,7 +162,7 @@ export class DslPropertyField extends
React.Component<Props, State> {
getObjectField = (property: PropertyMeta, value: any) => {
return (
<div className="object">
- {value && <ObjectField property={property} value={value}
onPropertyUpdate={this.props.onChange}/>}
+ {value && <ObjectField property={property} value={value}
onPropertyUpdate={this.props.onChange} integration={this.props.integration} />}
</div>
)
}
@@ -177,6 +178,31 @@ export class DslPropertyField extends
React.Component<Props, State> {
)
}
+ getSelectBean = (property: PropertyMeta, value: any) => {
+ const selectOptions: JSX.Element[] = [];
+ const beans = CamelUi.getBeans(this.props.integration);
+ if (beans) {
+ selectOptions.push(<SelectOption key={0} value={"Select..."}
isPlaceholder/>);
+ selectOptions.push(...beans.map((bean) => <SelectOption
key={bean.name} value={bean.name} description={bean.type}/>));
+ }
+ return (
+ <Select
+ variant={SelectVariant.single}
+ aria-label={property.name}
+ onToggle={isExpanded => {
+ this.openSelect(property.name)
+ }}
+ onSelect={(e, value, isPlaceholder) =>
this.propertyChanged(property.name, (!isPlaceholder ? value : undefined))}
+ selections={value}
+ isOpen={this.isSelectOpen(property.name)}
+ aria-labelledby={property.name}
+ direction={SelectDirection.down}
+ >
+ {selectOptions}
+ </Select>
+ )
+ }
+
getSelect = (property: PropertyMeta, value: any) => {
const selectOptions: JSX.Element[] = []
if (property.enumVals && property.enumVals.length > 0) {
@@ -312,8 +338,10 @@ export class DslPropertyField extends
React.Component<Props, State> {
&& this.getMultiValueObjectField(property, value)}
{property.name === 'expression' && property.type === "string"
&& !property.isArray
&& this.getTextArea(property, value)}
- {['string', 'duration', 'integer',
'number'].includes(property.type) && property.name !== 'expression' &&
!property.isArray && !property.enumVals
+ {['string', 'duration', 'integer',
'number'].includes(property.type) && property.name !== 'expression' &&
!property.name.endsWith("Ref") && !property.isArray && !property.enumVals
&& this.getTextField(property, value)}
+ {['string'].includes(property.type) &&
property.name.endsWith("Ref") && !property.isArray && !property.enumVals
+ && this.getSelectBean(property, value)}
{['string'].includes(property.type) && property.name !==
'expression' && property.isArray && !property.enumVals
&& this.getMultiValueField(property, value)}
{property.type === 'boolean'
diff --git a/karavan-designer/src/designer/field/ExpressionField.tsx
b/karavan-designer/src/designer/field/ExpressionField.tsx
index 1b23db8..cc9608f 100644
--- a/karavan-designer/src/designer/field/ExpressionField.tsx
+++ b/karavan-designer/src/designer/field/ExpressionField.tsx
@@ -28,7 +28,7 @@ import "@patternfly/patternfly/patternfly.css";
import HelpIcon from "@patternfly/react-icons/dist/js/icons/help-icon";
import {CamelMetadataApi, Languages, PropertyMeta} from
"karavan-core/lib/model/CamelMetadata";
import {CamelDefinitionApiExt} from
"karavan-core/lib/api/CamelDefinitionApiExt";
-import {CamelElement, ExpressionDefinition} from
"karavan-core/lib/model/CamelDefinition";
+import {CamelElement, ExpressionDefinition, Integration} from
"karavan-core/lib/model/CamelDefinition";
import {CamelDefinitionApi} from "karavan-core/lib/api/CamelDefinitionApi";
import {DslPropertyField} from "./DslPropertyField";
import {CamelUi} from "../utils/CamelUi";
@@ -37,6 +37,7 @@ interface Props {
property: PropertyMeta,
value: CamelElement,
onExpressionChange?: ( value:ExpressionDefinition) => void
+ integration: Integration,
}
interface State {
@@ -140,6 +141,7 @@ export class ExpressionField extends React.Component<Props,
State> {
}>
{value && this.getProps().map((property: PropertyMeta) =>
<DslPropertyField key={property.name +
this.props.value?.uuid} property={property}
+ integration={this.props.integration}
element={value}
value={value ? (value as
any)[property.name] : undefined}
onExpressionChange={exp => {}}
diff --git a/karavan-designer/src/designer/field/ObjectField.tsx
b/karavan-designer/src/designer/field/ObjectField.tsx
index 4d159ac..6af4d83 100644
--- a/karavan-designer/src/designer/field/ObjectField.tsx
+++ b/karavan-designer/src/designer/field/ObjectField.tsx
@@ -20,7 +20,7 @@ import "@patternfly/patternfly/patternfly.css";
import {DslPropertyField} from "./DslPropertyField";
import {
CamelElement,
- ExpressionDefinition,
+ ExpressionDefinition, Integration,
} from "karavan-core/lib/model/CamelDefinition";
import {CamelDefinitionApiExt} from
"karavan-core/lib/api/CamelDefinitionApiExt";
import {CamelUtil} from "karavan-core/lib/api/CamelUtil";
@@ -30,6 +30,7 @@ interface Props {
property: PropertyMeta,
value?: CamelElement,
onPropertyUpdate?: (fieldId: string, value: CamelElement) => void
+ integration: Integration,
}
interface State {
@@ -74,6 +75,7 @@ export class ObjectField extends React.Component<Props,
State> {
<div>
{value &&
CamelDefinitionApiExt.getElementProperties(value.dslName).map((property:
PropertyMeta) =>
<DslPropertyField key={property.name}
+ integration={this.props.integration}
property={property}
element={value}
value={value ? (value as
any)[property.name] : undefined}
diff --git a/karavan-designer/src/designer/karavan.css
b/karavan-designer/src/designer/karavan.css
index 4a20c73..e8d812a 100644
--- a/karavan-designer/src/designer/karavan.css
+++ b/karavan-designer/src/designer/karavan.css
@@ -323,10 +323,10 @@
.karavan .properties .pf-c-select__menu-item {
width: 280px;
font-size: 15px;
- /*white-space: nowrap;*/
- /*overflow: hidden;*/
- /*text-overflow: ellipsis;*/
- /*line-height: 12px;*/
+}
+
+.karavan .properties .pf-c-select__menu-item-description {
+ overflow-wrap: anywhere;
}
.karavan .properties .number {
diff --git a/karavan-designer/src/designer/route/DslProperties.tsx
b/karavan-designer/src/designer/route/DslProperties.tsx
index 86f4a1e..c7fb57a 100644
--- a/karavan-designer/src/designer/route/DslProperties.tsx
+++ b/karavan-designer/src/designer/route/DslProperties.tsx
@@ -140,6 +140,7 @@ export class DslProperties extends React.Component<Props,
State> {
{this.state.step && this.getComponentHeader()}
{this.state.step && !['MarshalDefinition',
'UnmarshalDefinition'].includes(this.state.step.dslName) &&
this.getProps().map((property: PropertyMeta) =>
<DslPropertyField key={property.name}
+ integration={this.props.integration}
property={property}
element={this.state.step}
value={this.state.step ?
(this.state.step as any)[property.name] : undefined}
@@ -150,6 +151,7 @@ export class DslProperties extends React.Component<Props,
State> {
)}
{this.state.step && ['MarshalDefinition',
'UnmarshalDefinition'].includes(this.state.step.dslName) &&
<DataFormatField
+ integration={this.props.integration}
dslName={this.state.step.dslName}
value={this.state.step}
onDataFormatChange={this.dataFormatChanged} />
diff --git a/karavan-designer/src/designer/utils/CamelUi.ts
b/karavan-designer/src/designer/utils/CamelUi.ts
index 37b7eac..341b76b 100644
--- a/karavan-designer/src/designer/utils/CamelUi.ts
+++ b/karavan-designer/src/designer/utils/CamelUi.ts
@@ -22,8 +22,8 @@ import {ComponentProperty} from
"karavan-core/lib/model/ComponentModels";
import {CamelMetadataApi} from "karavan-core/lib/model/CamelMetadata";
import {CamelUtil} from "karavan-core/lib/api/CamelUtil";
import {CamelDefinitionApiExt} from
"karavan-core/lib/api/CamelDefinitionApiExt";
-import {CamelElement, KameletDefinition, RouteDefinition} from
"karavan-core/lib/model/CamelDefinition";
-import {Bean, Beans, Integration} from
"karavan-core/src/core/model/CamelDefinition";
+import {CamelElement, KameletDefinition, NamedBeanDefinition, RouteDefinition}
from "karavan-core/lib/model/CamelDefinition";
+import {Integration} from "karavan-core/src/core/model/CamelDefinition";
const StepElements: string[] = [
"AggregateDefinition",
@@ -376,8 +376,8 @@ export class CamelUi {
return result;
}
- static getBeans = (integration: Integration): Bean[] => {
- const result: Bean[] = [];
+ static getBeans = (integration: Integration): NamedBeanDefinition[] => {
+ const result: NamedBeanDefinition[] = [];
const beans = integration.spec.flows?.filter((e: any) => e.dslName ===
'Beans');
if (beans && beans.length > 0 && beans[0].beans) {
result.push(...beans[0].beans);
diff --git a/karavan-generator/src/main/resources/CamelDefinition.header.ts
b/karavan-generator/src/main/resources/CamelDefinition.header.ts
index ebda5ea..e10095a 100644
--- a/karavan-generator/src/main/resources/CamelDefinition.header.ts
+++ b/karavan-generator/src/main/resources/CamelDefinition.header.ts
@@ -62,17 +62,6 @@ export class Beans extends CamelElement {
}
}
-export class Bean extends CamelElement {
- name: string = ''
- type: string = ''
- properties: any
-
- public constructor(init?: Partial<Bean>) {
- super("Bean")
- Object.assign(this, init);
- }
-}
-
export class CamelElementMeta {
step?: CamelElement
parentUuid?: string