You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2010/07/11 02:24:21 UTC
svn commit: r962953 - in /openwebbeans/trunk:
webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/
webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/
webbeans-impl/src/main/java/org/apache/webbeans/component/ webbeans-imp...
Author: gerdogdu
Date: Sun Jul 11 00:24:20 2010
New Revision: 962953
URL: http://svn.apache.org/viewvc?rev=962953&view=rev
Log:
OWB-405 refactored JavassistProxyFactory from static maps to singletons
Modified:
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java Sun Jul 11 00:24:20 2010
@@ -503,12 +503,12 @@ public class OpenWebBeansEjbInterceptor
if (injectionTarget.getDecoratorStack().size() > 0)
{
- Class<?> proxyClass = JavassistProxyFactory.getInterceptorProxyClasses().get(injectionTarget);
+ Class<?> proxyClass = JavassistProxyFactory.getInstance().getInterceptorProxyClasses().get(injectionTarget);
if (proxyClass == null)
{
- ProxyFactory delegateFactory = JavassistProxyFactory.createProxyFactory(injectionTarget);
- proxyClass = JavassistProxyFactory.getProxyClass(delegateFactory);
- JavassistProxyFactory.getInterceptorProxyClasses().put(injectionTarget, proxyClass);
+ ProxyFactory delegateFactory = JavassistProxyFactory.getInstance().createProxyFactory(injectionTarget);
+ proxyClass = JavassistProxyFactory.getInstance().getProxyClass(delegateFactory);
+ JavassistProxyFactory.getInstance().getInterceptorProxyClasses().put(injectionTarget, proxyClass);
}
Object delegate = proxyClass.newInstance();
delegateHandler = new DelegateHandler(threadLocal.get(),ejbContext);
Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java Sun Jul 11 00:24:20 2010
@@ -52,7 +52,7 @@ public final class EjbDefinitionUtility
{
bean.setIface(iface);
- Class<?> clazz = JavassistProxyFactory.getEjbBeanProxyClass(bean);
+ Class<?> clazz = JavassistProxyFactory.getInstance().getEjbBeanProxyClass(bean);
if(clazz != null)
{
return (T)clazz.newInstance();
@@ -65,7 +65,7 @@ public final class EjbDefinitionUtility
factory.setHandler(handler);
factory.setInterfaces(new Class[]{iface});
- return (T)(JavassistProxyFactory.defineEjbBeanProxyClass(bean, factory).newInstance());
+ return (T)(JavassistProxyFactory.getInstance().defineEjbBeanProxyClass(bean, factory).newInstance());
}
catch(Exception e)
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java Sun Jul 11 00:24:20 2010
@@ -140,7 +140,7 @@ public abstract class AbstractInjectionT
boolean isDependentProxy = false;
if(getScope() == Dependent.class && !(this instanceof EnterpriseBeanMarker))
{
- T result = (T)JavassistProxyFactory.createDependentScopedBeanProxy(this, instance, creationalContext);
+ T result = (T)JavassistProxyFactory.getInstance().createDependentScopedBeanProxy(this, instance, creationalContext);
//Means that Dependent Bean has interceptor/decorator
if(JavassistProxyFactory.isProxyInstance(result))
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java Sun Jul 11 00:24:20 2010
@@ -54,13 +54,13 @@ public class ResourceBean<X, T extends A
try
{
//X TODO cache proxy class!
- ProxyFactory proxyFactory = JavassistProxyFactory.createProxyFactory(this);
+ ProxyFactory proxyFactory = JavassistProxyFactory.getInstance().createProxyFactory(this);
ResourceInjectionService resourceService = ServiceLoader.getService(ResourceInjectionService.class);
this.actualResourceReference = resourceService.getResourceReference(this.resourceReference);
proxyFactory.setHandler(new ResourceProxyHandler(this.actualResourceReference));
- instance = (X)(JavassistProxyFactory.getProxyClass(proxyFactory).newInstance());
+ instance = (X)(JavassistProxyFactory.getInstance().getProxyClass(proxyFactory).newInstance());
}
catch (Exception e)
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java Sun Jul 11 00:24:20 2010
@@ -809,7 +809,7 @@ public class BeanManagerImpl implements
}
//Create Managed Bean Proxy
- instance = JavassistProxyFactory.createNormalScopedBeanProxy((AbstractOwbBean<?>)bean,creationalContext);
+ instance = JavassistProxyFactory.getInstance().createNormalScopedBeanProxy((AbstractOwbBean<?>)bean,creationalContext);
}
//Create Pseudo-Scope Bean Instance
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java Sun Jul 11 00:24:20 2010
@@ -348,7 +348,7 @@ public class WebBeansDecorator<T> extend
Context context = BeanManagerImpl.getManager().getContext(getScope());
Object actualInstance = context.get((Bean<Object>)this.wrappedBean, (CreationalContext<Object>)creationalContext);
- T proxy = (T)JavassistProxyFactory.createDependentScopedBeanProxy(this.wrappedBean, actualInstance, creationalContext);
+ T proxy = (T)JavassistProxyFactory.getInstance().createDependentScopedBeanProxy(this.wrappedBean, actualInstance, creationalContext);
return proxy;
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java Sun Jul 11 00:24:20 2010
@@ -203,12 +203,12 @@ public abstract class InterceptorHandler
List<Object> decorators = null;
if (injectionTarget.getDecoratorStack().size() > 0)
{
- Class<?> proxyClass = JavassistProxyFactory.getInterceptorProxyClasses().get(bean);
+ Class<?> proxyClass = JavassistProxyFactory.getInstance().getInterceptorProxyClasses().get(bean);
if (proxyClass == null)
{
- ProxyFactory delegateFactory = JavassistProxyFactory.createProxyFactory(bean);
- proxyClass = JavassistProxyFactory.getProxyClass(delegateFactory);
- JavassistProxyFactory.getInterceptorProxyClasses().put(bean, proxyClass);
+ ProxyFactory delegateFactory = JavassistProxyFactory.getInstance().createProxyFactory(bean);
+ proxyClass = JavassistProxyFactory.getInstance().getProxyClass(delegateFactory);
+ JavassistProxyFactory.getInstance().getInterceptorProxyClasses().put(bean, proxyClass);
}
Object delegate = proxyClass.newInstance();
delegateHandler = new DelegateHandler(this.bean);
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java Sun Jul 11 00:24:20 2010
@@ -295,7 +295,7 @@ public class WebBeansInterceptor<T> exte
{
Context context = BeanManagerImpl.getManager().getContext(getScope());
Object actualInstance = context.get((Bean<Object>)this.delegateBean, (CreationalContext<Object>)creationalContext);
- T proxy = (T)JavassistProxyFactory.createDependentScopedBeanProxy(this.delegateBean, actualInstance, creationalContext);
+ T proxy = (T)JavassistProxyFactory.getInstance().createDependentScopedBeanProxy(this.delegateBean, actualInstance, creationalContext);
return proxy;
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java Sun Jul 11 00:24:20 2010
@@ -157,7 +157,7 @@ public abstract class AbstractLifeCycle
InjectionResolver.getInstance().clearCaches();
//Delte proxies
- JavassistProxyFactory.clear();
+ JavassistProxyFactory.getInstance().clear();
//Delete AnnotateTypeCache
AnnotatedElementFactory.getInstance().clear();
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java Sun Jul 11 00:24:20 2010
@@ -39,6 +39,7 @@ import javax.enterprise.inject.spi.Decor
import org.apache.webbeans.annotation.WebBeansAnnotation;
import org.apache.webbeans.component.InjectionTargetBean;
import org.apache.webbeans.component.OwbBean;
+import org.apache.webbeans.config.WebBeansFinder;
import org.apache.webbeans.context.creational.CreationalContextImpl;
import org.apache.webbeans.decorator.AbstractDecoratorMethodHandler;
import org.apache.webbeans.decorator.WebBeansDecorator;
@@ -58,20 +59,27 @@ public final class JavassistProxyFactory
}
- private static Map<OwbBean<?>, Class<?>> normalScopedBeanProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
+ private Map<OwbBean<?>, Class<?>> normalScopedBeanProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
- private static Map<OwbBean<?>, Class<?>> dependentScopedBeanProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
+ private Map<OwbBean<?>, Class<?>> dependentScopedBeanProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
- private static Map<OwbBean<?>, Class<?>> interceptorProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
+ private Map<OwbBean<?>, Class<?>> interceptorProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
- private static Map<OwbBean<?>, Class<?>> ejbProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
+ private Map<OwbBean<?>, Class<?>> ejbProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
- public static Map<OwbBean<?>, Class<?>> getInterceptorProxyClasses()
+ public Map<OwbBean<?>, Class<?>> getInterceptorProxyClasses()
{
return interceptorProxyClasses;
}
- public static void clear()
+ public static JavassistProxyFactory getInstance()
+ {
+ JavassistProxyFactory aef = (JavassistProxyFactory) WebBeansFinder.getSingletonInstance(JavassistProxyFactory.class.getName());
+ return aef;
+ }
+
+
+ public void clear()
{
normalScopedBeanProxyClasses.clear();
dependentScopedBeanProxyClasses.clear();
@@ -79,12 +87,12 @@ public final class JavassistProxyFactory
ejbProxyClasses.clear();
}
- public static Class<?> getEjbBeanProxyClass(OwbBean<?> bean)
+ public Class<?> getEjbBeanProxyClass(OwbBean<?> bean)
{
return ejbProxyClasses.get(bean);
}
- public static Class<?> defineEjbBeanProxyClass(OwbBean<?> bean, ProxyFactory factory)
+ public Class<?> defineEjbBeanProxyClass(OwbBean<?> bean, ProxyFactory factory)
{
Class<?> clazz = ejbProxyClasses.get(bean);
if(clazz != null)
@@ -100,7 +108,7 @@ public final class JavassistProxyFactory
return clazz;
}
- public static Class<?> createAbstractDecoratorProxyClass(OwbBean<?> bean)
+ public Class<?> createAbstractDecoratorProxyClass(OwbBean<?> bean)
{
//Will only get called once while defining the bean, so no need to cache
Class<?> clazz = null;
@@ -119,7 +127,7 @@ public final class JavassistProxyFactory
}
- public static Object createNormalScopedBeanProxy(OwbBean<?> bean, CreationalContext<?> creationalContext)
+ public Object createNormalScopedBeanProxy(OwbBean<?> bean, CreationalContext<?> creationalContext)
{
Object result = null;
try
@@ -155,7 +163,7 @@ public final class JavassistProxyFactory
return result;
}
- public static Object createDependentScopedBeanProxy(OwbBean<?> bean, Object actualInstance, CreationalContext<?> creastionalContext)
+ public Object createDependentScopedBeanProxy(OwbBean<?> bean, Object actualInstance, CreationalContext<?> creastionalContext)
{
Object result = null;
@@ -242,7 +250,7 @@ public final class JavassistProxyFactory
}
- public static Class<?> getProxyClass(ProxyFactory factory)
+ public Class<?> getProxyClass(ProxyFactory factory)
{
Class<?> proxyClass = null;
try
@@ -268,7 +276,7 @@ public final class JavassistProxyFactory
return proxyClass;
}
- public static ProxyFactory createProxyFactory(Bean<?> bean) throws Exception
+ public ProxyFactory createProxyFactory(Bean<?> bean) throws Exception
{
Set<Type> types = bean.getTypes();
Set<Class<?>> interfaceList = new HashSet<Class<?>>();
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java Sun Jul 11 00:24:20 2010
@@ -772,7 +772,7 @@ public final class WebBeansAnnotatedType
{
ManagedBean<T> bean = defineManagedBean(type);
- Class clazz = JavassistProxyFactory.createAbstractDecoratorProxyClass(bean);
+ Class clazz = JavassistProxyFactory.getInstance().createAbstractDecoratorProxyClass(bean);
bean.setConstructor(WebBeansUtil.defineConstructor(clazz));
return bean;
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=962953&r1=962952&r2=962953&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java Sun Jul 11 00:24:20 2010
@@ -2949,7 +2949,7 @@ public final class WebBeansUtil
{
ManagedBean<T> bean = defineManagedBean(managedBeanCreator, processInjectionTargetEvent);
- Class clazz = JavassistProxyFactory.createAbstractDecoratorProxyClass(bean);
+ Class clazz = JavassistProxyFactory.getInstance().createAbstractDecoratorProxyClass(bean);
bean.setConstructor(WebBeansUtil.defineConstructor(clazz));
return bean;
}
Re: svn commit: r962953 - in /openwebbeans/trunk: webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/ webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/ webbeans-impl/src/main/java/org/apache/webbeans/component/ webbeans-imp...
Posted by Mark Struberg <st...@yahoo.de>.
good catch, txs!
It wasn't causing immediate problems because OwbBean of one ClassLoader -! OwbBean of another, but that might not be true anymore if Extensions provide some beans.
Hmm, which leads me to the question: do we need to implement some special equals() and hashCode() logic in our Beans?
LieGrue,
strub
--- On Sun, 7/11/10, gerdogdu@apache.org <ge...@apache.org> wrote:
> From: gerdogdu@apache.org <ge...@apache.org>
> Subject: svn commit: r962953 - in /openwebbeans/trunk: webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/ webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/ webbeans-impl/src/main/java/org/apache/webbeans/component/ webbeans-imp...
> To: commits@openwebbeans.apache.org
> Date: Sunday, July 11, 2010, 12:24 AM
> Author: gerdogdu
> Date: Sun Jul 11 00:24:20 2010
> New Revision: 962953
>
> URL: http://svn.apache.org/viewvc?rev=962953&view=rev
> Log:
> OWB-405 refactored JavassistProxyFactory from static maps
> to singletons
>
> Modified:
>
> openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java
>
> openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java
>
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
>
> Modified:
> openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java
> (original)
> +++
> openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/OpenWebBeansEjbInterceptor.java
> Sun Jul 11 00:24:20 2010
> @@ -503,12 +503,12 @@ public class
> OpenWebBeansEjbInterceptor
>
> if
> (injectionTarget.getDecoratorStack().size() > 0)
> {
> -
> Class<?> proxyClass =
> JavassistProxyFactory.getInterceptorProxyClasses().get(injectionTarget);
> +
> Class<?> proxyClass =
> JavassistProxyFactory.getInstance().getInterceptorProxyClasses().get(injectionTarget);
>
> if (proxyClass == null)
>
> {
> -
> ProxyFactory delegateFactory =
> JavassistProxyFactory.createProxyFactory(injectionTarget);
> -
> proxyClass =
> JavassistProxyFactory.getProxyClass(delegateFactory);
> -
>
> JavassistProxyFactory.getInterceptorProxyClasses().put(injectionTarget,
> proxyClass);
> +
> ProxyFactory delegateFactory =
> JavassistProxyFactory.getInstance().createProxyFactory(injectionTarget);
> +
> proxyClass =
> JavassistProxyFactory.getInstance().getProxyClass(delegateFactory);
> +
>
> JavassistProxyFactory.getInstance().getInterceptorProxyClasses().put(injectionTarget,
> proxyClass);
>
> }
>
> Object delegate =
> proxyClass.newInstance();
>
> delegateHandler = new
> DelegateHandler(threadLocal.get(),ejbContext);
>
> Modified:
> openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java
> (original)
> +++
> openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java
> Sun Jul 11 00:24:20 2010
> @@ -52,7 +52,7 @@ public final class EjbDefinitionUtility
> {
>
> bean.setIface(iface);
>
> - Class<?>
> clazz = JavassistProxyFactory.getEjbBeanProxyClass(bean);
> + Class<?>
> clazz =
> JavassistProxyFactory.getInstance().getEjbBeanProxyClass(bean);
>
> if(clazz != null)
> {
>
> return (T)clazz.newInstance();
> @@ -65,7 +65,7 @@ public final class EjbDefinitionUtility
>
> factory.setHandler(handler);
>
> factory.setInterfaces(new
> Class[]{iface});
>
> - return
> (T)(JavassistProxyFactory.defineEjbBeanProxyClass(bean,
> factory).newInstance());
> + return
> (T)(JavassistProxyFactory.getInstance().defineEjbBeanProxyClass(bean,
> factory).newInstance());
>
> }
> catch(Exception e)
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
> Sun Jul 11 00:24:20 2010
> @@ -140,7 +140,7 @@ public abstract class
> AbstractInjectionT
> boolean
> isDependentProxy = false;
> if(getScope() ==
> Dependent.class && !(this instanceof
> EnterpriseBeanMarker))
> {
> - T result =
> (T)JavassistProxyFactory.createDependentScopedBeanProxy(this,
> instance, creationalContext);
> + T result =
> (T)JavassistProxyFactory.getInstance().createDependentScopedBeanProxy(this,
> instance, creationalContext);
>
> //Means that Dependent Bean has
> interceptor/decorator
>
> if(JavassistProxyFactory.isProxyInstance(result))
> {
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
> Sun Jul 11 00:24:20 2010
> @@ -54,13 +54,13 @@ public class ResourceBean<X, T
> extends A
> try
> {
> //X
> TODO cache proxy class!
> - ProxyFactory
> proxyFactory =
> JavassistProxyFactory.createProxyFactory(this);
> + ProxyFactory
> proxyFactory =
> JavassistProxyFactory.getInstance().createProxyFactory(this);
>
>
> ResourceInjectionService resourceService =
> ServiceLoader.getService(ResourceInjectionService.class);
>
> this.actualResourceReference =
> resourceService.getResourceReference(this.resourceReference);
>
> proxyFactory.setHandler(new
> ResourceProxyHandler(this.actualResourceReference));
>
> - instance =
> (X)(JavassistProxyFactory.getProxyClass(proxyFactory).newInstance());
> + instance =
> (X)(JavassistProxyFactory.getInstance().getProxyClass(proxyFactory).newInstance());
> }
> catch (Exception e)
> {
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
> Sun Jul 11 00:24:20 2010
> @@ -809,7 +809,7 @@ public class BeanManagerImpl implements
>
> }
>
>
> //Create Managed Bean Proxy
> - instance =
> JavassistProxyFactory.createNormalScopedBeanProxy((AbstractOwbBean<?>)bean,creationalContext);
> + instance =
> JavassistProxyFactory.getInstance().createNormalScopedBeanProxy((AbstractOwbBean<?>)bean,creationalContext);
>
> }
> //Create
> Pseudo-Scope Bean Instance
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
> Sun Jul 11 00:24:20 2010
> @@ -348,7 +348,7 @@ public class WebBeansDecorator<T>
> extend
>
> Context context =
> BeanManagerImpl.getManager().getContext(getScope());
> Object
> actualInstance =
> context.get((Bean<Object>)this.wrappedBean,
> (CreationalContext<Object>)creationalContext);
> - T proxy =
> (T)JavassistProxyFactory.createDependentScopedBeanProxy(this.wrappedBean,
> actualInstance, creationalContext);
> + T proxy =
> (T)JavassistProxyFactory.getInstance().createDependentScopedBeanProxy(this.wrappedBean,
> actualInstance, creationalContext);
>
> return proxy;
>
> }
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
> Sun Jul 11 00:24:20 2010
> @@ -203,12 +203,12 @@ public abstract class
> InterceptorHandler
>
> List<Object> decorators =
> null;
>
> if
> (injectionTarget.getDecoratorStack().size() > 0)
>
> {
> -
> Class<?> proxyClass =
> JavassistProxyFactory.getInterceptorProxyClasses().get(bean);
> +
> Class<?> proxyClass =
> JavassistProxyFactory.getInstance().getInterceptorProxyClasses().get(bean);
>
> if (proxyClass ==
> null)
>
> {
> -
> ProxyFactory
> delegateFactory =
> JavassistProxyFactory.createProxyFactory(bean);
> -
> proxyClass =
> JavassistProxyFactory.getProxyClass(delegateFactory);
> -
>
> JavassistProxyFactory.getInterceptorProxyClasses().put(bean,
> proxyClass);
> +
> ProxyFactory
> delegateFactory =
> JavassistProxyFactory.getInstance().createProxyFactory(bean);
> +
> proxyClass =
> JavassistProxyFactory.getInstance().getProxyClass(delegateFactory);
> +
>
> JavassistProxyFactory.getInstance().getInterceptorProxyClasses().put(bean,
> proxyClass);
>
> }
>
> Object delegate =
> proxyClass.newInstance();
>
> delegateHandler = new
> DelegateHandler(this.bean);
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/webbeans/WebBeansInterceptor.java
> Sun Jul 11 00:24:20 2010
> @@ -295,7 +295,7 @@ public class
> WebBeansInterceptor<T> exte
> {
> Context context =
> BeanManagerImpl.getManager().getContext(getScope());
> Object
> actualInstance =
> context.get((Bean<Object>)this.delegateBean,
> (CreationalContext<Object>)creationalContext);
> - T proxy =
> (T)JavassistProxyFactory.createDependentScopedBeanProxy(this.delegateBean,
> actualInstance, creationalContext);
> + T proxy =
> (T)JavassistProxyFactory.getInstance().createDependentScopedBeanProxy(this.delegateBean,
> actualInstance, creationalContext);
>
> return proxy;
> }
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
> Sun Jul 11 00:24:20 2010
> @@ -157,7 +157,7 @@ public abstract class AbstractLifeCycle
>
>
> InjectionResolver.getInstance().clearCaches();
>
>
> //Delte proxies
> -
> JavassistProxyFactory.clear();
> +
> JavassistProxyFactory.getInstance().clear();
>
>
> //Delete AnnotateTypeCache
>
> AnnotatedElementFactory.getInstance().clear();
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
> Sun Jul 11 00:24:20 2010
> @@ -39,6 +39,7 @@ import javax.enterprise.inject.spi.Decor
> import org.apache.webbeans.annotation.WebBeansAnnotation;
> import org.apache.webbeans.component.InjectionTargetBean;
> import org.apache.webbeans.component.OwbBean;
> +import org.apache.webbeans.config.WebBeansFinder;
> import
> org.apache.webbeans.context.creational.CreationalContextImpl;
> import
> org.apache.webbeans.decorator.AbstractDecoratorMethodHandler;
> import org.apache.webbeans.decorator.WebBeansDecorator;
> @@ -58,20 +59,27 @@ public final class
> JavassistProxyFactory
>
> }
>
> - private static Map<OwbBean<?>,
> Class<?>> normalScopedBeanProxyClasses = new
> ConcurrentHashMap<OwbBean<?>,
> Class<?>>();
> + private Map<OwbBean<?>,
> Class<?>> normalScopedBeanProxyClasses = new
> ConcurrentHashMap<OwbBean<?>,
> Class<?>>();
>
> - private static Map<OwbBean<?>,
> Class<?>> dependentScopedBeanProxyClasses = new
> ConcurrentHashMap<OwbBean<?>,
> Class<?>>();
> + private Map<OwbBean<?>,
> Class<?>> dependentScopedBeanProxyClasses = new
> ConcurrentHashMap<OwbBean<?>,
> Class<?>>();
>
> - private static Map<OwbBean<?>,
> Class<?>> interceptorProxyClasses = new
> ConcurrentHashMap<OwbBean<?>,
> Class<?>>();
> + private Map<OwbBean<?>,
> Class<?>> interceptorProxyClasses = new
> ConcurrentHashMap<OwbBean<?>,
> Class<?>>();
>
> - private static Map<OwbBean<?>,
> Class<?>> ejbProxyClasses = new
> ConcurrentHashMap<OwbBean<?>,
> Class<?>>();
> + private Map<OwbBean<?>,
> Class<?>> ejbProxyClasses = new
> ConcurrentHashMap<OwbBean<?>,
> Class<?>>();
>
> - public static Map<OwbBean<?>,
> Class<?>> getInterceptorProxyClasses()
> +
> public Map<OwbBean<?>,
> Class<?>> getInterceptorProxyClasses()
> {
> return
> interceptorProxyClasses;
> }
>
> - public static void clear()
> + public static JavassistProxyFactory
> getInstance()
> + {
> + JavassistProxyFactory aef =
> (JavassistProxyFactory)
> WebBeansFinder.getSingletonInstance(JavassistProxyFactory.class.getName());
> + return aef;
> + }
> +
> +
> + public void clear()
> {
>
> normalScopedBeanProxyClasses.clear();
>
> dependentScopedBeanProxyClasses.clear();
> @@ -79,12 +87,12 @@ public final class
> JavassistProxyFactory
>
> ejbProxyClasses.clear();
> }
>
> - public static Class<?>
> getEjbBeanProxyClass(OwbBean<?> bean)
> + public Class<?>
> getEjbBeanProxyClass(OwbBean<?> bean)
> {
> return
> ejbProxyClasses.get(bean);
> }
>
> - public static Class<?>
> defineEjbBeanProxyClass(OwbBean<?> bean, ProxyFactory
> factory)
> + public Class<?>
> defineEjbBeanProxyClass(OwbBean<?> bean, ProxyFactory
> factory)
> {
> Class<?> clazz
> = ejbProxyClasses.get(bean);
> if(clazz != null)
> @@ -100,7 +108,7 @@ public final class
> JavassistProxyFactory
> return clazz;
> }
>
> - public static Class<?>
> createAbstractDecoratorProxyClass(OwbBean<?> bean)
> + public Class<?>
> createAbstractDecoratorProxyClass(OwbBean<?> bean)
> {
> //Will only get
> called once while defining the bean, so no need to cache
> Class<?> clazz
> = null;
> @@ -119,7 +127,7 @@ public final class
> JavassistProxyFactory
>
> }
>
> - public static Object
> createNormalScopedBeanProxy(OwbBean<?> bean,
> CreationalContext<?> creationalContext)
> + public Object
> createNormalScopedBeanProxy(OwbBean<?> bean,
> CreationalContext<?> creationalContext)
> {
> Object result =
> null;
> try
> @@ -155,7 +163,7 @@ public final class
> JavassistProxyFactory
> return result;
> }
>
> - public static Object
> createDependentScopedBeanProxy(OwbBean<?> bean, Object
> actualInstance, CreationalContext<?>
> creastionalContext)
> + public Object
> createDependentScopedBeanProxy(OwbBean<?> bean, Object
> actualInstance, CreationalContext<?>
> creastionalContext)
> {
> Object result =
> null;
>
> @@ -242,7 +250,7 @@ public final class
> JavassistProxyFactory
> }
>
>
> - public static Class<?>
> getProxyClass(ProxyFactory factory)
> + public Class<?>
> getProxyClass(ProxyFactory factory)
> {
> Class<?>
> proxyClass = null;
> try
> @@ -268,7 +276,7 @@ public final class
> JavassistProxyFactory
> return proxyClass;
> }
>
> - public static ProxyFactory
> createProxyFactory(Bean<?> bean) throws Exception
> + public ProxyFactory
> createProxyFactory(Bean<?> bean) throws Exception
> {
> Set<Type>
> types = bean.getTypes();
>
> Set<Class<?>> interfaceList =
> new HashSet<Class<?>>();
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java
> Sun Jul 11 00:24:20 2010
> @@ -772,7 +772,7 @@ public final class
> WebBeansAnnotatedType
> {
>
> ManagedBean<T>
> bean = defineManagedBean(type);
> - Class clazz =
> JavassistProxyFactory.createAbstractDecoratorProxyClass(bean);
> + Class clazz =
> JavassistProxyFactory.getInstance().createAbstractDecoratorProxyClass(bean);
>
> bean.setConstructor(WebBeansUtil.defineConstructor(clazz));
> return bean;
> }
>
> Modified:
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
> URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=962953&r1=962952&r2=962953&view=diff
> ==============================================================================
> ---
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
> (original)
> +++
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
> Sun Jul 11 00:24:20 2010
> @@ -2949,7 +2949,7 @@ public final class WebBeansUtil
> {
>
> ManagedBean<T>
> bean = defineManagedBean(managedBeanCreator,
> processInjectionTargetEvent);
> - Class clazz =
> JavassistProxyFactory.createAbstractDecoratorProxyClass(bean);
> + Class clazz =
> JavassistProxyFactory.getInstance().createAbstractDecoratorProxyClass(bean);
>
> bean.setConstructor(WebBeansUtil.defineConstructor(clazz));
> return bean;
> }
>
>
>