You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ar...@apache.org on 2013/01/14 18:42:04 UTC

svn commit: r1433006 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans: component/ component/creation/ config/ inject/

Author: arne
Date: Mon Jan 14 17:42:03 2013
New Revision: 1433006

URL: http://svn.apache.org/viewvc?rev=1433006&view=rev
Log:
OWB-755: Fixed creation of ProducerMethodBean instances

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java?rev=1433006&r1=1433005&r2=1433006&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java Mon Jan 14 17:42:03 2013
@@ -32,7 +32,9 @@ import javax.enterprise.context.Dependen
 import javax.enterprise.context.spi.Contextual;
 import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.InjectionPoint;
 import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.Producer;
 
 import org.apache.webbeans.context.creational.CreationalContextImpl;
 import org.apache.webbeans.context.creational.DependentCreationalContext;
@@ -173,7 +175,22 @@ public class ProducerMethodBean<T> exten
 
             //X TODO get the InjectionTargetImpl from the parent bean
             InjectionTarget ownerBeanInjectionTarget = getParent().getInjectionTarget();
-            m = new InjectableMethod<T>(creatorMethod, parentInstance, ownerBeanInjectionTarget, (CreationalContextImpl<T>) creationalContext);
+            m = new InjectableMethod<T>(creatorMethod, parentInstance, new Producer<T>() {
+
+                @Override
+                public T produce(CreationalContext<T> creationalContext) {
+                    return null;
+                }
+
+                @Override
+                public void dispose(T instance) {
+                }
+
+                @Override
+                public Set<InjectionPoint> getInjectionPoints() {
+                    return ProducerMethodBean.this.getInjectionPoints();
+                }
+            }, (CreationalContextImpl<T>) creationalContext);
             //Injection of parameters
             instance = m.doInjection();
             

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java?rev=1433006&r1=1433005&r2=1433006&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java Mon Jan 14 17:42:03 2013
@@ -704,7 +704,7 @@ public abstract class AbstractInjectionT
         return bean;
     }
 
-    protected boolean isEnabled()
+    public boolean isEnabled()
     {
         return enabled;
     }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java?rev=1433006&r1=1433005&r2=1433006&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java Mon Jan 14 17:42:03 2013
@@ -107,11 +107,8 @@ public class ManagedBeanBuilder<T, M ext
     }
 
 
-    public ManagedBean<T> defineManagedBean(ProcessInjectionTarget<T> processInjectionTargetEvent)
+    public ManagedBean<T> defineManagedBean(AnnotatedType<T> annotatedType)
     {
-        //Annotated type
-        AnnotatedType<T> annotatedType = processInjectionTargetEvent.getAnnotatedType();
-
         Class<T> clazz = annotatedType.getJavaClass();
 
         defineApiType();
@@ -134,99 +131,7 @@ public class ManagedBeanBuilder<T, M ext
         defineInjectedMethods();
         defineDisposalMethods();
 
-        Set<ObserverMethod<?>> observerMethods = new HashSet<ObserverMethod<?>>();
-        ManagedBean<T> managedBean = getBean();
-        ((InjectionTargetProducer)processInjectionTargetEvent.getInjectionTarget()).setBean(managedBean);
-        if(isEnabled())
-        {
-            observerMethods = defineObserverMethods(managedBean);
-        }
-        Set<ProducerMethodBean<?>> producerMethods = defineProducerMethods(managedBean);
-        Set<ProducerFieldBean<?>> producerFields = defineProducerFields(managedBean);
-
-        //Put final InjectionTarget instance
-        managedBean.setProducer(processInjectionTargetEvent.getInjectionTarget());
-
-        Map<ProducerMethodBean<?>,AnnotatedMethod<?>> annotatedMethods =
-                new HashMap<ProducerMethodBean<?>, AnnotatedMethod<?>>();
-
-        for(ProducerMethodBean<?> producerMethod : producerMethods)
-        {
-            AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(producerMethod.getCreatorMethod(), annotatedType);
-            ProcessProducerImpl<?, ?> producerEvent = webBeansContext.getWebBeansUtil().fireProcessProducerEventForMethod(producerMethod,
-                                                                                                    method);
-            webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessProducer event observers for "
-                                           + "ProducerMethods. Look at logs for further details");
-
-            annotatedMethods.put(producerMethod, method);
-            producerMethod.setProducer((Producer) producerEvent.getProducer());
-        }
-
-        Map<ProducerFieldBean<?>,AnnotatedField<?>> annotatedFields =
-                new HashMap<ProducerFieldBean<?>, AnnotatedField<?>>();
-
-        for(ProducerFieldBean<?> producerField : producerFields)
-        {
-            AnnotatedField<?> field = webBeansContext.getAnnotatedElementFactory().newAnnotatedField(producerField.getCreatorField(), annotatedType);
-            ProcessProducerImpl<?, ?> producerEvent = webBeansContext.getWebBeansUtil().fireProcessProducerEventForField(producerField, field);
-            webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessProducer event observers for"
-                                           + " ProducerFields. Look at logs for further details");
-
-            annotatedFields.put(producerField, field);
-            producerField.setProducer((Producer) producerEvent.getProducer());
-        }
-
-        Map<ObserverMethod<?>,AnnotatedMethod<?>> observerMethodsMap =
-                new HashMap<ObserverMethod<?>, AnnotatedMethod<?>>();
-
-        for(ObserverMethod<?> observerMethod : observerMethods)
-        {
-            ObserverMethodImpl<?> impl = (ObserverMethodImpl<?>)observerMethod;
-            AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(impl.getObserverMethod(), annotatedType);
-
-            observerMethodsMap.put(observerMethod, method);
-        }
-
-        BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();
-
-        //Fires ProcessManagedBean
-        ProcessBeanImpl<T> processBeanEvent = new GProcessManagedBean(managedBean, annotatedType);
-        beanManager.fireEvent(processBeanEvent);
-        webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessManagedBean event observers for " +
-                "managed beans. Look at logs for further details");
-
-        //Fires ProcessProducerMethod
-        webBeansContext.getWebBeansUtil().fireProcessProducerMethodBeanEvent(annotatedMethods, annotatedType);
-        webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessProducerMethod event observers for " +
-                "producer method beans. Look at logs for further details");
-
-        //Fires ProcessProducerField
-        webBeansContext.getWebBeansUtil().fireProcessProducerFieldBeanEvent(annotatedFields);
-        webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessProducerField event observers for " +
-                "producer field beans. Look at logs for further details");
-
-        //Fire ObservableMethods
-        webBeansContext.getWebBeansUtil().fireProcessObservableMethodBeanEvent(observerMethodsMap);
-        webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessObserverMethod event observers for " +
-                "observer methods. Look at logs for further details");
-
-        if(!webBeansContext.getWebBeansUtil().isAnnotatedTypeDecoratorOrInterceptor(annotatedType))
-        {
-            beanManager.addBean(managedBean);
-            for (ProducerMethodBean<?> producerMethod : producerMethods)
-            {
-                // add them one after the other to enable serialization handling et al
-                beanManager.addBean(producerMethod);
-            }
-            validateDisposalMethods(managedBean);//Define disposal method after adding producers
-            for (ProducerFieldBean<?> producerField : producerFields)
-            {
-                // add them one after the other to enable serialization handling et al
-                beanManager.addBean(producerField);
-            }
-        }
-
-        return managedBean;
+        return getBean();
     }
 
     /**
@@ -242,7 +147,7 @@ public class ManagedBeanBuilder<T, M ext
             ManagedBean<T> component;
 
             webBeansContext.getInterceptorUtil().checkInterceptorConditions(annotatedType);
-            component = defineManagedBean(injectionTargetEvent);
+            component = defineManagedBean(annotatedType);
 
             if (component != null)
             {
@@ -298,7 +203,7 @@ public class ManagedBeanBuilder<T, M ext
             }
             else
             {
-                delegate = defineManagedBean(processInjectionTargetEvent);
+                delegate = defineManagedBean(processInjectionTargetEvent.getAnnotatedType());
             }
 
             if (delegate != null)
@@ -321,7 +226,7 @@ public class ManagedBeanBuilder<T, M ext
     private ManagedBean<T> defineAbstractDecorator(ProcessInjectionTarget<T> processInjectionTargetEvent)
     {
 
-        ManagedBean<T> bean = defineManagedBean(processInjectionTargetEvent);
+        ManagedBean<T> bean = defineManagedBean(processInjectionTargetEvent.getAnnotatedType());
         if (bean == null)
         {
             // TODO could probably be a bit more descriptive

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=1433006&r1=1433005&r2=1433006&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java Mon Jan 14 17:42:03 2013
@@ -24,9 +24,11 @@ import java.lang.annotation.Annotation;
 import java.net.URL;
 import java.security.PrivilegedActionException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.Stack;
 import java.util.logging.Level;
@@ -34,13 +36,17 @@ import java.util.logging.Logger;
 
 import javax.enterprise.inject.Model;
 import javax.enterprise.inject.Specializes;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedMethod;
 import javax.enterprise.inject.spi.AnnotatedType;
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.Decorator;
 import javax.enterprise.inject.spi.InjectionPoint;
 import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.ObserverMethod;
 import javax.enterprise.inject.spi.ProcessAnnotatedType;
+import javax.enterprise.inject.spi.Producer;
 
 import org.apache.webbeans.annotation.AnnotationManager;
 import org.apache.webbeans.component.InjectionTargetBean;
@@ -51,6 +57,8 @@ import org.apache.webbeans.component.Int
 import org.apache.webbeans.component.ManagedBean;
 import org.apache.webbeans.component.NewBean;
 import org.apache.webbeans.component.OwbBean;
+import org.apache.webbeans.component.ProducerFieldBean;
+import org.apache.webbeans.component.ProducerMethodBean;
 import org.apache.webbeans.component.creation.CdiInterceptorBeanBuilder;
 import org.apache.webbeans.component.creation.ManagedBeanBuilder;
 import org.apache.webbeans.container.BeanManagerImpl;
@@ -60,18 +68,23 @@ import org.apache.webbeans.corespi.se.De
 import org.apache.webbeans.decorator.WebBeansDecorator;
 import org.apache.webbeans.decorator.WebBeansDecoratorConfig;
 import org.apache.webbeans.deployment.StereoTypeModel;
+import org.apache.webbeans.event.ObserverMethodImpl;
 import org.apache.webbeans.exception.WebBeansConfigurationException;
 import org.apache.webbeans.exception.WebBeansDeploymentException;
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.exception.inject.InconsistentSpecializationException;
 import org.apache.webbeans.logger.WebBeansLoggerFacade;
 import org.apache.webbeans.portable.AnnotatedElementFactory;
+import org.apache.webbeans.portable.creation.InjectionTargetProducer;
 import org.apache.webbeans.portable.events.ProcessAnnotatedTypeImpl;
+import org.apache.webbeans.portable.events.ProcessBeanImpl;
 import org.apache.webbeans.portable.events.ProcessInjectionTargetImpl;
+import org.apache.webbeans.portable.events.ProcessProducerImpl;
 import org.apache.webbeans.portable.events.discovery.AfterBeanDiscoveryImpl;
 import org.apache.webbeans.portable.events.discovery.AfterDeploymentValidationImpl;
 import org.apache.webbeans.portable.events.discovery.BeforeBeanDiscoveryImpl;
 import org.apache.webbeans.portable.events.generics.GProcessInjectionTarget;
+import org.apache.webbeans.portable.events.generics.GProcessManagedBean;
 import org.apache.webbeans.spi.JNDIService;
 import org.apache.webbeans.spi.ScannerService;
 import org.apache.webbeans.spi.plugins.OpenWebBeansJavaEEPlugin;
@@ -838,16 +851,16 @@ public class BeansDeployer
             {
                 annotationTypeSet = true;
             }
-
             
+            InjectionTargetBean<T> bean = managedBeanCreator.defineManagedBean(annotatedType);
+
             GProcessInjectionTarget processInjectionTarget = null;
             if(processInjectionTargetEvent == null)
             {
-                processInjectionTarget = webBeansContext.getWebBeansUtil().createProcessInjectionTargetEvent(managedBeanCreator.getBean());
+                processInjectionTarget = webBeansContext.getWebBeansUtil().createProcessInjectionTargetEvent(bean);
                 processInjectionTargetEvent = processInjectionTarget;
             }
 
-            InjectionTargetBean<T> bean;
             if(WebBeansUtil.isDecorator(annotatedType))
             {
                 if (logger.isLoggable(Level.FINE))
@@ -911,7 +924,101 @@ public class BeansDeployer
                 {
                     logger.log(Level.FINE, "Found Managed Bean with class name : [{0}]", annotatedType.getJavaClass().getName());
                 }
-                bean = managedBeanCreator.defineManagedBean(processInjectionTargetEvent);
+
+                Set<ObserverMethod<?>> observerMethods = new HashSet<ObserverMethod<?>>();
+                ((InjectionTargetProducer)processInjectionTargetEvent.getInjectionTarget()).setBean(bean);
+                if(managedBeanCreator.isEnabled())
+                {
+                    observerMethods = managedBeanCreator.defineObserverMethods(bean);
+                }
+                Set<ProducerMethodBean<?>> producerMethods = managedBeanCreator.defineProducerMethods(bean);
+                Set<ProducerFieldBean<?>> producerFields = managedBeanCreator.defineProducerFields(bean);
+
+                //Put final InjectionTarget instance
+                bean.setProducer(processInjectionTargetEvent.getInjectionTarget());
+
+                if (bean instanceof ManagedBean)
+                {
+                    ManagedBean<T> managedBean = (ManagedBean<T>)bean;
+                    Map<ProducerMethodBean<?>,AnnotatedMethod<?>> annotatedMethods =
+                            new HashMap<ProducerMethodBean<?>, AnnotatedMethod<?>>();
+
+                    for(ProducerMethodBean<?> producerMethod : producerMethods)
+                    {
+                        AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(producerMethod.getCreatorMethod(), annotatedType);
+                        ProcessProducerImpl<?, ?> producerEvent = webBeansContext.getWebBeansUtil().fireProcessProducerEventForMethod(producerMethod,
+                                method);
+                        webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessProducer event observers for "
+                                + "ProducerMethods. Look at logs for further details");
+
+                        annotatedMethods.put(producerMethod, method);
+                        producerMethod.setProducer((Producer) producerEvent.getProducer());
+                    }
+
+                    Map<ProducerFieldBean<?>,AnnotatedField<?>> annotatedFields =
+                            new HashMap<ProducerFieldBean<?>, AnnotatedField<?>>();
+
+                    for(ProducerFieldBean<?> producerField : producerFields)
+                    {
+                        AnnotatedField<?> field = webBeansContext.getAnnotatedElementFactory().newAnnotatedField(producerField.getCreatorField(), annotatedType);
+                        ProcessProducerImpl<?, ?> producerEvent = webBeansContext.getWebBeansUtil().fireProcessProducerEventForField(producerField, field);
+                        webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessProducer event observers for"
+                                + " ProducerFields. Look at logs for further details");
+
+                        annotatedFields.put(producerField, field);
+                        producerField.setProducer((Producer) producerEvent.getProducer());
+                    }
+
+                    Map<ObserverMethod<?>,AnnotatedMethod<?>> observerMethodsMap =
+                            new HashMap<ObserverMethod<?>, AnnotatedMethod<?>>();
+
+                    for(ObserverMethod<?> observerMethod : observerMethods)
+                    {
+                        ObserverMethodImpl<?> impl = (ObserverMethodImpl<?>)observerMethod;
+                        AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(impl.getObserverMethod(), annotatedType);
+
+                        observerMethodsMap.put(observerMethod, method);
+                    }
+
+                    BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();
+
+                    //Fires ProcessManagedBean
+                    ProcessBeanImpl<T> processBeanEvent = new GProcessManagedBean(managedBean, annotatedType);
+                    beanManager.fireEvent(processBeanEvent);
+                    webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessManagedBean event observers for " +
+                            "managed beans. Look at logs for further details");
+
+                    //Fires ProcessProducerMethod
+                    webBeansContext.getWebBeansUtil().fireProcessProducerMethodBeanEvent(annotatedMethods, annotatedType);
+                    webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessProducerMethod event observers for " +
+                            "producer method beans. Look at logs for further details");
+
+                    //Fires ProcessProducerField
+                    webBeansContext.getWebBeansUtil().fireProcessProducerFieldBeanEvent(annotatedFields);
+                    webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessProducerField event observers for " +
+                            "producer field beans. Look at logs for further details");
+
+                    //Fire ObservableMethods
+                    webBeansContext.getWebBeansUtil().fireProcessObservableMethodBeanEvent(observerMethodsMap);
+                    webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are added by ProcessObserverMethod event observers for " +
+                            "observer methods. Look at logs for further details");
+
+                    if(!webBeansContext.getWebBeansUtil().isAnnotatedTypeDecoratorOrInterceptor(annotatedType))
+                    {
+                        beanManager.addBean(bean);
+                        for (ProducerMethodBean<?> producerMethod : producerMethods)
+                        {
+                            // add them one after the other to enable serialization handling et al
+                            beanManager.addBean(producerMethod);
+                        }
+                        managedBeanCreator.validateDisposalMethods(bean);//Define disposal method after adding producers
+                        for (ProducerFieldBean<?> producerField : producerFields)
+                        {
+                            // add them one after the other to enable serialization handling et al
+                            beanManager.addBean(producerField);
+                        }
+                    }
+                }
             }
 
             if(processInjectionTarget != null)

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java?rev=1433006&r1=1433005&r2=1433006&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java Mon Jan 14 17:42:03 2013
@@ -31,6 +31,7 @@ import javax.enterprise.inject.IllegalPr
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.InjectionPoint;
 import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.Producer;
 import javax.inject.Provider;
 
 import org.apache.webbeans.component.AbstractProducerBean;
@@ -59,13 +60,13 @@ import org.apache.webbeans.util.WebBeans
 public abstract class AbstractInjectable<T> implements Injectable<T>
 {
 
-    private InjectionTarget<?> owner;
+    private Producer<?> owner;
     
     private CreationalContextImpl<?> context;
     
     public static ThreadLocal<Object> instanceUnderInjection = new ThreadLocal<Object>();
 
-    protected AbstractInjectable(InjectionTarget<?> owner, CreationalContextImpl<?> creationalContext)
+    protected AbstractInjectable(Producer<?> owner, CreationalContextImpl<?> creationalContext)
     {
         this.owner = owner;
         this.context = creationalContext;

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java?rev=1433006&r1=1433005&r2=1433006&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/InjectableMethod.java Mon Jan 14 17:42:03 2013
@@ -31,6 +31,7 @@ import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.InjectionPoint;
 import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.Producer;
 
 import org.apache.webbeans.annotation.DefaultLiteral;
 import org.apache.webbeans.component.ProducerMethodBean;
@@ -61,7 +62,7 @@ public class InjectableMethod<T> extends
      * @param m injectable method
      * @param instance component instance
      */
-    public InjectableMethod(Method m, Object instance, InjectionTarget<T> owner, CreationalContextImpl<T> creationalContext)
+    public InjectableMethod(Method m, Object instance, Producer<T> owner, CreationalContextImpl<T> creationalContext)
     {
         super(owner,creationalContext);
         method = m;