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

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


The following commit(s) were added to refs/heads/main by this push:
     new 2cf7930  CAMEL-16608: Kamelet local bean - Using script should allow 
to define return type of created bean
2cf7930 is described below

commit 2cf7930245fcad2db1ccac600493c220ae327a08
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri May 14 08:20:06 2021 +0200

    CAMEL-16608: Kamelet local bean - Using script should allow to define 
return type of created bean
---
 .../camel/model/RouteTemplateBeanDefinition.java   |  3 ++-
 .../camel/builder/RouteTemplateLocalBeanTest.java  | 31 ++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanDefinition.java
index 31fbbdb..95767f0 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanDefinition.java
@@ -202,7 +202,8 @@ public class RouteTemplateBeanDefinition {
      * section, such as using groovy.
      */
     public RouteTemplateBeanDefinition type(String type) {
-        if (!type.startsWith("#type:") && !type.startsWith("#class:")) {
+        if (!type.startsWith("#")) {
+            // use #class as default
             type = "#class:" + type;
         }
         setType(type);
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateLocalBeanTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateLocalBeanTest.java
index 0f9dbe5..83337fb0 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateLocalBeanTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateLocalBeanTest.java
@@ -579,6 +579,37 @@ public class RouteTemplateLocalBeanTest extends 
ContextTestSupport {
         context.stop();
     }
 
+    @Test
+    public void testLocalBeanClassAsString() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                
routeTemplate("myTemplate").templateParameter("foo").templateParameter("bar")
+                        
.templateBean("myBar").type(BuilderProcessor.class.getName()).end()
+                        .from("direct:{{foo}}")
+                        .to("bean:{{bar}}");
+            }
+        });
+
+        context.start();
+
+        TemplatedRouteBuilder.builder(context, "myTemplate")
+                .parameter("foo", "one")
+                .parameter("bar", "myBar")
+                .routeId("myRoute")
+                .add();
+
+        assertEquals(1, context.getRoutes().size());
+
+        Object out = template.requestBody("direct:one", "World");
+        assertEquals("Builder World", out);
+
+        // should not be a global bean
+        assertNull(context.getRegistry().lookupByName("myBar"));
+
+        context.stop();
+    }
+
     public static class BuilderProcessor implements Processor {
 
         @Override

Reply via email to