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);