Repository: camel Updated Branches: refs/heads/master d2defc15e -> 12e62a0ee
CAMEL-7452: Polished Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/12e62a0e Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/12e62a0e Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/12e62a0e Branch: refs/heads/master Commit: 12e62a0ee8c5f993804adeca58f9f0f0794620f3 Parents: d2defc1 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Sep 1 22:08:37 2014 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Sep 1 22:08:37 2014 +0200 ---------------------------------------------------------------------- .../org/apache/camel/component/bean/BeanProcessor.java | 4 ++-- .../component/bean/ConstantStaticTypeBeanHolder.java | 11 ++--------- .../camel/component/bean/ConstantTypeBeanHolder.java | 7 +------ .../org/apache/camel/component/bean/RegistryBean.java | 2 +- .../camel/model/language/MethodCallExpression.java | 4 ++-- 5 files changed, 8 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/12e62a0e/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java index 80dd138..055ebfb 100644 --- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java +++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java @@ -90,8 +90,8 @@ public class BeanProcessor extends ServiceSupport implements AsyncProcessor { // do we have a custom adapter for this POJO to a Processor // but only do this if allowed if (allowProcessor(explicitMethodName, beanInfo)) { - // see if there is a processor for the given bean - Processor processor = exchange.getContext().getTypeConverter().convertTo(Processor.class, exchange, bean); + // so if there is a custom type converter for the bean to processor + Processor processor = exchange.getContext().getTypeConverter().tryConvertTo(Processor.class, exchange, bean); if (processor != null) { LOG.trace("Using a custom adapter as bean invocation: {}", processor); try { http://git-wip-us.apache.org/repos/asf/camel/blob/12e62a0e/camel-core/src/main/java/org/apache/camel/component/bean/ConstantStaticTypeBeanHolder.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/ConstantStaticTypeBeanHolder.java b/camel-core/src/main/java/org/apache/camel/component/bean/ConstantStaticTypeBeanHolder.java index f052a54..c6e20da 100644 --- a/camel-core/src/main/java/org/apache/camel/component/bean/ConstantStaticTypeBeanHolder.java +++ b/camel-core/src/main/java/org/apache/camel/component/bean/ConstantStaticTypeBeanHolder.java @@ -21,24 +21,17 @@ import org.apache.camel.Processor; import org.apache.camel.util.ObjectHelper; /** - * A constant (singleton) bean implementation of {@link BeanTypeHolder} + * A constant {@link org.apache.camel.component.bean.BeanHolder} for a class or static class + * where the intention is to only invoke static methods, without the need for creating an instance of the type. * * @version */ public class ConstantStaticTypeBeanHolder extends ConstantTypeBeanHolder { - public ConstantStaticTypeBeanHolder(Class<?> type, BeanInfo beanInfo) { - super(type, beanInfo); - } - public ConstantStaticTypeBeanHolder(Class<?> type, CamelContext context) { super(type, context); } - public ConstantStaticTypeBeanHolder(Class<?> type, CamelContext context, ParameterMappingStrategy parameterMappingStrategy) { - super(type, context, parameterMappingStrategy); - } - @Override public Object getBean() { // we cannot create a bean as there is no default constructor http://git-wip-us.apache.org/repos/asf/camel/blob/12e62a0e/camel-core/src/main/java/org/apache/camel/component/bean/ConstantTypeBeanHolder.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/ConstantTypeBeanHolder.java b/camel-core/src/main/java/org/apache/camel/component/bean/ConstantTypeBeanHolder.java index 800b88c..b0b0694 100644 --- a/camel-core/src/main/java/org/apache/camel/component/bean/ConstantTypeBeanHolder.java +++ b/camel-core/src/main/java/org/apache/camel/component/bean/ConstantTypeBeanHolder.java @@ -61,12 +61,7 @@ public class ConstantTypeBeanHolder implements BeanTypeHolder { } public Object getBean() { - // create a new bean - if (ObjectHelper.hasDefaultPublicNoArgConstructor(type)) { - return getBeanInfo().getCamelContext().getInjector().newInstance(type); - } else { - return null; - } + return getBeanInfo().getCamelContext().getInjector().newInstance(type); } public Processor getProcessor() { http://git-wip-us.apache.org/repos/asf/camel/blob/12e62a0e/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java b/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java index 72d1c2a..84fd994 100644 --- a/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java +++ b/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java @@ -57,7 +57,7 @@ public class RegistryBean implements BeanHolder { * * @return a new {@link org.apache.camel.component.bean.BeanHolder} that has cached the lookup of the bean. */ - public ConstantBeanHolder createCacheHolder() throws Exception { + public ConstantBeanHolder createCacheHolder() { Object bean = getBean(); BeanInfo info = createBeanInfo(bean); return new ConstantBeanHolder(bean, info); http://git-wip-us.apache.org/repos/asf/camel/blob/12e62a0e/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java index d888755..3d3df76 100644 --- a/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java +++ b/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java @@ -29,7 +29,7 @@ import org.apache.camel.Predicate; import org.apache.camel.component.bean.BeanHolder; import org.apache.camel.component.bean.BeanInfo; import org.apache.camel.component.bean.ConstantBeanHolder; -import org.apache.camel.component.bean.ConstantTypeBeanHolder; +import org.apache.camel.component.bean.ConstantStaticTypeBeanHolder; import org.apache.camel.component.bean.MethodNotFoundException; import org.apache.camel.component.bean.RegistryBean; import org.apache.camel.language.bean.BeanExpression; @@ -171,7 +171,7 @@ public class MethodCallExpression extends ExpressionDefinition { instance = camelContext.getInjector().newInstance(beanType); holder = new ConstantBeanHolder(instance, camelContext); } else { - holder = new ConstantTypeBeanHolder(beanType, camelContext); + holder = new ConstantStaticTypeBeanHolder(beanType, camelContext); } } else if (instance != null) { holder = new ConstantBeanHolder(instance, camelContext);