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/04/15 23:00:50 UTC

svn commit: r1468227 - in /openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors: beans/ business/tests/

Author: struberg
Date: Mon Apr 15 21:00:50 2013
New Revision: 1468227

URL: http://svn.apache.org/r1468227
Log:
OWB-828 try to craft a sample for this issue

Added:
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/MultiRequestProxyTest.java
      - copied, changed from r1467886, openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java
Modified:
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/ApplicationScopedBean.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/RequestScopedBean.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/ApplicationScopedBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/ApplicationScopedBean.java?rev=1468227&r1=1468226&r2=1468227&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/ApplicationScopedBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/ApplicationScopedBean.java Mon Apr 15 21:00:50 2013
@@ -18,16 +18,22 @@
 package org.apache.webbeans.newtests.interceptors.beans;
 
 import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
 
 import org.apache.webbeans.test.component.intercept.webbeans.bindings.Transactional;
 
-@Transactional
+import org.junit.Assert;
+
 @ApplicationScoped
 public class ApplicationScopedBean {
 
     private int j;
 
+    private @Inject DependentScopedBean dependentScopedBean;
+
+    @Transactional
     public int getJ() {
+        Assert.assertNotNull(dependentScopedBean);
         return j;
     }
 
@@ -35,4 +41,8 @@ public class ApplicationScopedBean {
         this.j = j;
     }
 
+    public DependentScopedBean getDependentScopedBean()
+    {
+        return dependentScopedBean;
+    }
 }

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/RequestScopedBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/RequestScopedBean.java?rev=1468227&r1=1468226&r2=1468227&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/RequestScopedBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/beans/RequestScopedBean.java Mon Apr 15 21:00:50 2013
@@ -17,33 +17,48 @@
  
 package org.apache.webbeans.newtests.interceptors.beans;
 
+import javax.annotation.PostConstruct;
 import javax.enterprise.context.RequestScoped;
 import javax.inject.Inject;
+import javax.inject.Named;
 
 @RequestScoped
-public class RequestScopedBean {
+@Named
+public class RequestScopedBean
+{
 
     private int i=0;
     private @Inject ApplicationScopedBean myService;
 
+    @PostConstruct
+    public void init()
+    {
+        myService.getJ();
+    }
+
     /** we need this trick, since the injected beans itself are only proxies... */
-    public RequestScopedBean getInstance() {
+    public RequestScopedBean getInstance()
+    {
         return this;
     }
 
-    public int getI() {
+    public int getI()
+    {
         return i;
     }
 
-    public void setI(int i) {
+    public void setI(int i)
+    {
         this.i = i;
     }
 
-    public ApplicationScopedBean getMyService() {
+    public ApplicationScopedBean getMyService()
+    {
         return myService;
     }
 
-    public void setMyService(ApplicationScopedBean myService) {
+    public void setMyService(ApplicationScopedBean myService)
+    {
         this.myService = myService;
     }
 

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java?rev=1468227&r1=1468226&r2=1468227&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java Mon Apr 15 21:00:50 2013
@@ -140,5 +140,5 @@ public class DependingInterceptorTest ex
             app.getJ();
             Assert.assertEquals(1, TransactionInterceptor.interceptorCount);
             Assert.assertEquals(3, TransactionInterceptor.count);
-}
+    }
 }

Copied: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/MultiRequestProxyTest.java (from r1467886, openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java)
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/MultiRequestProxyTest.java?p2=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/MultiRequestProxyTest.java&p1=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java&r1=1467886&r2=1468227&rev=1468227&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/DependingInterceptorTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/MultiRequestProxyTest.java Mon Apr 15 21:00:50 2013
@@ -18,29 +18,25 @@
  */
 package org.apache.webbeans.newtests.interceptors.business.tests;
 
+import javax.enterprise.context.RequestScoped;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Set;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
 
 import junit.framework.Assert;
-
-import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.newtests.AbstractUnitTest;
 import org.apache.webbeans.newtests.interceptors.beans.ApplicationScopedBean;
+import org.apache.webbeans.newtests.interceptors.beans.DependentScopedBean;
 import org.apache.webbeans.newtests.interceptors.beans.RequestScopedBean;
 import org.apache.webbeans.newtests.interceptors.common.TransactionInterceptor;
 import org.junit.Test;
 
 @SuppressWarnings("unchecked")
-public class DependingInterceptorTest extends AbstractUnitTest
+public class MultiRequestProxyTest extends AbstractUnitTest
 {
-    private static final String PACKAGE_NAME = DependingInterceptorTest.class.getPackage().getName();
+    private static final String PACKAGE_NAME = MultiRequestProxyTest.class.getPackage().getName();
     
     @Test
-    public void testDependingBeanInterceptor()
+    public void testMultiRequestProxying()
     {
         Collection<String> beanXmls = new ArrayList<String>();
         beanXmls.add(getXmlPath(PACKAGE_NAME, "DependingInterceptorTest"));
@@ -49,96 +45,25 @@ public class DependingInterceptorTest ex
         beanClasses.add(TransactionInterceptor.class);
         beanClasses.add(ApplicationScopedBean.class);
         beanClasses.add(RequestScopedBean.class);
-        
-        TransactionInterceptor.count = 0;
-        
-        startContainer(beanClasses, beanXmls);       
-        
-        Set<Bean<?>> beans = getBeanManager().getBeans(RequestScopedBean.class);
-        Assert.assertNotNull(beans);        
-        Bean<RequestScopedBean> bean = (Bean<RequestScopedBean>)beans.iterator().next();                
-        
-        CreationalContext<RequestScopedBean> ctx = getBeanManager().createCreationalContext(bean);
-        
-        Object reference1 = getBeanManager().getReference(bean, RequestScopedBean.class, ctx);
-        Assert.assertNotNull(reference1);
-        
-        Assert.assertTrue(reference1 instanceof RequestScopedBean);
+        beanClasses.add(DependentScopedBean.class);
 
-        RequestScopedBean beanInstance1 = (RequestScopedBean)reference1;
-        
-        TransactionInterceptor.count = 0;
-        
-        beanInstance1.getMyService().getJ();
+        startContainer(beanClasses, beanXmls);
 
-        RequestScopedBean realInstance1 = beanInstance1.getInstance();
-        
-        Assert.assertTrue(TransactionInterceptor.ECHO);
-        Assert.assertEquals(1, TransactionInterceptor.count);
+        RequestScopedBean rb1 = getInstance("requestScopedBean");
+        Assert.assertNotNull(rb1);
+        Assert.assertNotNull(rb1.getInstance());
 
-        TransactionInterceptor.ECHO = false;
+        getLifecycle().getContextService().endContext(RequestScoped.class, null);
 
-        WebBeansContext webBeansContext = WebBeansContext.getInstance();
-        webBeansContext.getContextFactory().destroyRequestContext(null);
-        webBeansContext.getContextFactory().initRequestContext(null);
-
-        CreationalContext<RequestScopedBean> ctx2 = getBeanManager().createCreationalContext(bean);
-        Object reference2 = getBeanManager().getReference(bean, RequestScopedBean.class, ctx2);
-        Assert.assertNotNull(reference2);
-        
-        Assert.assertTrue(reference2 instanceof RequestScopedBean);
-        
-        RequestScopedBean beanInstance2 = (RequestScopedBean)reference2;
-        beanInstance2.getMyService().getJ();
-        RequestScopedBean realInstance2 = beanInstance2.getInstance();
+        // and now the 2nd request
+        getLifecycle().getContextService().startContext(RequestScoped.class, null);
 
-        Assert.assertTrue(TransactionInterceptor.ECHO);
+        RequestScopedBean rb2 = getInstance("requestScopedBean");
+        Assert.assertNotNull(rb2);
+        Assert.assertNotNull(rb2.getInstance());
 
-        Assert.assertEquals(2, TransactionInterceptor.count);
-        
-        Assert.assertNotSame(realInstance1, realInstance2);
-        Assert.assertEquals(realInstance1.getMyService().getJ(), realInstance2.getMyService().getJ());
-        
         shutDownContainer();
         
     }
     
-    @Test
-    public void testInterceptorCreation() throws Exception 
-    {
-            Collection<String> beanXmls = new ArrayList<String>();
-            beanXmls.add(getXmlPath(PACKAGE_NAME, "DependingInterceptorTest"));
-            
-            Collection<Class<?>> beanClasses = new ArrayList<Class<?>>();
-            beanClasses.add(TransactionInterceptor.class);
-            beanClasses.add(ApplicationScopedBean.class);
-            
-            TransactionInterceptor.count = 0;
-            TransactionInterceptor.interceptorCount = 0;
-            
-            startContainer(beanClasses, beanXmls);
-
-            Set<Bean<?>> beans = getBeanManager().getBeans(ApplicationScopedBean.class);
-            Assert.assertNotNull(beans);        
-            Bean<ApplicationScopedBean> bean = (Bean<ApplicationScopedBean>)beans.iterator().next();                
-            
-            CreationalContext<ApplicationScopedBean> ctx = getBeanManager().createCreationalContext(bean);
-            
-            Object reference1 = getBeanManager().getReference(bean, ApplicationScopedBean.class, ctx);
-            Assert.assertNotNull(reference1);
-            
-            ApplicationScopedBean app = (ApplicationScopedBean) reference1;
-
-            app.getJ();
-            Assert.assertEquals(1, TransactionInterceptor.interceptorCount);
-            Assert.assertEquals(1, TransactionInterceptor.count);
-
-            app.getJ();
-            Assert.assertEquals(1, TransactionInterceptor.interceptorCount);
-            Assert.assertEquals(2, TransactionInterceptor.count);
-
-            app.getJ();
-            Assert.assertEquals(1, TransactionInterceptor.interceptorCount);
-            Assert.assertEquals(3, TransactionInterceptor.count);
-}
 }