[weld-commits] Weld SVN: r5103 - in core/trunk/impl/src/main/java/org/jboss/weld: bean/interceptor and 2 other directories.
weld-commits at lists.jboss.org
weld-commits at lists.jboss.org
Fri Nov 20 02:12:29 EST 2009
Author: marius.bogoevici
Date: 2009-11-20 02:12:28 -0500 (Fri, 20 Nov 2009)
New Revision: 5103
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandlerFactory.java
core/trunk/impl/src/main/java/org/jboss/weld/el/AbstractWeldELResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverMethodImpl.java
Log:
WELD-300: getReference() modified, added a parameter indicating whether the reference obtained is a delegate, so that the injected instance is not a proxy.
Modified: core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java 2009-11-19 17:51:13 UTC (rev 5102)
+++ core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java 2009-11-20 07:12:28 UTC (rev 5103)
@@ -59,7 +59,6 @@
import javax.inject.Qualifier;
import org.jboss.interceptor.registry.InterceptorRegistry;
-import org.jboss.weld.bean.DecoratorImpl;
import org.jboss.weld.bean.NewBean;
import org.jboss.weld.bean.RIBean;
import org.jboss.weld.bean.SessionBean;
@@ -935,14 +934,14 @@
}
- public Object getReference(Bean<?> bean, CreationalContext<?> creationalContext)
+ public Object getReference(Bean<?> bean, CreationalContext<?> creationalContext, boolean delegate)
{
bean = getMostSpecializedBean(bean);
if (creationalContext instanceof WeldCreationalContext<?>)
{
creationalContext = ((WeldCreationalContext<?>) creationalContext).getCreationalContext(bean);
}
- if (isProxyRequired(bean))
+ if (!delegate && isProxyRequired(bean))
{
if (creationalContext != null || getContext(bean.getScope()).get(bean) != null)
{
@@ -981,7 +980,7 @@
{
throw new IllegalArgumentException("The given beanType is not a type " + beanType +" of the bean " + bean );
}
- return getReference(bean, creationalContext);
+ return getReference(bean, creationalContext, false);
}
@@ -996,6 +995,7 @@
public Object getReference(InjectionPoint injectionPoint, Bean<?> resolvedBean, CreationalContext<?> creationalContext)
{
boolean registerInjectionPoint = (injectionPoint != null && !injectionPoint.getType().equals(InjectionPoint.class));
+ boolean delegateInjectionPoint = injectionPoint != null && injectionPoint.isDelegate();
try
{
if (registerInjectionPoint)
@@ -1016,12 +1016,12 @@
}
else
{
- return getReference(resolvedBean, wbCreationalContext);
+ return getReference(resolvedBean, wbCreationalContext, delegateInjectionPoint);
}
}
else
{
- return getReference(resolvedBean, creationalContext);
+ return getReference(resolvedBean, creationalContext, delegateInjectionPoint);
}
}
finally
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandlerFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandlerFactory.java 2009-11-19 17:51:13 UTC (rev 5102)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/interceptor/CdiInterceptorHandlerFactory.java 2009-11-20 07:12:28 UTC (rev 5103)
@@ -48,7 +48,7 @@
@SuppressWarnings("unchecked")
public InterceptionHandler createFor(final SerializableContextual<Interceptor<Object>, Object> serializableContextual)
{
- Object instance = getManager().getReference(serializableContextual.get(), creationalContext);
+ Object instance = getManager().getReference(serializableContextual.get(), creationalContext, false);
return new CdiInterceptorHandler(new SerializableContextualInstanceImpl<Interceptor<Object>, Object>(serializableContextual, instance, creationalContext),
serializableContextual.get().getBeanClass());
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/el/AbstractWeldELResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/el/AbstractWeldELResolver.java 2009-11-19 17:51:13 UTC (rev 5102)
+++ core/trunk/impl/src/main/java/org/jboss/weld/el/AbstractWeldELResolver.java 2009-11-20 07:12:28 UTC (rev 5103)
@@ -111,7 +111,7 @@
public Object call() throws Exception
{
- return getManager(context).getReference(bean, creationalContext);
+ return getManager(context).getReference(bean, creationalContext, false);
}
});
Modified: core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverMethodImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverMethodImpl.java 2009-11-19 17:51:13 UTC (rev 5102)
+++ core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverMethodImpl.java 2009-11-20 07:12:28 UTC (rev 5103)
@@ -222,7 +222,7 @@
{
creationalContext = manager.createCreationalContext(declaringBean);
}
- instance = manager.getReference(declaringBean, creationalContext);
+ instance = manager.getReference(declaringBean, creationalContext, false);
if (instance == null)
{
return;
More information about the weld-commits
mailing list