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 c575021  Bean ref for componentns (#187)
c575021 is described below

commit c5750213f3df1e398ec3b7716751f24119479536
Author: Marat Gubaidullin <marat.gubaidul...@gmail.com>
AuthorDate: Fri Feb 11 17:25:13 2022 -0500

    Bean ref for componentns (#187)
---
 karavan-demo/integrations/sql-to-log-int.yaml      | 26 +++++++++++++
 karavan-demo/integrations/sql-to-log.yaml          | 45 +++++++++-------------
 .../route/property/ComponentParameterField.tsx     |  3 +-
 3 files changed, 46 insertions(+), 28 deletions(-)

diff --git a/karavan-demo/integrations/sql-to-log-int.yaml 
b/karavan-demo/integrations/sql-to-log-int.yaml
new file mode 100644
index 0000000..9e2d371
--- /dev/null
+++ b/karavan-demo/integrations/sql-to-log-int.yaml
@@ -0,0 +1,26 @@
+apiVersion: camel.apache.org/v1
+kind: Integration
+metadata:
+  name: sql-to-log.yaml
+spec:
+  dependencies:
+    - 'mvn:org.apache.commons:commons-dbcp2:2.9.0'
+    - 'mvn:org.postgresql:postgresql:42.2.14'
+  flows:
+    - from:
+        parameters:
+          dataSource: '#bean:datasource'
+        steps:
+          - marshal:
+              json:
+                library: Jackson
+          - log: '${body}'
+        uri: 'sql:SELECT * FROM table1'
+    - beans:
+        - name: datasource
+          properties:
+            driverClassName: org.postgresql.Driver
+            password: postgres
+            url: 'jdbc:postgresql:localhost:5432:demo'
+            username: postgres
+          type: 'org.apache.commons.dbcp2.BasicDataSource'
\ No newline at end of file
diff --git a/karavan-demo/integrations/sql-to-log.yaml 
b/karavan-demo/integrations/sql-to-log.yaml
index c657a25..85d9467 100644
--- a/karavan-demo/integrations/sql-to-log.yaml
+++ b/karavan-demo/integrations/sql-to-log.yaml
@@ -1,27 +1,18 @@
-apiVersion: camel.apache.org/v1
-kind: Integration
-metadata:
-  name: sql-to-log.yaml
-spec:
-  dependencies:
-  - "mvn:org.postgresql:postgresql:42.2.14"
-  - "mvn:org.apache.commons:commons-dbcp2:2.9.0"
-  flows:
-    - route:
-        from:
-          uri: "sql:SELECT * FROM table1"
-          parameters:
-            dataSource: "datasource"
-          steps:
-          - marshal:
-              json: 
-                library: Jackson
-          - log: "${body}"
-    - beans:
-        - name: datasource
-          type: "org.apache.commons.dbcp2.BasicDataSource"
-          properties:
-            username: postgres
-            password: postgres
-            url: jdbc:postgresql:localhost:5432:demo
-            driverClassName: org.postgresql.Driver
+# camel-k: dependency=mvn:org.apache.commons:commons-dbcp2:2.9.0 
dependency=mvn:org.postgresql:postgresql:42.2.14
+- from:
+    uri: "sql:SELECT * FROM table1"
+    parameters:
+      dataSource: "#bean:datasource"
+    steps:
+      - marshal:
+          json: 
+            library: Jackson
+      - log: "${body}"
+- beans:
+    - name: datasource
+      type: "org.apache.commons.dbcp2.BasicDataSource"
+      properties:
+        username: postgres
+        password: postgres
+        url: jdbc:postgresql:localhost:5432:demo
+        driverClassName: org.postgresql.Driver
diff --git 
a/karavan-designer/src/designer/route/property/ComponentParameterField.tsx 
b/karavan-designer/src/designer/route/property/ComponentParameterField.tsx
index 7b198b1..69322dc 100644
--- a/karavan-designer/src/designer/route/property/ComponentParameterField.tsx
+++ b/karavan-designer/src/designer/route/property/ComponentParameterField.tsx
@@ -33,6 +33,7 @@ import {CamelUi} from "../../utils/CamelUi";
 import {Integration} from "karavan-core/lib/model/CamelDefinition";
 
 const prefix = "parameters";
+const beanPrefix = "#bean:";
 
 interface Props {
     property: ComponentProperty,
@@ -69,7 +70,7 @@ export class ComponentParameterField extends 
React.Component<Props, State> {
         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}/>));
+            selectOptions.push(...beans.map((bean) => <SelectOption 
key={bean.name} value={beanPrefix + bean.name} description={bean.type}/>));
         }
         return (
             <Select

Reply via email to