You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by db...@apache.org on 2011/01/20 05:47:02 UTC

svn commit: r1061122 [1/4] - in /openwebbeans/trunk: webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/ webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/interceptor/ webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/p...

Author: dblevins
Date: Thu Jan 20 04:46:59 2011
New Revision: 1061122

URL: http://svn.apache.org/viewvc?rev=1061122&view=rev
Log:
Getting down to the bottom of the pile
Destatic ResolutionUtil
Destatic InjectionPointFactory
A few methods moved from OWBInterceptor into the AnnotationManager instance
A few methods moved from WebBeansAnnotatedTypeUtil into the WebBeansUtil instance
The vast majority of the rest is converting code to get WebBeansContext instances where they were already close at hand.

OWB-503 status: 550 code uses
Total of 5535 static synchronized accesses and 5958 hashed calls in 340 tests
Average of 16 static synchronized accesses and 17 hashed calls per test

Modified:
    openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
    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/proxy/EjbBeanProxyHandler.java
    openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/CdiDefaultEjbInjector.java
    openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.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/AbstractOwbBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/NewBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java
    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/ManagedBeanCreatorImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLManagedBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorComparator.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecorator.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecoratorConfig.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/deployment/StereoTypeModel.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/WebBeansELResolver.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/EventImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/EventUtil.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.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/InjectableMethods.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/OWBInjector.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataComparator.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.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/InterceptorUtil.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/ejb/EJBInterceptorConfig.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/portable/creation/AbstractProducer.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/creation/DefaultInjectionTargetImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/creation/InjectionTargetProducer.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ExtensionLoader.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/discovery/AfterBeanDiscoveryImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/discovery/AfterDeploymentValidationImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/discovery/BeforeBeanDiscoveryImpl.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
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/XMLDefinitionUtil.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/concepts/apiTypes/tests/ApiTypeTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/portable/javaee/JavaEeInjectionTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/mock/MockManager.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/event/component/ObserversComponentTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/exception/ExceptionComponentTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/inject/InjectedInstanceComponentTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/inject/TypedComponentTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/inject/named/NamedTests.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/intercept/EJBInterceptorExceptionComponentTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/resolution/ManagerResolutionTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/specializes/logger/LoggerSpecializationTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/typedliteral/TypeLiteralTest.java
    openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/component/JmsBean.java
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/component/OpenEjbBean.java

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java Thu Jan 20 04:46:59 2011
@@ -49,11 +49,12 @@ public abstract class BaseEjbBean<T> ext
 
     /**
      * Creates a new instance of the session bean.
+     * @param webBeansContext
      * @param ejbClassType ebj class type
      */
-    public BaseEjbBean(Class<T> ejbClassType, SessionBeanType type)
+    public BaseEjbBean(Class<T> ejbClassType, SessionBeanType type, WebBeansContext webBeansContext)
     {
-        super(WebBeansType.ENTERPRISE,ejbClassType);
+        super(WebBeansType.ENTERPRISE,ejbClassType, webBeansContext);
         
         //type of the ejb
         this.ejbType = type;

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=1061122&r1=1061121&r2=1061122&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 Thu Jan 20 04:46:59 2011
@@ -300,10 +300,10 @@ public class OpenWebBeansEjbInterceptor 
         
         lifecycleCommon(context, InterceptorType.POST_CONSTRUCT);
 
-        if (WebBeansContext.getInstance().getOpenWebBeansConfiguration().isUseEJBInterceptorInjection())
+        if (webBeansContext.getOpenWebBeansConfiguration().isUseEJBInterceptorInjection())
         {
             Object instance = context.getTarget();
-            this.injector = new OWBInjector();
+            this.injector = new OWBInjector(webBeansContext);
             try
             {
                 this.injector.inject(instance, this.cc);
@@ -551,7 +551,7 @@ public class OpenWebBeansEjbInterceptor 
             if (delegateHandler != null)
             {
                 WebBeansDecoratorInterceptor lastInterceptor = new WebBeansDecoratorInterceptor(delegateHandler, instance);
-                decoratorInterceptorDataImpl = new InterceptorDataImpl(true, lastInterceptor);
+                decoratorInterceptorDataImpl = new InterceptorDataImpl(true, lastInterceptor, webBeansContext);
                 decoratorInterceptorDataImpl.setDefinedInInterceptorClass(true);
                 decoratorInterceptorDataImpl.setAroundInvoke(SecurityUtil.doPrivilegedGetDeclaredMethods(lastInterceptor.getClass())[0]);
                 filteredInterceptorStack.add(decoratorInterceptorDataImpl);

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java Thu Jan 20 04:46:59 2011
@@ -84,7 +84,7 @@ public class EjbBeanProxyHandler impleme
     {
         this.ejbBean = ejbBean;
 
-        if(ejbBean.getWebBeansContext().getWebBeansUtil()._isScopeTypeNormal(ejbBean.getScope()))
+        if(ejbBean.getWebBeansContext().getWebBeansUtil().isScopeTypeNormal(ejbBean.getScope()))
         {
             initiateBeanBag((OwbBean<Object>)ejbBean, (CreationalContext<Object>)creationalContext);
         }

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/CdiDefaultEjbInjector.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/CdiDefaultEjbInjector.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/CdiDefaultEjbInjector.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/CdiDefaultEjbInjector.java Thu Jan 20 04:46:59 2011
@@ -87,7 +87,7 @@ public class CdiDefaultEjbInjector
      */
     public void injectDependenciesOfEjbInterceptor(Object ejbInstance, Object interceptorInstance, Object mapKey) throws Exception
     {
-        OWBInjector owbInjector = new OWBInjector();
+        OWBInjector owbInjector = new OWBInjector(webBeansContext);
         CreationalContextImpl<Object> cc = null;
         //Look for contextual ejb or not
         if(this.injectedContextuals.containsKey(mapKey))
@@ -188,7 +188,7 @@ public class CdiDefaultEjbInjector
      */
     private void injectDependenciesOfNonContextualEjb(Object instance, Object mapKey) throws Exception
     {
-        OWBInjector owbInjector = new OWBInjector();        
+        OWBInjector owbInjector = new OWBInjector(webBeansContext);
         CreationalContextImpl<Object> cc = (CreationalContextImpl<Object>)this.beanManager.createCreationalContext(null);
         owbInjector.inject(instance,cc);
         

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java Thu Jan 20 04:46:59 2011
@@ -100,8 +100,8 @@ public final class EjbUtility
         
         //Fires ProcessInjectionTarget
         ProcessInjectionTargetImpl<T> processInjectionTargetEvent =
-            webBeansContext.getWebBeansUtil()._fireProcessInjectionTargetEvent(ejbBean);
-        webBeansContext.getWebBeansUtil()._inspectErrorStack(
+            webBeansContext.getWebBeansUtil().fireProcessInjectionTargetEvent(ejbBean);
+        webBeansContext.getWebBeansUtil().inspectErrorStack(
             "There are errors that are added by ProcessInjectionTarget event observers. Look at logs for further details");
         //Put final InjectionTarget instance
         manager.putInjectionTargetWrapper(ejbBean, new InjectionTargetWrapper(processInjectionTargetEvent.getInjectionTarget()));
@@ -111,9 +111,9 @@ public final class EjbUtility
         {
             AnnotatedMethod<?> method = annotatedElementFactory.newAnnotatedMethod(producerMethod.getCreatorMethod(), annotatedType);
             ProcessProducerImpl<?, ?> producerEvent =
-                webBeansContext.getWebBeansUtil()._fireProcessProducerEventForMethod(producerMethod,
+                webBeansContext.getWebBeansUtil().fireProcessProducerEventForMethod(producerMethod,
                                                                                                    method);
-            webBeansContext.getWebBeansUtil()._inspectErrorStack(
+            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);
@@ -127,8 +127,8 @@ public final class EjbUtility
         {
             AnnotatedField<?> field = annotatedElementFactory.newAnnotatedField(producerField.getCreatorField(), annotatedType);
             ProcessProducerImpl<?, ?> producerEvent =
-                webBeansContext.getWebBeansUtil()._fireProcessProducerEventForField(producerField, field);
-            webBeansContext.getWebBeansUtil()._inspectErrorStack(
+                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);
@@ -150,23 +150,23 @@ public final class EjbUtility
         //Fires ProcessManagedBean
         ProcessSessionBeanImpl<T> processBeanEvent = new GProcessSessionBean((Bean<Object>)ejbBean,annotatedType,ejbBean.getEjbName(),ejbBean.getEjbType());
         webBeansContext.getBeanManagerImpl().fireEvent(processBeanEvent, new Annotation[0]);
-        webBeansContext.getWebBeansUtil()._inspectErrorStack(
+        webBeansContext.getWebBeansUtil().inspectErrorStack(
             "There are errors that are added by ProcessSessionBean event observers for managed beans. Look at logs for further details");
 
         //Fires ProcessProducerMethod
-        webBeansContext.getWebBeansUtil()._fireProcessProducerMethodBeanEvent(annotatedMethods,
+        webBeansContext.getWebBeansUtil().fireProcessProducerMethodBeanEvent(annotatedMethods,
                                                                                             annotatedType);
-        webBeansContext.getWebBeansUtil()._inspectErrorStack(
+        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(
+        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(
+        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");
 
         manager.addBean(ejbBean);

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/AnnotationManager.java Thu Jan 20 04:46:59 2011
@@ -39,14 +39,19 @@ import javax.enterprise.inject.Stereotyp
 import javax.enterprise.inject.spi.AnnotatedMethod;
 import javax.enterprise.inject.spi.AnnotatedParameter;
 import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.InjectionPoint;
 import javax.enterprise.util.Nonbinding;
+import javax.inject.Inject;
 import javax.inject.Named;
 import javax.inject.Qualifier;
 import javax.inject.Scope;
 import javax.interceptor.InterceptorBinding;
+
+import java.io.Serializable;
 import java.lang.annotation.Annotation;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Target;
+import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
 import java.util.ArrayList;
@@ -811,4 +816,52 @@ public final class AnnotationManager
 
     }
 
+    /**
+     * JavaEE components can not inject {@link javax.enterprise.inject.spi.InjectionPoint}.
+     * @param clazz javaee component class info
+     * @throws WebBeansConfigurationException exception if condition is not applied
+     */
+    public void checkInjectionPointForInjectInjectionPoint(Class<?> clazz)
+    {
+        Asserts.nullCheckForClass(clazz);
+        Field[] fields = SecurityUtil.doPrivilegedGetDeclaredFields(clazz);
+        for(Field field : fields)
+        {
+            if(field.getAnnotation(Inject.class) != null)
+            {
+                if(field.getType() == InjectionPoint.class)
+                {
+                    Annotation[] anns = getQualifierAnnotations(field.getDeclaredAnnotations());
+                    if (AnnotationUtil.hasAnnotation(anns, Default.class))
+                    {
+                        throw new WebBeansConfigurationException("Java EE Component class :  " + clazz + " can not inject InjectionPoint");
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Returns trur for serializable types.
+     * @param clazz class info
+     * @return true if class is serializable
+     */
+    public static boolean checkInjectionPointForInterceptorPassivation(Class<?> clazz)
+    {
+        Asserts.nullCheckForClass(clazz);
+        Field[] fields = SecurityUtil.doPrivilegedGetDeclaredFields(clazz);
+        for(Field field : fields)
+        {
+            if(field.getAnnotation(Inject.class) != null)
+            {
+                Class<?> type = field.getType();
+                if(!Serializable.class.isAssignableFrom(type))
+                {
+                    return false;
+                }
+            }
+        }
+
+        return true;
+    }
 }

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=1061122&r1=1061121&r2=1061122&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 Thu Jan 20 04:46:59 2011
@@ -34,8 +34,11 @@ import javax.enterprise.inject.spi.Annot
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.Decorator;
 import javax.enterprise.inject.spi.InjectionPoint;
+
+import org.apache.webbeans.annotation.AnnotationManager;
 import org.apache.webbeans.annotation.DefaultLiteral;
 import org.apache.webbeans.config.OWBLogConst;
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.config.inheritance.BeanInheritedMetaData;
 import org.apache.webbeans.config.inheritance.IBeanInheritedMetaData;
 import org.apache.webbeans.decorator.WebBeansDecorator;
@@ -43,7 +46,6 @@ import org.apache.webbeans.exception.Web
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.inject.InjectableField;
 import org.apache.webbeans.inject.InjectableMethods;
-import org.apache.webbeans.inject.OWBInjector;
 import org.apache.webbeans.intercept.InterceptorData;
 import org.apache.webbeans.intercept.InterceptorType;
 import org.apache.webbeans.intercept.InterceptorUtil;
@@ -98,10 +100,11 @@ public abstract class AbstractInjectionT
      * 
      * @param webBeansType webbean type
      * @param returnType bean class type
+     * @param webBeansContext
      */
-    protected AbstractInjectionTargetBean(WebBeansType webBeansType, Class<T> returnType)
+    protected AbstractInjectionTargetBean(WebBeansType webBeansType, Class<T> returnType, WebBeansContext webBeansContext)
     {
-        super(webBeansType, returnType);
+        super(webBeansType, returnType, webBeansContext);
     }
 
     /**
@@ -635,7 +638,7 @@ public abstract class AbstractInjectionT
                     }               
                     else
                     {
-                        if(!OWBInjector.checkInjectionPointForInterceptorPassivation(interceptorClass))
+                        if(!AnnotationManager.checkInjectionPointForInterceptorPassivation(interceptorClass))
                         {
                             throw new WebBeansConfigurationException(MessageFormat.format(
                                     logger.getTokenString(OWBLogConst.EXCEPT_0017), toString(), interceptorClass));

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java Thu Jan 20 04:46:59 2011
@@ -110,23 +110,25 @@ public abstract class AbstractOwbBean<T>
      * calling this.
      * 
      * @param returnType of the bean
+     * @param webBeansContext
      * @param webBeansType web beans type
      */
-    protected AbstractOwbBean(WebBeansType webBeansType, Class<T> returnType)
+    protected AbstractOwbBean(WebBeansType webBeansType, Class<T> returnType, WebBeansContext webBeansContext)
     {
         this.webBeansType = webBeansType;
         this.returnType = returnType;
-        webBeansContext = WebBeansContext.getInstance();
+        this.webBeansContext = webBeansContext;
     }
     
     /**
      * Creates a new instance.
      * 
      * @param webBeanType beans type
+     * @param webBeansContext
      */
-    protected AbstractOwbBean(WebBeansType webBeanType)
+    protected AbstractOwbBean(WebBeansType webBeanType, WebBeansContext webBeansContext)
     {
-        this(webBeanType, null);
+        this(webBeanType, null, webBeansContext);
     }
 
     /**
@@ -681,7 +683,7 @@ public abstract class AbstractOwbBean<T>
             {
                 if(!injectionPoint.isTransient())
                 {
-                    if(!getWebBeansContext().getWebBeansUtil()._isPassivationCapableDependency(injectionPoint))
+                    if(!getWebBeansContext().getWebBeansUtil().isPassivationCapableDependency(injectionPoint))
                     {
                         if(injectionPoint.getAnnotated().isAnnotationPresent(Disposes.class))
                         {

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java Thu Jan 20 04:46:59 2011
@@ -48,7 +48,7 @@ public abstract class AbstractProducerBe
      */
     protected AbstractProducerBean(WebBeansType type, Class<T> returnType, InjectionTargetBean<?> ownerComponent)
     {
-        super(type, returnType);
+        super(type, returnType, ownerComponent.getWebBeansContext());
         this.ownerComponent = ownerComponent;
     }
 

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java Thu Jan 20 04:46:59 2011
@@ -22,15 +22,16 @@ import javax.enterprise.context.spi.Crea
 import javax.enterprise.inject.spi.BeanManager;
 
 import org.apache.webbeans.annotation.ApplicationScopeLiteral;
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.container.InjectableBeanManager;
 
 public class BeanManagerBean extends AbstractOwbBean<BeanManager>
 {
     private BeanManager manager = null;
 
-    public BeanManagerBean()
+    public BeanManagerBean(WebBeansContext webBeansContext)
     {
-        super(WebBeansType.MANAGER, BeanManager.class);
+        super(WebBeansType.MANAGER, BeanManager.class, webBeansContext);
         setImplScopeType(new ApplicationScopeLiteral());
     }
 

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java Thu Jan 20 04:46:59 2011
@@ -160,7 +160,7 @@ public abstract class BuildInOwbBean<T> 
     @SuppressWarnings("unchecked")
     protected BuildInOwbBean(WebBeansType webBeansType, Class<T> returnType)
     {
-        super(webBeansType, returnType);
+        super(webBeansType, returnType, WebBeansContext.getInstance());
         initBuildInBeanConfig(getWebBeansContext());
         this.handlerClassName = proxyHandlerMap.get(this.getWebBeansType());
         if (handlerClassName.equalsIgnoreCase(PROXY_HANDLER_VALUE_NONE) ||

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java Thu Jan 20 04:46:59 2011
@@ -20,6 +20,8 @@ package org.apache.webbeans.component;
 
 import javax.enterprise.context.Conversation;
 import javax.enterprise.context.spi.CreationalContext;
+
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.conversation.ConversationImpl;
 import org.apache.webbeans.spi.ConversationService;
 
@@ -32,10 +34,11 @@ public class ConversationBean extends Ab
 {
     /**
      * Default constructor.
+     * @param webBeansContext
      */
-    public ConversationBean()
+    public ConversationBean(WebBeansContext webBeansContext)
     {
-        super(WebBeansType.CONVERSATION, Conversation.class);
+        super(WebBeansType.CONVERSATION, Conversation.class, webBeansContext);
     }
 
     /**

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java Thu Jan 20 04:46:59 2011
@@ -27,6 +27,7 @@ import javax.enterprise.event.Event;
 import javax.enterprise.inject.spi.InjectionPoint;
 import javax.enterprise.util.TypeLiteral;
 
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.event.EventImpl;
 import org.apache.webbeans.exception.WebBeansException;
 
@@ -42,11 +43,12 @@ public class EventBean<T> extends Abstra
 
     /**
      * Creates a new instance of event bean.
+     * @param webBeansContext
      */
     @SuppressWarnings("serial")
-    public EventBean()
+    public EventBean(WebBeansContext webBeansContext)
     {
-        super(WebBeansType.OBSERVABLE,new TypeLiteral<Event<T>>(){}.getRawType());
+        super(WebBeansType.OBSERVABLE,new TypeLiteral<Event<T>>(){}.getRawType(), webBeansContext);
     }
     
     /**
@@ -77,7 +79,7 @@ public class EventBean<T> extends Abstra
             
             try
             {
-                instance = new EventImpl<T>(qualifiers, eventType);
+                instance = new EventImpl<T>(qualifiers, eventType, getWebBeansContext());
             }
             catch (Exception e)
             {

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java Thu Jan 20 04:46:59 2011
@@ -21,6 +21,7 @@ package org.apache.webbeans.component;
 import javax.enterprise.context.spi.CreationalContext;
 
 import org.apache.webbeans.annotation.ApplicationScopeLiteral;
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.portable.events.ExtensionLoader;
 
 /**
@@ -36,10 +37,11 @@ public class ExtensionBean<T> extends Ab
      * Creates a new extesion bean.
      * 
      * @param returnType return type
+     * @param webBeansContext
      */
-    public ExtensionBean(Class<T> returnType)
+    public ExtensionBean(Class<T> returnType, WebBeansContext webBeansContext)
     {
-        super(WebBeansType.EXTENSION,returnType);
+        super(WebBeansType.EXTENSION,returnType, webBeansContext);
         setImplScopeType(new ApplicationScopeLiteral());
     }
     

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java Thu Jan 20 04:46:59 2011
@@ -20,6 +20,7 @@ package org.apache.webbeans.component;
 
 import org.apache.webbeans.annotation.DefaultLiteral;
 import org.apache.webbeans.annotation.DependentScopeLiteral;
+import org.apache.webbeans.config.WebBeansContext;
 
 import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.inject.spi.InjectionPoint;
@@ -38,9 +39,9 @@ public class InjectionPointBean extends 
         local.remove();
     }
 
-    public InjectionPointBean()
+    public InjectionPointBean(WebBeansContext webBeansContext)
     {
-        super(WebBeansType.INJECTIONPOINT,InjectionPoint.class);
+        super(WebBeansType.INJECTIONPOINT,InjectionPoint.class, webBeansContext);
         
         addQualifier(new DefaultLiteral());
         setImplScopeType(new DependentScopeLiteral());

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java Thu Jan 20 04:46:59 2011
@@ -28,6 +28,7 @@ import javax.enterprise.inject.spi.Injec
 import javax.enterprise.util.TypeLiteral;
 import javax.inject.Provider;
 
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.inject.instance.InstanceFactory;
 
 public class InstanceBean<T> extends AbstractOwbBean<Provider<T>>
@@ -36,9 +37,9 @@ public class InstanceBean<T> extends Abs
     public static ThreadLocal<InjectionPoint> local = new ThreadLocal<InjectionPoint>();
     
     @SuppressWarnings("serial")
-    public InstanceBean()
+    public InstanceBean(WebBeansContext webBeansContext)
     {
-        super(WebBeansType.INSTANCE, new TypeLiteral<Provider<T>>(){}.getRawType());        
+        super(WebBeansType.INSTANCE, new TypeLiteral<Provider<T>>(){}.getRawType(), webBeansContext);
     }
     
          

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java Thu Jan 20 04:46:59 2011
@@ -26,6 +26,7 @@ import javassist.util.proxy.ProxyObject;
 import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.inject.spi.Decorator;
 
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.decorator.AbstractDecoratorMethodHandler;
 import org.apache.webbeans.inject.InjectableConstructor;
 import org.apache.webbeans.intercept.InterceptorData;
@@ -42,9 +43,9 @@ public class ManagedBean<T> extends Abst
     
     boolean isAbstractDecorator;
 
-    public ManagedBean(Class<T> returnType)
+    public ManagedBean(Class<T> returnType, WebBeansContext webBeansContext)
     {
-        this(returnType, WebBeansType.MANAGED);
+        this(returnType, WebBeansType.MANAGED, webBeansContext);
     }
 
     /**
@@ -52,10 +53,11 @@ public class ManagedBean<T> extends Abst
      * 
      * @param returnType bean class
      * @param type webbeans type
+     * @param webBeansContext
      */
-    public ManagedBean(Class<T> returnType, WebBeansType type)
+    public ManagedBean(Class<T> returnType, WebBeansType type, WebBeansContext webBeansContext)
     {
-        super(type, returnType);
+        super(type, returnType, webBeansContext);
         
         //Setting inherited meta data instance
         setInheritedMetaData();

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/NewBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/NewBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/NewBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/NewBean.java Thu Jan 20 04:46:59 2011
@@ -20,6 +20,8 @@ package org.apache.webbeans.component;
 
 import javax.enterprise.context.spi.CreationalContext;
 
+import org.apache.webbeans.config.WebBeansContext;
+
 /**
  * Component definition with {@link javax.enterprise.inject.New} binding annotation.
  * 
@@ -32,9 +34,9 @@ public class NewBean<T> extends ManagedB
 {
     private WebBeansType definedType;
 
-    public NewBean(Class<T> returnType, WebBeansType definedType)
+    public NewBean(Class<T> returnType, WebBeansType definedType, WebBeansContext webBeansContext)
     {
-        super(returnType);
+        super(returnType, webBeansContext);
         this.definedType = definedType;        
     }
 

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java Thu Jan 20 04:46:59 2011
@@ -178,7 +178,7 @@ public class ProducerFieldBean<T> extend
                               " return type in the component implementation class : " +
                               this.ownerComponent.getReturnType().getName() + " with passivating scope @" +
                               this.getScope().getName() + " must be Serializable";
-        getWebBeansContext().getWebBeansUtil()._checkSerializableScopeType(this.getScope(),
+        getWebBeansContext().getWebBeansUtil().checkSerializableScopeType(this.getScope(),
                                                                                     this.isSerializable(), errorMessage);
     }
     

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=1061122&r1=1061121&r2=1061122&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 Thu Jan 20 04:46:59 2011
@@ -385,7 +385,7 @@ public class ProducerMethodBean<T> exten
                               " return type in the component implementation class : " +
                               this.ownerComponent.getReturnType().getName() + " with passivating scope @" +
                               this.getScope().getName() + " must be Serializable";
-        getWebBeansContext().getWebBeansUtil()._checkSerializableScopeType(this.getScope(),
+        getWebBeansContext().getWebBeansUtil().checkSerializableScopeType(this.getScope(),
                                                                                     this.isSerializable(), errorMessage);
 
     }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java Thu Jan 20 04:46:59 2011
@@ -64,12 +64,12 @@ public class ManagedBeanCreatorImpl<T> e
         }
         else
         {
-            WebBeansAnnotatedTypeUtil.checkManagedBeanCondition(getAnnotatedType());
+            webBeansContext.getWebBeansUtil().checkManagedBeanCondition(getAnnotatedType());
         }
         
         WebBeansUtil.checkGenericType(getBean());
         //Check Unproxiable
-        webBeansContext.getWebBeansUtil()._checkUnproxiableApiType(getBean(), getBean().getScope());
+        webBeansContext.getWebBeansUtil().checkUnproxiableApiType(getBean(), getBean().getScope());
     }
 
 

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java Thu Jan 20 04:46:59 2011
@@ -29,6 +29,7 @@ import javax.enterprise.inject.spi.Passi
 
 import org.apache.webbeans.component.AbstractOwbBean;
 import org.apache.webbeans.component.WebBeansType;
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.inject.AlternativesManager;
 
 public class ThirdpartyBeanImpl<T> extends AbstractOwbBean<T> implements Bean<T>
@@ -36,9 +37,9 @@ public class ThirdpartyBeanImpl<T> exten
     private Bean<T> bean = null;
     
     
-    public ThirdpartyBeanImpl(Bean<T> bean)
+    public ThirdpartyBeanImpl(Bean<T> bean, WebBeansContext webBeansContext)
     {
-        super(WebBeansType.THIRDPARTY);
+        super(WebBeansType.THIRDPARTY, webBeansContext);
         
         this.bean = bean;
         

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLManagedBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLManagedBean.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLManagedBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLManagedBean.java Thu Jan 20 04:46:59 2011
@@ -31,6 +31,7 @@ import javax.enterprise.context.spi.Crea
 
 import org.apache.webbeans.component.ManagedBean;
 import org.apache.webbeans.config.OWBLogConst;
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.inject.xml.XMLInjectableConstructor;
 import org.apache.webbeans.inject.xml.XMLInjectableField;
@@ -61,10 +62,11 @@ public class XMLManagedBean<T> extends M
      * Creates new XML defined webbeans component.
      * 
      * @param returnType type of the webbeans component
+     * @param webBeansContext
      */
-    public XMLManagedBean(Class<T> returnType)
+    public XMLManagedBean(Class<T> returnType, WebBeansContext webBeansContext)
     {
-        super(returnType);
+        super(returnType, webBeansContext);
     }
 
     /*

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=1061122&r1=1061121&r2=1061122&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 Thu Jan 20 04:46:59 2011
@@ -60,7 +60,6 @@ import org.apache.webbeans.deployment.St
 import org.apache.webbeans.exception.WebBeansConfigurationException;
 import org.apache.webbeans.exception.WebBeansDeploymentException;
 import org.apache.webbeans.exception.inject.InconsistentSpecializationException;
-import org.apache.webbeans.inject.OWBInjector;
 import org.apache.webbeans.intercept.webbeans.WebBeansInterceptor;
 import org.apache.webbeans.logger.WebBeansLogger;
 import org.apache.webbeans.portable.events.ProcessAnnotatedTypeImpl;
@@ -75,7 +74,6 @@ import org.apache.webbeans.spi.plugins.O
 import org.apache.webbeans.util.AnnotationUtil;
 import org.apache.webbeans.util.ClassUtil;
 import org.apache.webbeans.util.InjectionExceptionUtils;
-import org.apache.webbeans.util.WebBeansAnnotatedTypeUtil;
 import org.apache.webbeans.util.WebBeansConstants;
 import org.apache.webbeans.util.WebBeansUtil;
 import org.apache.webbeans.xml.WebBeansXMLConfigurator;
@@ -148,7 +146,7 @@ public class BeansDeployer
                 }
 
                 // Register Manager built-in component
-                webBeansContext.getBeanManagerImpl().addBean(WebBeansUtil.getManagerBean());
+                webBeansContext.getBeanManagerImpl().addBean(webBeansContext.getWebBeansUtil().getManagerBean());
 
                 //Fire Event
                 fireBeforeBeanDiscoveryEvent();
@@ -199,18 +197,19 @@ public class BeansDeployer
     private void configureDefaultBeans()
     {
         BeanManagerImpl beanManager = webBeansContext.getBeanManagerImpl();
-        
+        WebBeansUtil webBeansUtil = webBeansContext.getWebBeansUtil();
+
         // Register Conversation built-in component
-        beanManager.addBean(WebBeansUtil.getConversationBean());
+        beanManager.addBean(webBeansUtil.getConversationBean());
         
         // Register InjectionPoint bean
-        beanManager.addBean(WebBeansUtil.getInjectionPointBean());
+        beanManager.addBean(webBeansUtil.getInjectionPointBean());
         
         //Register Instance Bean
-        beanManager.addBean(WebBeansUtil.getInstanceBean());
+        beanManager.addBean(webBeansUtil.getInstanceBean());
         
         //Register Event Bean
-        beanManager.addBean(WebBeansUtil.getEventBean());
+        beanManager.addBean(webBeansUtil.getEventBean());
         
         //REgister Provider Beans
         OpenWebBeansJavaEEPlugin beanEeProvider = webBeansContext.getPluginLoader().getJavaEEPlugin();
@@ -252,7 +251,7 @@ public class BeansDeployer
     private void fireBeforeBeanDiscoveryEvent()
     {
         BeanManager manager = webBeansContext.getBeanManagerImpl();
-        manager.fireEvent(new BeforeBeanDiscoveryImpl(),new Annotation[0]);
+        manager.fireEvent(new BeforeBeanDiscoveryImpl(webBeansContext),new Annotation[0]);
     }
     
     /**
@@ -261,9 +260,9 @@ public class BeansDeployer
     private void fireAfterBeanDiscoveryEvent()
     {
         BeanManagerImpl manager = webBeansContext.getBeanManagerImpl();
-        manager.fireEvent(new AfterBeanDiscoveryImpl(),new Annotation[0]);
+        manager.fireEvent(new AfterBeanDiscoveryImpl(webBeansContext),new Annotation[0]);
 
-        webBeansContext.getWebBeansUtil()._inspectErrorStack(
+        webBeansContext.getWebBeansUtil().inspectErrorStack(
             "There are errors that are added by AfterBeanDiscovery event observers. Look at logs for further details");
     }
     
@@ -273,9 +272,9 @@ public class BeansDeployer
     private void fireAfterDeploymentValidationEvent()
     {
         BeanManagerImpl manager = webBeansContext.getBeanManagerImpl();
-        manager.fireEvent(new AfterDeploymentValidationImpl(),new Annotation[0]);
+        manager.fireEvent(new AfterDeploymentValidationImpl(manager),new Annotation[0]);
 
-        webBeansContext.getWebBeansUtil()._inspectErrorStack(
+        webBeansContext.getWebBeansUtil().inspectErrorStack(
             "There are errors that are added by AfterDeploymentValidation event observers. Look at logs for further details");
     }
     
@@ -522,7 +521,7 @@ public class BeansDeployer
     {
         // Fires ProcessAnnotatedType
         ProcessAnnotatedTypeImpl<?> processAnnotatedEvent =
-            webBeansContext.getWebBeansUtil()._fireProcessAnnotatedTypeEvent(annotatedType);
+            webBeansContext.getWebBeansUtil().fireProcessAnnotatedTypeEvent(annotatedType);
 
         // if veto() is called
         if (processAnnotatedEvent.isVeto())
@@ -631,14 +630,14 @@ public class BeansDeployer
                         specialClassList.add(specialClass);
                     }
                 }
-                webBeansContext.getWebBeansUtil()._configureSpecializations(specialClassList);
+                webBeansContext.getWebBeansUtil().configureSpecializations(specialClassList);
             }
 
             // XML Defined Specializations
             checkXMLSpecializations();
             
             //configure specialized producer beans.
-            webBeansContext.getWebBeansUtil()._configureProducerMethodSpecializations();
+            webBeansContext.getWebBeansUtil().configureProducerMethodSpecializations();
         }
         catch(Exception e)
         {
@@ -681,7 +680,7 @@ public class BeansDeployer
             }
             specialClassList.add(specialClass);
         }
-        webBeansContext.getWebBeansUtil()._configureSpecializations(specialClassList);
+        webBeansContext.getWebBeansUtil().configureSpecializations(specialClassList);
     }
 
     /**
@@ -748,7 +747,7 @@ public class BeansDeployer
                         if (!webBeansContext.getxMLAnnotationTypeManager().hasStereoType(stereoClass))
                         {
                             webBeansContext.getAnnotationManager().checkStereoTypeClass(stereoClass, stereoClass.getDeclaredAnnotations());
-                            StereoTypeModel model = new StereoTypeModel(stereoClass);
+                            StereoTypeModel model = new StereoTypeModel(webBeansContext, stereoClass);
                             webBeansContext.getStereoTypeManager().addStereoTypeModel(model);
                         }
                     }                    
@@ -764,13 +763,13 @@ public class BeansDeployer
      */
     protected void addDefaultStereoTypes()
     {
-        StereoTypeModel model = new StereoTypeModel(Model.class);
+        StereoTypeModel model = new StereoTypeModel(webBeansContext, Model.class);
         webBeansContext.getStereoTypeManager().addStereoTypeModel(model);
         
-        model = new StereoTypeModel(javax.decorator.Decorator.class);
+        model = new StereoTypeModel(webBeansContext, javax.decorator.Decorator.class);
         webBeansContext.getStereoTypeManager().addStereoTypeModel(model);
         
-        model = new StereoTypeModel(Interceptor.class);
+        model = new StereoTypeModel(webBeansContext, Interceptor.class);
         webBeansContext.getStereoTypeManager().addStereoTypeModel(model);
     }
     
@@ -791,13 +790,13 @@ public class BeansDeployer
         //Fires ProcessInjectionTarget event for Java EE components instances
         //That supports injections but not managed beans
         ProcessInjectionTargetImpl<T> processInjectionTargetEvent = null;
-        if(webBeansContext.getWebBeansUtil()._supportsJavaEeComponentInjections(clazz))
+        if(webBeansContext.getWebBeansUtil().supportsJavaEeComponentInjections(clazz))
         {
             //Fires ProcessInjectionTarget
             processInjectionTargetEvent =
-                webBeansContext.getWebBeansUtil()._fireProcessInjectionTargetEventForJavaEeComponents(
+                webBeansContext.getWebBeansUtil().fireProcessInjectionTargetEventForJavaEeComponents(
                     clazz);
-            webBeansContext.getWebBeansUtil()._inspectErrorStack(
+            webBeansContext.getWebBeansUtil().inspectErrorStack(
                 "There are errors that are added by ProcessInjectionTarget event observers. Look at logs for further details");
 
             //Sets custom InjectionTarget instance
@@ -808,7 +807,7 @@ public class BeansDeployer
             }
             
             //Checks that not contains @Inject InjectionPoint
-            OWBInjector.checkInjectionPointForInjectInjectionPoint(clazz);
+            webBeansContext.getAnnotationManager().checkInjectionPointForInjectInjectionPoint(clazz);
         }
         
         //Check for whether this class is candidate for Managed Bean
@@ -818,7 +817,7 @@ public class BeansDeployer
             ManagedBeanConfigurator.checkManagedBeanCondition(clazz);
             
             //Temporary managed bean instance creationa
-            ManagedBean<T> managedBean = new ManagedBean<T>(clazz,WebBeansType.MANAGED);                  
+            ManagedBean<T> managedBean = new ManagedBean<T>(clazz,WebBeansType.MANAGED, webBeansContext);                  
             ManagedBeanCreatorImpl<T> managedBeanCreator = new ManagedBeanCreatorImpl<T>(managedBean);
             
             boolean annotationTypeSet = false;
@@ -835,11 +834,11 @@ public class BeansDeployer
             if(processInjectionTargetEvent == null)
             {
                 processInjectionTargetEvent =
-                    webBeansContext.getWebBeansUtil()._fireProcessInjectionTargetEvent(managedBean);
+                    webBeansContext.getWebBeansUtil().fireProcessInjectionTargetEvent(managedBean);
             }    
             
             //Decorator
-            if(WebBeansAnnotatedTypeUtil.isAnnotatedTypeDecorator(annotatedType))
+            if(WebBeansUtil.isAnnotatedTypeDecorator(annotatedType))
             {
                 if (logger.wblWillLogDebug())
                 {
@@ -847,16 +846,16 @@ public class BeansDeployer
                 }
                 if(annotationTypeSet)
                 {
-                    WebBeansAnnotatedTypeUtil.defineDecorator(annotatedType);
+                    webBeansContext.getWebBeansUtil().defineDecorator(annotatedType);
                 }
                 else
                 {
-                    webBeansContext.getWebBeansUtil()._defineDecorator(managedBeanCreator,
+                    webBeansContext.getWebBeansUtil().defineDecorator(managedBeanCreator,
                                                                                      processInjectionTargetEvent);
                 }
             }
             //Interceptor
-            else if(WebBeansAnnotatedTypeUtil.isAnnotatedTypeInterceptor(annotatedType))
+            else if(WebBeansUtil.isAnnotatedTypeInterceptor(annotatedType))
             {
                 if (logger.wblWillLogDebug())
                 {
@@ -864,11 +863,11 @@ public class BeansDeployer
                 }
                 if(annotationTypeSet)
                 {
-                    WebBeansAnnotatedTypeUtil.defineInterceptor(annotatedType);
+                    webBeansContext.getWebBeansUtil().defineInterceptor(annotatedType);
                 }
                 else
                 {
-                    webBeansContext.getWebBeansUtil()._defineInterceptor(managedBeanCreator,
+                    webBeansContext.getWebBeansUtil().defineInterceptor(managedBeanCreator,
                                                                                        processInjectionTargetEvent);
                 }
             }
@@ -884,7 +883,7 @@ public class BeansDeployer
                 {
                     logger.debug("Found Managed Bean with class name : [{0}]", annotatedType.getJavaClass().getName());
                 }
-                webBeansContext.getWebBeansUtil()._defineManagedBean(managedBeanCreator,
+                webBeansContext.getWebBeansUtil().defineManagedBean(managedBeanCreator,
                                                                                    processInjectionTargetEvent);
             }
             
@@ -906,6 +905,6 @@ public class BeansDeployer
     protected <T> void defineEnterpriseWebBean(Class<T> clazz, ProcessAnnotatedType<T> processAnnotatedTypeEvent)
     {
         InjectionTargetBean<T> bean = (InjectionTargetBean<T>) EJBWebBeansConfigurator.defineEjbBean(clazz, processAnnotatedTypeEvent);
-        webBeansContext.getWebBeansUtil()._setInjectionTargetBeanEnableFlag(bean);
+        webBeansContext.getWebBeansUtil().setInjectionTargetBeanEnableFlag(bean);
     }
 }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java Thu Jan 20 04:46:59 2011
@@ -70,8 +70,6 @@ import org.apache.webbeans.decorator.Web
 import org.apache.webbeans.event.EventUtil;
 import org.apache.webbeans.event.NotificationManager;
 import org.apache.webbeans.exception.WebBeansConfigurationException;
-import org.apache.webbeans.inject.OWBInjector;
-import org.apache.webbeans.inject.impl.InjectionPointFactory;
 import org.apache.webbeans.intercept.InterceptorData;
 import org.apache.webbeans.intercept.WebBeansInterceptorConfig;
 import org.apache.webbeans.intercept.ejb.EJBInterceptorConfig;
@@ -685,12 +683,12 @@ public final class DefinitionUtil
         Annotation[] methodAnns = method.getDeclaredAnnotations();
 
         WebBeansContext webBeansContext = parent.getWebBeansContext();
-        webBeansContext.getWebBeansUtil()._setBeanEnableFlagForProducerBean(parent, component, methodAnns);
+        webBeansContext.getWebBeansUtil().setBeanEnableFlagForProducerBean(parent, component, methodAnns);
 
         DefinitionUtil.defineProducerMethodApiTypes(component, method.getGenericReturnType(), methodAnns);
         DefinitionUtil.defineScopeType(component, methodAnns, "WebBeans producer method : " + method.getName() + " in class " + parent.getReturnType().getName()
                                                               + " must declare default @Scope annotation");
-        webBeansContext.getWebBeansUtil()._checkUnproxiableApiType(component, component.getScope());
+        webBeansContext.getWebBeansUtil().checkUnproxiableApiType(component, component.getScope());
         WebBeansUtil.checkProducerGenericType(component,method);
         DefinitionUtil.defineQualifiers(component, methodAnns);
         DefinitionUtil.defineName(component, methodAnns, WebBeansUtil.getProducerDefaultName(method.getName()));
@@ -742,12 +740,12 @@ public final class DefinitionUtil
         Annotation[] fieldAnns = field.getDeclaredAnnotations();
 
         WebBeansContext webBeansContext = parent.getWebBeansContext();
-        webBeansContext.getWebBeansUtil()._setBeanEnableFlagForProducerBean(parent, component, fieldAnns);
+        webBeansContext.getWebBeansUtil().setBeanEnableFlagForProducerBean(parent, component, fieldAnns);
 
         DefinitionUtil.defineProducerMethodApiTypes(component, field.getGenericType(), fieldAnns);
         DefinitionUtil.defineScopeType(component, fieldAnns, "WebBeans producer method : " + field.getName() + " in class " + parent.getReturnType().getName()
                                                              + " must declare default @Scope annotation");
-        webBeansContext.getWebBeansUtil()._checkUnproxiableApiType(component, component.getScope());
+        webBeansContext.getWebBeansUtil().checkUnproxiableApiType(component, component.getScope());
         WebBeansUtil.checkProducerGenericType(component,field);
         DefinitionUtil.defineQualifiers(component, fieldAnns);
         DefinitionUtil.defineName(component, fieldAnns, field.getName());
@@ -779,8 +777,9 @@ public final class DefinitionUtil
             Type type = AnnotationUtil.getMethodFirstParameterWithAnnotation(declaredMethod, Disposes.class);
             Annotation[] annot = annotationManager.getMethodFirstParameterQualifierWithGivenAnnotation(declaredMethod, Disposes.class);
 
+            InjectionResolver instance = component.getWebBeansContext().getBeanManagerImpl().getInjectionResolver();
 
-            Set<Bean<?>> set = InjectionResolver.getInstance().implResolveByType(type, annot);
+            Set<Bean<?>> set = instance.implResolveByType(type, annot);
             if (set.isEmpty())
             {
                 throwUnsatisfiedResolutionException(clazz, declaredMethod, annot);
@@ -965,7 +964,7 @@ public final class DefinitionUtil
                     continue;
                 }
                 
-                checkForInjectedInitializerMethod(clazz, method);
+                checkForInjectedInitializerMethod(clazz, method, component.getWebBeansContext());
             }
             else
             {
@@ -1006,7 +1005,8 @@ public final class DefinitionUtil
     /**
      * add the definitions for a &#x0040;Initializer method.
      */
-    private static <T> void checkForInjectedInitializerMethod(Class<T> clazz, Method method)
+    private static <T> void checkForInjectedInitializerMethod(Class<T> clazz, Method method,
+                                                              WebBeansContext webBeansContext)
     {
         TypeVariable<?>[] args = method.getTypeParameters();
         if(args.length > 0)
@@ -1021,7 +1021,7 @@ public final class DefinitionUtil
         {
             Annotation[] a = anns[i];
             Type t = type[i];
-            WebBeansContext.getInstance().getAnnotationManager().checkForNewQualifierForDeployment(t, clazz, method.getName(), a);
+            webBeansContext.getAnnotationManager().checkForNewQualifierForDeployment(t, clazz, method.getName(), a);
         }
 
         if (method.getAnnotation(Produces.class) == null)
@@ -1046,18 +1046,18 @@ public final class DefinitionUtil
         // If bean is not session bean
         if(!(bean instanceof EnterpriseBeanMarker))
         {
-            EJBInterceptorConfig.configure(((AbstractOwbBean)bean).getReturnType(), bean.getInterceptorStack());   
+            EJBInterceptorConfig.configure(((AbstractOwbBean)bean).getReturnType(), bean.getInterceptorStack(), bean);
         }
         else
         {
             //Check for injected fields in EJB @Interceptors
             List<InterceptorData> stack = new ArrayList<InterceptorData>();
-            EJBInterceptorConfig.configure(bean.getBeanClass(), stack);
+            EJBInterceptorConfig.configure(bean.getBeanClass(), stack, bean);
             for(InterceptorData data : stack)
             {
                 if(data.isDefinedInInterceptorClass())
                 {
-                    if(!OWBInjector.checkInjectionPointForInterceptorPassivation(data.getInterceptorClass()))
+                    if(!AnnotationManager.checkInjectionPointForInterceptorPassivation(data.getInterceptorClass()))
                     {
                         throw new WebBeansConfigurationException("Enterprise bean : " + bean.toString() + " interceptors must have serializable injection points");
                     }
@@ -1130,7 +1130,7 @@ public final class DefinitionUtil
 
     public static <T> void addFieldInjectionPointMetaData(AbstractOwbBean<T> owner, Field field)
     {
-        InjectionPoint injectionPoint = InjectionPointFactory.getFieldInjectionPointData(owner, field);
+        InjectionPoint injectionPoint = owner.getWebBeansContext().getInjectionPointFactory().getFieldInjectionPointData(owner, field);
         if (injectionPoint != null)
         {
             addImplicitComponentForInjectionPoint(injectionPoint);
@@ -1140,7 +1140,7 @@ public final class DefinitionUtil
 
     public static <T> void addMethodInjectionPointMetaData(AbstractOwbBean<T> owner, Method method)
     {
-        List<InjectionPoint> injectionPoints = InjectionPointFactory.getMethodInjectionPointData(owner, method);
+        List<InjectionPoint> injectionPoints = owner.getWebBeansContext().getInjectionPointFactory().getMethodInjectionPointData(owner, method);
         for (InjectionPoint injectionPoint : injectionPoints)
         {
             addImplicitComponentForInjectionPoint(injectionPoint);
@@ -1150,7 +1150,7 @@ public final class DefinitionUtil
 
     public static <T> void addConstructorInjectionPointMetaData(AbstractOwbBean<T> owner, Constructor<T> constructor)
     {
-        List<InjectionPoint> injectionPoints = InjectionPointFactory.getConstructorInjectionPointData(owner, constructor);
+        List<InjectionPoint> injectionPoints = owner.getWebBeansContext().getInjectionPointFactory().getConstructorInjectionPointData(owner, constructor);
         for (InjectionPoint injectionPoint : injectionPoints)
         {
             addImplicitComponentForInjectionPoint(injectionPoint);

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java Thu Jan 20 04:46:59 2011
@@ -95,7 +95,7 @@ public final class ManagedBeanConfigurat
     {
         try
         {
-            WebBeansContext.getInstance().getWebBeansUtil()._isManagedBeanClass(clazz);
+            WebBeansContext.getInstance().getWebBeansUtil().isManagedBeanClass(clazz);
 
         }
         catch (WebBeansConfigurationException e)
@@ -122,10 +122,10 @@ public final class ManagedBeanConfigurat
 
         checkManagedBeanCondition(clazz);
 
-        ManagedBean<T> component = new ManagedBean<T>(clazz, type);
+        ManagedBean<T> component = new ManagedBean<T>(clazz, type, webBeansContext);
         manager.putInjectionTargetWrapper(component, new InjectionTargetWrapper(new InjectionTargetProducer(component)));
 
-        webBeansContext.getWebBeansUtil()._setInjectionTargetBeanEnableFlag(component);
+        webBeansContext.getWebBeansUtil().setInjectionTargetBeanEnableFlag(component);
 
         DefinitionUtil.defineSerializable(component);
         DefinitionUtil.defineStereoTypes(component, clazz.getDeclaredAnnotations());

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java Thu Jan 20 04:46:59 2011
@@ -26,6 +26,7 @@ import java.util.Map;
 
 import org.apache.webbeans.annotation.AnnotationManager;
 import org.apache.webbeans.container.BeanManagerImpl;
+import org.apache.webbeans.container.ResolutionUtil;
 import org.apache.webbeans.container.SerializableBeanVault;
 import org.apache.webbeans.context.ContextFactory;
 import org.apache.webbeans.context.creational.CreationalContextFactory;
@@ -37,6 +38,7 @@ import org.apache.webbeans.decorator.Dec
 import org.apache.webbeans.deployment.StereoTypeManager;
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.inject.AlternativesManager;
+import org.apache.webbeans.inject.impl.InjectionPointFactory;
 import org.apache.webbeans.intercept.InterceptorsManager;
 import org.apache.webbeans.jms.JMSManager;
 import org.apache.webbeans.plugins.PluginLoader;
@@ -78,6 +80,8 @@ public class WebBeansContext
     private AnnotationManager annotationManager = new AnnotationManager(this);
     private WebBeansNameSpaceContainer webBeansNameSpaceContainer = new WebBeansNameSpaceContainer();
     private XMLSpecializesManager xmlSpecializesManager = new XMLSpecializesManager();
+    private ResolutionUtil resolutionUtil = new ResolutionUtil(this);
+    private InjectionPointFactory injectionPointFactory = new InjectionPointFactory(this);
 
     private final Map<Class<?>, Object> managerMap = new HashMap<Class<?>, Object>();
 
@@ -160,6 +164,16 @@ public class WebBeansContext
         return serviceInterface.cast(get(implName));
     }
 
+    public InjectionPointFactory getInjectionPointFactory()
+    {
+        return injectionPointFactory;
+    }
+
+    public ResolutionUtil getResolutionUtil()
+    {
+        return resolutionUtil;
+    }
+
     public WebBeansUtil getWebBeansUtil()
     {
         return webBeansUtil;

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=1061122&r1=1061121&r2=1061122&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 Thu Jan 20 04:46:59 2011
@@ -91,7 +91,6 @@ import org.apache.webbeans.spi.plugins.O
 import org.apache.webbeans.util.AnnotationUtil;
 import org.apache.webbeans.util.Asserts;
 import org.apache.webbeans.util.ClassUtil;
-import org.apache.webbeans.util.WebBeansAnnotatedTypeUtil;
 import org.apache.webbeans.util.WebBeansUtil;
 import org.apache.webbeans.xml.WebBeansXMLConfigurator;
 
@@ -322,7 +321,7 @@ public class BeanManagerImpl implements 
         }
         else
         {
-            ThirdpartyBeanImpl<?> bean = new ThirdpartyBeanImpl(newBean);
+            ThirdpartyBeanImpl<?> bean = new ThirdpartyBeanImpl(newBean, webBeansContext);
             addPassivationInfo(bean);
             this.deploymentBeans.add(bean);
         }
@@ -438,10 +437,10 @@ public class BeanManagerImpl implements 
     @Deprecated
     public <T> T getInstanceByType(Class<T> type, Annotation... bindingTypes)
     {
-        ResolutionUtil.getInstanceByTypeConditions(bindingTypes);
+        webBeansContext.getResolutionUtil().getInstanceByTypeConditions(bindingTypes);
         Set<Bean<?>> set = resolveByType(type, bindingTypes);
 
-        ResolutionUtil.checkResolvedBeans(set, type, bindingTypes);
+        webBeansContext.getResolutionUtil().checkResolvedBeans(set, type, bindingTypes);
 
         Bean<?> bean = set.iterator().next();
         
@@ -451,10 +450,10 @@ public class BeanManagerImpl implements 
     @Deprecated
     public <T> T getInstanceByType(TypeLiteral<T> type, Annotation... bindingTypes)
     {
-        ResolutionUtil.getInstanceByTypeConditions(bindingTypes);
+        webBeansContext.getResolutionUtil().getInstanceByTypeConditions(bindingTypes);
         Set<Bean<?>> set = resolveByType(type, bindingTypes);
 
-        ResolutionUtil.checkResolvedBeans(set, type.getRawType(),bindingTypes);
+        webBeansContext.getResolutionUtil().checkResolvedBeans(set, type.getRawType(), bindingTypes);
 
         Bean<?> bean = set.iterator().next();
         
@@ -470,8 +469,8 @@ public class BeanManagerImpl implements 
     @Deprecated
     public Set<Bean<?>> resolveByType(Class<?> apiType, Annotation... bindingTypes)
     {
-        ResolutionUtil.getInstanceByTypeConditions(bindingTypes);
-        
+        webBeansContext.getResolutionUtil().getInstanceByTypeConditions(bindingTypes);
+
         return this.injectionResolver.implResolveByType(apiType, bindingTypes);
     }
 
@@ -481,8 +480,8 @@ public class BeanManagerImpl implements 
         ParameterizedType ptype = (ParameterizedType) apiType.getType();
         ResolutionUtil.resolveByTypeConditions(ptype);
 
-        ResolutionUtil.getInstanceByTypeConditions(bindingTypes);
-       
+        webBeansContext.getResolutionUtil().getInstanceByTypeConditions(bindingTypes);
+
         return this.injectionResolver.implResolveByType(apiType.getType(), bindingTypes);
     }
 
@@ -542,7 +541,7 @@ public class BeanManagerImpl implements 
     public List<Decorator<?>> resolveDecorators(Set<Type> types, Annotation... bindingTypes)
     {
         webBeansContext.getAnnotationManager().checkDecoratorResolverParams(types, bindingTypes);
-        Set<Decorator<?>> intsSet = WebBeansDecoratorConfig.findDeployedWebBeansDecorator(types, bindingTypes);
+        Set<Decorator<?>> intsSet = WebBeansDecoratorConfig.findDeployedWebBeansDecorator(this, types, bindingTypes);
         Iterator<Decorator<?>> itSet = intsSet.iterator();
 
         List<Decorator<?>> decoratorList = new ArrayList<Decorator<?>>();
@@ -553,7 +552,7 @@ public class BeanManagerImpl implements 
 
         }
 
-        Collections.sort(decoratorList, new DecoratorComparator());
+        Collections.sort(decoratorList, new DecoratorComparator(webBeansContext));
 
         return decoratorList;
 
@@ -567,7 +566,7 @@ public class BeanManagerImpl implements 
     {
         webBeansContext.getAnnotationManager().checkInterceptorResolverParams(interceptorBindings);
 
-        Set<Interceptor<?>> intsSet = WebBeansInterceptorConfig.findDeployedWebBeansInterceptor(interceptorBindings);
+        Set<Interceptor<?>> intsSet = WebBeansInterceptorConfig.findDeployedWebBeansInterceptor(interceptorBindings, webBeansContext);
         Iterator<Interceptor<?>> itSet = intsSet.iterator();
 
         List<Interceptor<?>> interceptorList = new ArrayList<Interceptor<?>>();
@@ -836,7 +835,7 @@ public class BeanManagerImpl implements 
         
                 
         //Scope is normal
-        if (webBeansContext.getWebBeansUtil()._isScopeTypeNormal(bean.getScope()))
+        if (webBeansContext.getWebBeansUtil().isScopeTypeNormal(bean.getScope()))
         {
             instance = getEjbOrJmsProxyReference(bean, beanType,creationalContext);
             
@@ -883,7 +882,7 @@ public class BeanManagerImpl implements 
         //Create session bean proxy
         if(bean instanceof EnterpriseBeanMarker)
         {
-            if(webBeansContext.getWebBeansUtil()._isScopeTypeNormal(bean.getScope()))
+            if(webBeansContext.getWebBeansUtil().isScopeTypeNormal(bean.getScope()))
             {
                 //Maybe it is cached
                 if(this.cacheProxies.containsKey(bean))
@@ -1077,7 +1076,7 @@ public class BeanManagerImpl implements 
     @Override
     public <T> InjectionTarget<T> createInjectionTarget(AnnotatedType<T> type)
     {
-        InjectionTargetBean<T> bean = WebBeansAnnotatedTypeUtil.defineManagedBean(type);
+        InjectionTargetBean<T> bean = webBeansContext.getWebBeansUtil().defineManagedBean(type);
 
         return new InjectionTargetProducer<T>(bean);
     }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java Thu Jan 20 04:46:59 2011
@@ -176,18 +176,19 @@ public class InjectionResolver
                 
                 if(newQualifier.value() == New.class)
                 {
-                    beanSet.add(WebBeansUtil.createNewComponent(clazz, type));    
+                    beanSet.add(webBeansContext.getWebBeansUtil().createNewComponent(clazz, type));
                 }
                 else
                 {
-                    beanSet.add(WebBeansUtil.createNewComponent(newQualifier.value(),null));
+                    beanSet.add(webBeansContext.getWebBeansUtil().createNewComponent(newQualifier.value(),null));
                 }
                 
             }
         }
-        
-        ResolutionUtil.checkResolvedBeans(beanSet, clazz, qualifiers, injectionPoint);
-        
+
+        webBeansContext.getResolutionUtil().checkResolvedBeans(beanSet, clazz, qualifiers,
+                                                                              injectionPoint);
+
         Bean<?> bean = beanSet.iterator().next();
         
         if(clazz.isPrimitive())
@@ -242,18 +243,18 @@ public class InjectionResolver
                 
                 if(newQualifier.value() == New.class)
                 {
-                    beanSet.add(WebBeansUtil.createNewComponent(clazz,type));    
+                    beanSet.add(webBeansContext.getWebBeansUtil().createNewComponent(clazz,type));
                 }
                 else
                 {
-                    beanSet.add(WebBeansUtil.createNewComponent(newQualifier.value(),null));
+                    beanSet.add(webBeansContext.getWebBeansUtil().createNewComponent(newQualifier.value(),null));
                 }
 
             }
         }
-        
 
-        ResolutionUtil.checkResolvedBeans(beanSet, clazz, qualifiers, injectionPoint);   
+        webBeansContext.getResolutionUtil().checkResolvedBeans(beanSet, clazz, qualifiers,
+                                                                              injectionPoint);
 
         return beanSet.iterator().next();
         

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java Thu Jan 20 04:46:59 2011
@@ -34,22 +34,25 @@ import static org.apache.webbeans.util.I
 
 public final class ResolutionUtil
 {
-    private ResolutionUtil()
-    {
 
+    private final WebBeansContext webBeansContext;
+
+    public ResolutionUtil(WebBeansContext webBeansContext)
+    {
+        this.webBeansContext = webBeansContext;
     }
 
     public static boolean checkBeanTypeAssignableToGivenType(Set<Type> beanTypes, Type givenType, boolean newBean)
-    { 
+    {
         Iterator<Type> itBeanApiTypes = beanTypes.iterator();
         while (itBeanApiTypes.hasNext())
         {
-            Type beanApiType = itBeanApiTypes.next();                    
-            
+            Type beanApiType = itBeanApiTypes.next();
+
             if(ClassUtil.isAssignable(beanApiType, givenType))
             {
                 return true;
-            }           
+            }
             else
             {
                 //Check for @New
@@ -60,13 +63,13 @@ public final class ResolutionUtil
                     {
                         return true;
                     }
-                }                
+                }
             }
         }
-        
+
         return false;
     }
-    
+
     public static void resolveByTypeConditions(ParameterizedType type)
     {
         Asserts.assertNotNull(type, "type parameter can not be null");
@@ -78,17 +81,17 @@ public final class ResolutionUtil
         }
     }
 
-    public static void getInstanceByTypeConditions(Annotation[] qualifiers)
+    public void getInstanceByTypeConditions(Annotation[] qualifiers)
     {
-        WebBeansContext.getInstance().getAnnotationManager().checkQualifierConditions(qualifiers);
+        webBeansContext.getAnnotationManager().checkQualifierConditions(qualifiers);
     }
 
-    public static void checkResolvedBeans(Set<Bean<?>> resolvedSet, Class<?> type, Annotation[] qualifiers) 
+    public void checkResolvedBeans(Set<Bean<?>> resolvedSet, Class<?> type, Annotation[] qualifiers)
     {
         checkResolvedBeans(resolvedSet, type, qualifiers, null);
     }
-    
-    public static void checkResolvedBeans(Set<Bean<?>> resolvedSet, Class<?> type, Annotation[] qualifiers, InjectionPoint injectionPoint)
+
+    public void checkResolvedBeans(Set<Bean<?>> resolvedSet, Class<?> type, Annotation[] qualifiers, InjectionPoint injectionPoint)
     {
         if (resolvedSet.isEmpty())
         {
@@ -101,7 +104,7 @@ public final class ResolutionUtil
         }
 
         Bean<?> bean = resolvedSet.iterator().next();
-        WebBeansContext.getInstance().getWebBeansUtil()._checkUnproxiableApiType(bean, bean.getScope());
+        webBeansContext.getWebBeansUtil().checkUnproxiableApiType(bean, bean.getScope());
 
-    }    
+    }
 }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorComparator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorComparator.java?rev=1061122&r1=1061121&r2=1061122&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorComparator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorComparator.java Thu Jan 20 04:46:59 2011
@@ -31,6 +31,13 @@ public class DecoratorComparator<T> impl
     /** default serial version UID */
     private static final long serialVersionUID = 1L;
 
+    private final WebBeansContext webBeansContext;
+
+    public DecoratorComparator(WebBeansContext webBeansContext)
+    {
+        this.webBeansContext = webBeansContext;
+    }
+
     public int compare(Decorator<T> o1, Decorator<T> o2)
     {
         WebBeansDecorator<T> src = (WebBeansDecorator<T>) o1;
@@ -45,7 +52,7 @@ public class DecoratorComparator<T> impl
             Class<?> o1Clazz = src.getClazz();
             Class<?> o2Clazz = target.getClazz();
 
-            return WebBeansContext.getInstance().getDecoratorsManager().compare(o1Clazz, o2Clazz);
+            return webBeansContext.getDecoratorsManager().compare(o1Clazz, o2Clazz);
 
         }
     }