You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/04/25 10:33:07 UTC

[camel] 02/17: CAMEL-13449: camel3 - Move bean component out of camel-core

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

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

commit 7d12322b9f54dc932723fb2a6b91c3a9064e8193
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Apr 24 11:13:56 2019 +0200

    CAMEL-13449: camel3 - Move bean component out of camel-core
---
 .../camel/component/bean/BeanAnnotationExpressionFactory.java      | 4 ++--
 .../src/main/java/org/apache/camel/language/bean/BeanLanguage.java | 7 ++++++-
 .../java/org/apache/camel/model/language/MethodCallExpression.java | 2 ++
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/component/bean/BeanAnnotationExpressionFactory.java b/core/camel-core/src/main/java/org/apache/camel/component/bean/BeanAnnotationExpressionFactory.java
index e9b3ed0..c825307 100644
--- a/core/camel-core/src/main/java/org/apache/camel/component/bean/BeanAnnotationExpressionFactory.java
+++ b/core/camel-core/src/main/java/org/apache/camel/component/bean/BeanAnnotationExpressionFactory.java
@@ -21,7 +21,7 @@ import java.lang.reflect.Method;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
-import org.apache.camel.language.bean.BeanExpression;
+import org.apache.camel.language.bean.BeanLanguage;
 import org.apache.camel.support.ObjectHelper;
 import org.apache.camel.support.language.DefaultAnnotationExpressionFactory;
 import org.apache.camel.support.language.LanguageAnnotation;
@@ -42,7 +42,7 @@ public class BeanAnnotationExpressionFactory extends DefaultAnnotationExpression
             method = null;
         }
 
-        return new BeanExpression(beanName, method);
+        return BeanLanguage.bean(beanName, method);
     }
 
     protected String getFromAnnotation(Annotation annotation, String attribute) {
diff --git a/core/camel-core/src/main/java/org/apache/camel/language/bean/BeanLanguage.java b/core/camel-core/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
index f7696a1..24ea1c3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
+++ b/core/camel-core/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
@@ -112,7 +112,12 @@ public class BeanLanguage implements Language, IsSingleton {
 
     public Expression createExpression(Object bean, String method) {
         org.apache.camel.util.ObjectHelper.notNull(bean, "bean");
-        return new BeanExpression(bean, method);
+        if (bean instanceof String) {
+            String beanName = (String) bean;
+            return new BeanExpression(beanName, method);
+        } else {
+            return new BeanExpression(bean, method);
+        }
     }
 
     public boolean isSingleton() {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java b/core/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
index 065e053..e6ed19b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
@@ -152,6 +152,8 @@ public class MethodCallExpression extends ExpressionDefinition {
 
     @Override
     public Expression createExpression(CamelContext camelContext) {
+        // TODO: need to use setProperty ... to copy over the options
+        // and move this logic to BeanLanguage
         Expression answer;
 
         if (beanType == null && beanTypeName != null) {