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;