You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2012/09/27 12:12:13 UTC
svn commit: r1390923 -
/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java
Author: jstrachan
Date: Thu Sep 27 10:12:12 2012
New Revision: 1390923
URL: http://svn.apache.org/viewvc?rev=1390923&view=rev
Log:
avoid using a weld class directly (used by accident, bad James! :)
Modified:
camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java
Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java?rev=1390923&r1=1390922&r2=1390923&view=diff
==============================================================================
--- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java (original)
+++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java Thu Sep 27 10:12:12 2012
@@ -16,8 +16,10 @@
*/
package org.apache.camel.cdi.internal;
+import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
@@ -28,7 +30,6 @@ import org.apache.camel.RuntimeCamelExce
import org.apache.camel.cdi.CdiCamelContext;
import org.apache.camel.model.RouteContainer;
import org.apache.camel.util.ObjectHelper;
-import org.jboss.weld.bean.ProducerMethod;
/**
* Configuration options to be applied to a {@link org.apache.camel.CamelContext} by a {@link CamelContextBean}
@@ -44,9 +45,13 @@ public class CamelContextConfig {
for (Bean<?> bean : routeBuilderBeans) {
CreationalContext<?> createContext = beanManager.createCreationalContext(bean);
Class<?> beanClass = bean.getBeanClass();
- if (bean instanceof ProducerMethod) {
- ProducerMethod producerMethod = (ProducerMethod) bean;
- beanClass = producerMethod.getType();
+ Set<Type> types = bean.getTypes();
+ for (Type type : types) {
+ // lets use the first type for producer methods
+ if (type instanceof Class<?>) {
+ beanClass = (Class<?>) type;
+ break;
+ }
}
Object reference = beanManager.getReference(bean, beanClass, createContext);
ObjectHelper.notNull(reference, "Could not instantiate bean of type " + beanClass.getName() + " for " + bean);