You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2013/01/17 11:51:53 UTC

svn commit: r1434612 - in /openwebbeans/trunk: webbeans-impl/src/main/java/org/apache/webbeans/config/ webbeans-impl/src/main/java/org/apache/webbeans/container/ webbeans-impl/src/main/java/org/apache/webbeans/intercept/ webbeans-impl/src/main/java/org...

Author: struberg
Date: Thu Jan 17 10:51:52 2013
New Revision: 1434612

URL: http://svn.apache.org/viewvc?rev=1434612&view=rev
Log:
OWB-344 use new native proxy for NormalScoped beans

Added:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java
Modified:
    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/proxy/AbstractProxyFactory.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/NewProxyTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/InterceptorDecoratorProxyFactoryTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/NormalScopeProxyFactoryTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java
    openwebbeans/trunk/webbeans-impl/src/test/resources/META-INF/openwebbeans/openwebbeans.properties
    openwebbeans/trunk/webbeans-test/cditest-owb/src/main/resources/META-INF/openwebbeans/openwebbeans.properties

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=1434612&r1=1434611&r2=1434612&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 17 10:51:52 2013
@@ -45,6 +45,7 @@ import org.apache.webbeans.plugins.Plugi
 import org.apache.webbeans.portable.AnnotatedElementFactory;
 import org.apache.webbeans.portable.events.ExtensionLoader;
 import org.apache.webbeans.proxy.InterceptorDecoratorProxyFactory;
+import org.apache.webbeans.proxy.NormalScopeProxyFactory;
 import org.apache.webbeans.proxy.ProxyFactory;
 import org.apache.webbeans.proxy.javassist.OpenWebBeansClassLoaderProvider;
 import org.apache.webbeans.service.DefaultLoaderService;
@@ -81,7 +82,8 @@ public class WebBeansContext
     private final InterceptorsManager interceptorsManager = new InterceptorsManager(this);
     private final WebBeansInterceptorConfig webBeansInterceptorConfig = new WebBeansInterceptorConfig(this);
     private final ProxyFactory proxyFactoryRemove;
-    private final InterceptorDecoratorProxyFactory interceptorDecoratorProxyFactory = new InterceptorDecoratorProxyFactory();
+    private final InterceptorDecoratorProxyFactory interceptorDecoratorProxyFactory = new InterceptorDecoratorProxyFactory(this);
+    private final NormalScopeProxyFactory normalScopeProxyFactory = new NormalScopeProxyFactory(this);
     private final OpenWebBeansConfiguration openWebBeansConfiguration;
     private final PluginLoader pluginLoader = new PluginLoader();
     private final SerializableBeanVault serializableBeanVault = new SerializableBeanVault();
@@ -156,6 +158,7 @@ public class WebBeansContext
         managerMap.put(InterceptorsManager.class, interceptorsManager);
         managerMap.put(ProxyFactory.class, proxyFactoryRemove);
         managerMap.put(InterceptorDecoratorProxyFactory.class, interceptorDecoratorProxyFactory);
+        managerMap.put(NormalScopeProxyFactory.class, normalScopeProxyFactory);
         managerMap.put(OpenWebBeansConfiguration.class, openWebBeansConfiguration);
         managerMap.put(PluginLoader.class, pluginLoader);
         managerMap.put(SerializableBeanVault.class, serializableBeanVault);
@@ -338,6 +341,10 @@ public class WebBeansContext
         return interceptorDecoratorProxyFactory;
     }
 
+    public NormalScopeProxyFactory getNormalScopeProxyFactory()
+    {
+        return normalScopeProxyFactory;
+    }
 
     public ScannerService getScannerService()
     {
@@ -438,4 +445,6 @@ public class WebBeansContext
     {
         return loaderService;
     }
+
+
 }

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=1434612&r1=1434611&r2=1434612&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 17 10:51:52 2013
@@ -709,7 +709,9 @@ public class BeanManagerImpl implements 
             if (instance == null)
             {
                 //Create Managed Bean Proxy
-                instance = webBeansContext.getProxyFactoryRemove().createNormalScopedBeanProxyRemove((AbstractOwbBean<?>) bean, creationalContext);
+                //X old approach: instance = webBeansContext.getProxyFactoryRemove().createNormalScopedBeanProxyRemove((AbstractOwbBean<?>) bean, creationalContext);
+
+                instance = webBeansContext.getNormalScopeProxyFactory().createNormalScopeProxy(bean);
 
                 //Cached instance
                 cacheProxies.put(bean, instance);

Added: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java?rev=1434612&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java Thu Jan 17 10:51:52 2013
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.intercept;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.UnproxyableResolutionException;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Provider;
+
+/**
+ * TODO add serialisation
+ */
+public class NormalScopedBeanInterceptorHandler implements Provider
+{
+    private transient BeanManager beanManager;
+    private transient Bean<?> bean;
+
+    public NormalScopedBeanInterceptorHandler(BeanManager beanManager, Bean<?> bean)
+    {
+        this.beanManager = beanManager;
+        this.bean = bean;
+    }
+
+    @Override
+    public Object get()
+    {
+        return getContextualInstance();
+    }
+
+    protected BeanManager getBeanManager()
+    {
+        return beanManager;
+    }
+
+    protected Object getContextualInstance()
+    {
+        Object webbeansInstance;
+
+        //Context of the bean
+        Context webbeansContext = beanManager.getContext(bean.getScope());
+
+        //Already saved in context?
+        webbeansInstance = webbeansContext.get(bean);
+        if (webbeansInstance != null)
+        {
+            // voila, we are finished if we found an existing contextual instance
+            return webbeansInstance;
+        }
+
+        // finally, we create a new contextual instance
+        CreationalContext cc = beanManager.createCreationalContext(bean);
+        webbeansInstance = webbeansContext.get(bean, cc);
+
+        if (webbeansInstance == null)
+        {
+            throw new UnproxyableResolutionException("Cannot find a contextual instance of bean " + bean.toString());
+        }
+        return webbeansInstance;
+    }
+
+}

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java Thu Jan 17 10:51:52 2013
@@ -22,6 +22,7 @@ import java.lang.reflect.InvocationTarge
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.exception.WebBeansException;
 import org.objectweb.asm.ClassWriter;
 import org.objectweb.asm.MethodVisitor;
@@ -35,6 +36,8 @@ public abstract class AbstractProxyFacto
 {
     public final static int MAX_CLASSLOAD_TRIES = 10000;
 
+    protected WebBeansContext webBeansContext;
+
     /**
      * The name of the field which stores the passivationID of the Bean this proxy serves.
      * This is needed in case the proxy gets de-serialized back into a JVM
@@ -42,6 +45,12 @@ public abstract class AbstractProxyFacto
      */
     public static final String FIELD_BEAN_PASSIVATION_ID = "owbBeanPassivationId";
 
+
+    protected AbstractProxyFactory(WebBeansContext webBeansContext)
+    {
+        this.webBeansContext = webBeansContext;
+    }
+
     /**
      * @return the marker interface which should be used for this proxy.
      */

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java Thu Jan 17 10:51:52 2013
@@ -24,6 +24,7 @@ import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.util.ExceptionUtil;
 import org.objectweb.asm.ClassWriter;
 import org.objectweb.asm.Label;
@@ -60,6 +61,11 @@ public class InterceptorDecoratorProxyFa
     //X a generated proxy cannot easily get redefined later!
 
 
+    public InterceptorDecoratorProxyFactory(WebBeansContext webBeansContext)
+    {
+        super(webBeansContext);
+    }
+
     public <T> T createProxyInstance(Class<? extends T> proxyClass, T instance, InterceptorHandler interceptorDecoratorStack)
             throws ProxyGenerationException
     {
@@ -136,7 +142,7 @@ public class InterceptorDecoratorProxyFa
      * <ol>
      *     <li>
      *         private methods - they do not get proxied at all! If you like to invoke a private method,
-     *         then you can use {@link #getInternalInstance(OwbInterceptorProxy)} and use reflection on it.
+     *         then you can use {@link #getInternalInstance(Object)} and use reflection on it.
      *     </li>
      *     <li>
      *         non-proxied methods - all methods which do not have a business interceptor nor decorator

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java Thu Jan 17 10:51:52 2013
@@ -18,6 +18,7 @@
  */
 package org.apache.webbeans.proxy;
 
+import javax.enterprise.inject.spi.Bean;
 import javax.inject.Provider;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
@@ -25,6 +26,8 @@ import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 import java.util.List;
 
+import org.apache.webbeans.config.WebBeansContext;
+import org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler;
 import org.apache.webbeans.util.ClassUtil;
 import org.objectweb.asm.ClassWriter;
 import org.objectweb.asm.MethodVisitor;
@@ -42,12 +45,64 @@ public class NormalScopeProxyFactory ext
     public static final String FIELD_INSTANCE_PROVIDER = "owbContextualInstanceProvider";
 
 
+    public NormalScopeProxyFactory(WebBeansContext webBeansContext)
+    {
+        super(webBeansContext);
+    }
+
     @Override
     protected Class getMarkerInterface()
     {
         return OwbNormalScopeProxy.class;
     }
 
+    public <T> T createNormalScopeProxy(Bean<T> bean)
+    {
+        ClassLoader classLoader = bean.getClass().getClassLoader();
+
+        Class<T> classToProxy = (Class<T>) bean.getBeanClass();
+
+        Class<? extends T> proxyClass = createProxyClass(classLoader, classToProxy);
+
+        return createProxyInstance(proxyClass, getInstanceProvider(classLoader, bean));
+    }
+
+    public Provider getInstanceProvider(ClassLoader classLoader, Bean<?> bean)
+    {
+        //X TODO for now we always return the default NormalScopedBeanInterceptorHandler
+        return new NormalScopedBeanInterceptorHandler(webBeansContext.getBeanManagerImpl(), bean);
+
+/*X TODO add support for the other scopes
+        String scopeClassName = bean.getScope().getName();
+        Class<? extends Provider> instanceProviderClass = null;
+        String proxyMappingConfigKey = OpenWebBeansConfiguration.PROXY_MAPPING_PREFIX + scopeClassName;
+        String className = webBeansContext.getOpenWebBeansConfiguration().getProperty(proxyMappingConfigKey);
+        if (className != null && !className.equals(NormalScopedBeanInterceptorHandler.class.getName()))
+        {
+            try
+            {
+                instanceProviderClass = (Class<? extends Provider>) Class.forName(className, true, classLoader);
+            }
+            catch (ClassNotFoundException e)
+            {
+                throw new WebBeansConfigurationException("Configured InterceptorHandler "
+                                                         + className
+                                                         +" cannot be found",
+                                                         e);
+            }
+
+            //X TODO continue...
+        }
+        else
+        {
+            return new NormalScopedBeanInterceptorHandler(webBeansContext.getBeanManagerImpl(), bean);
+        }
+
+        return null;
+*/
+    }
+
+
     /**
      * @param classLoader to use for creating the class in
      * @param classToProxy the class for which a subclass will get generated
@@ -194,4 +249,5 @@ public class NormalScopeProxyFactory ext
             mv.visitEnd();
         }
     }
+
 }

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/NewProxyTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/NewProxyTest.java?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/NewProxyTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/NewProxyTest.java Thu Jan 17 10:51:52 2013
@@ -77,7 +77,7 @@ public class NewProxyTest extends Abstra
         InterceptorHandler interceptorHandler
                 = new DefaultInterceptorHandler<RuntimeExceptionBindingTypeBean>(target, interceptors, instances);
         
-        InterceptorDecoratorProxyFactory factory = new InterceptorDecoratorProxyFactory();
+        InterceptorDecoratorProxyFactory factory = new InterceptorDecoratorProxyFactory(getWebBeansContext());
         Class<RuntimeExceptionBindingTypeBean> proxyClass
                 = factory.createProxyClass(Thread.currentThread().getContextClassLoader(), RuntimeExceptionBindingTypeBean.class, interceptedMethods, null);
 

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/InterceptorDecoratorProxyFactoryTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/InterceptorDecoratorProxyFactoryTest.java?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/InterceptorDecoratorProxyFactoryTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/InterceptorDecoratorProxyFactoryTest.java Thu Jan 17 10:51:52 2013
@@ -26,6 +26,7 @@ import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.newtests.AbstractUnitTest;
 import org.apache.webbeans.newtests.interceptors.factory.beans.ClassInterceptedClass;
@@ -47,7 +48,7 @@ public class InterceptorDecoratorProxyFa
     @Test
     public void textSimpleProxyCreation() throws Exception
     {
-        InterceptorDecoratorProxyFactory pf = new InterceptorDecoratorProxyFactory();
+        InterceptorDecoratorProxyFactory pf = new InterceptorDecoratorProxyFactory(new WebBeansContext());
 
         // we take a fresh URLClassLoader to not blur the test classpath with synthetic classes.
         ClassLoader classLoader = new URLClassLoader(new URL[0]);

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/NormalScopeProxyFactoryTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/NormalScopeProxyFactoryTest.java?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/NormalScopeProxyFactoryTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/NormalScopeProxyFactoryTest.java Thu Jan 17 10:51:52 2013
@@ -19,15 +19,13 @@
 package org.apache.webbeans.newtests.interceptors.factory;
 
 import javax.inject.Provider;
-import java.lang.reflect.Method;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.util.List;
 
+import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.newtests.AbstractUnitTest;
 import org.apache.webbeans.newtests.interceptors.factory.beans.ClassInterceptedClass;
 import org.apache.webbeans.proxy.NormalScopeProxyFactory;
-import org.apache.webbeans.util.ClassUtil;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -40,16 +38,11 @@ public class NormalScopeProxyFactoryTest
     @Test
     public void textSimpleProxyCreation() throws Exception
     {
-        NormalScopeProxyFactory pf = new NormalScopeProxyFactory();
+        NormalScopeProxyFactory pf = new NormalScopeProxyFactory(new WebBeansContext());
 
         // we take a fresh URLClassLoader to not blur the test classpath with synthetic classes.
         ClassLoader classLoader = new URLClassLoader(new URL[0]);
 
-        List<Method> methods = ClassUtil.getNonPrivateMethods(ClassInterceptedClass.class);
-
-        Method[] nonInterceptedMethods = methods.toArray(new Method[methods.size()]);;
-        //X Method[] nonInterceptedMethods = new Method[]{methods.get(0)};
-
         Class<ClassInterceptedClass> proxyClass = pf.createProxyClass(classLoader, ClassInterceptedClass.class);
         Assert.assertNotNull(proxyClass);
 

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java Thu Jan 17 10:51:52 2013
@@ -101,7 +101,7 @@ public class InterceptorProxyChainTest e
 
         // step 2.
         // creating the Proxy Class itself
-        InterceptorDecoratorProxyFactory pf = new InterceptorDecoratorProxyFactory();
+        InterceptorDecoratorProxyFactory pf = new InterceptorDecoratorProxyFactory(getWebBeansContext());
 
         // we take a fresh URLClassLoader to not blur the test classpath with synthetic classes.
         ClassLoader classLoader = this.getClass().getClassLoader(); // new URLClassLoader(new URL[0]);
@@ -145,7 +145,7 @@ public class InterceptorProxyChainTest e
 
     private <T> T createNormalScopingProxy(ClassLoader classLoader, Class<T> clazz, T instance) throws ProxyGenerationException
     {
-        NormalScopeProxyFactory pf = new NormalScopeProxyFactory();
+        NormalScopeProxyFactory pf = new NormalScopeProxyFactory(getWebBeansContext());
 
         Class<T> proxyClass = pf.createProxyClass(classLoader, clazz);
         Assert.assertNotNull(proxyClass);

Modified: openwebbeans/trunk/webbeans-impl/src/test/resources/META-INF/openwebbeans/openwebbeans.properties
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/resources/META-INF/openwebbeans/openwebbeans.properties?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/resources/META-INF/openwebbeans/openwebbeans.properties (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/resources/META-INF/openwebbeans/openwebbeans.properties Thu Jan 17 10:51:52 2013
@@ -30,5 +30,5 @@ org.apache.webbeans.spi.deployer.MetaDat
 
 # specific proxy mapping which should get tested
 
-org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped=org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandlerRemove
+org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped=org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler
 org.apache.webbeans.proxy.mapping.javax.enterprise.context.ApplicationScoped=org.apache.webbeans.intercept.ApplicationScopedBeanInterceptorHandler

Modified: openwebbeans/trunk/webbeans-test/cditest-owb/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-test/cditest-owb/src/main/resources/META-INF/openwebbeans/openwebbeans.properties?rev=1434612&r1=1434611&r2=1434612&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-test/cditest-owb/src/main/resources/META-INF/openwebbeans/openwebbeans.properties (original)
+++ openwebbeans/trunk/webbeans-test/cditest-owb/src/main/resources/META-INF/openwebbeans/openwebbeans.properties Thu Jan 17 10:51:52 2013
@@ -29,5 +29,5 @@ org.apache.webbeans.spi.ContainerLifecyc
 org.apache.webbeans.spi.ContextsService=org.apache.webbeans.corespi.se.DefaultContextsService
 
 # To avoid any contextual instance caching issues, we also reset the configured proxies
-org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped=org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandlerRemove
-org.apache.webbeans.proxy.mapping.javax.enterprise.context.ApplicationScoped=org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandlerRemove
+org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped=org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler
+org.apache.webbeans.proxy.mapping.javax.enterprise.context.ApplicationScoped=org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler