You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2010/05/28 23:38:17 UTC

svn commit: r949303 - in /openejb/trunk/openejb3/container: openejb-core/src/test/java/org/apache/openejb/config/rules/ openejb-jee/src/main/java/org/apache/openejb/jee/

Author: dblevins
Date: Fri May 28 21:38:16 2010
New Revision: 949303

URL: http://svn.apache.org/viewvc?rev=949303&view=rev
Log:
OPENEJB-1286: Bug in reporting invalid @PostActivate/@PrePassivate usage in Stateful and Singleton beans

Added:
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckInvalidCallbacksTest.java
      - copied, changed from r949000, openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java
Modified:
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SingletonBean.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatelessBean.java

Copied: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckInvalidCallbacksTest.java (from r949000, openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckInvalidCallbacksTest.java?p2=openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckInvalidCallbacksTest.java&p1=openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java&r1=949000&r2=949303&rev=949303&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckInvalidCallbacksTest.java Fri May 28 21:38:16 2010
@@ -20,16 +20,17 @@ import junit.framework.TestCase;
 import org.apache.openejb.assembler.classic.Assembler;
 import org.apache.openejb.config.ConfigurationFactory;
 import org.apache.openejb.config.ValidationFailedException;
-import static org.apache.openejb.config.rules.ValidationAssertions.assertFailures;
+import static org.apache.openejb.config.rules.ValidationAssertions.assertWarnings;
 import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.jee.SingletonBean;
 import org.apache.openejb.jee.StatelessBean;
 import org.junit.Test;
 
-import javax.annotation.Resource;
-import javax.ejb.Stateless;
-import javax.ejb.TransactionManagement;
-import javax.ejb.TransactionManagementType;
-import javax.transaction.UserTransaction;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.ejb.PostActivate;
+import javax.ejb.PrePassivate;
+import javax.interceptor.AroundInvoke;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Callable;
@@ -37,38 +38,56 @@ import java.util.concurrent.Callable;
 /**
  * @version $Rev$ $Date$
  */
-public class CheckUserTransactionRefsTest extends TestCase {
+public class CheckInvalidCallbacksTest extends TestCase {
 
     @Test
-    public void testSLSBwithUserTransaction() throws Exception {
+    public void test() throws Exception {
 
         Assembler assembler = new Assembler();
         ConfigurationFactory config = new ConfigurationFactory();
 
         EjbJar ejbJar = new EjbJar();
-        ejbJar.addEnterpriseBean(new StatelessBean(TestBean.class));
+        ejbJar.addEnterpriseBean(new StatelessBean("TestStateless", TestBean.class));
+        ejbJar.addEnterpriseBean(new SingletonBean("TestSingleton", TestBean.class));
 
         List<String> expectedKeys = new ArrayList<String>();
-        expectedKeys.add("userTransactionRef.forbiddenForCmtdBeans");
+        expectedKeys.add("ignoredStatefulAnnotation");
+        expectedKeys.add("ignoredStatefulAnnotation");
+        expectedKeys.add("ignoredStatefulAnnotation");
+        expectedKeys.add("ignoredStatefulAnnotation");
 
         // "@Resource UserTransaction tx" declaration
         try {
             config.configureApplication(ejbJar);
         } catch (ValidationFailedException e) {
-            assertFailures(expectedKeys, e);
+            assertWarnings(expectedKeys, e);
         }
     }
 
-    @Stateless
-    @TransactionManagement(TransactionManagementType.CONTAINER)
     public static class TestBean implements Callable {
 
-        @Resource
-        private UserTransaction userTransaction;
-
         public Object call() throws Exception {
             return null;
         }
+
+        @AroundInvoke
+        public void invoke(){}
+
+        @PostConstruct
+        public void myConstruct() {
+        }
+
+        @PreDestroy
+        public void myDestroy() {
+        }
+
+        @PostActivate
+        public void myActivate() {
+        }
+
+        @PrePassivate
+        public void myPassivate() {
+        }
     }
 
-}
+}
\ No newline at end of file

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java?rev=949303&r1=949302&r2=949303&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java Fri May 28 21:38:16 2010
@@ -54,6 +54,7 @@ public class CheckUserTransactionRefsTes
         // "@Resource UserTransaction tx" declaration
         try {
             config.configureApplication(ejbJar);
+            fail("A ValidationFailedException should have been thrown");
         } catch (ValidationFailedException e) {
             assertFailures(expectedKeys, e);
         }

Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SingletonBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SingletonBean.java?rev=949303&r1=949302&r2=949303&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SingletonBean.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SingletonBean.java Fri May 28 21:38:16 2010
@@ -24,8 +24,6 @@ import java.util.Collections;
 public class SingletonBean extends SessionBean {
     public SingletonBean(String ejbName, String ejbClass) {
         super(ejbName, ejbClass, SessionType.SINGLETON);
-        postActivate = Collections.emptyList();
-        prePassivate = Collections.emptyList();
     }
 
     public SingletonBean(Class<?> ejbClass) {

Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatelessBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatelessBean.java?rev=949303&r1=949302&r2=949303&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatelessBean.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatelessBean.java Fri May 28 21:38:16 2010
@@ -25,8 +25,6 @@ import java.util.Collections;
 public class StatelessBean extends SessionBean {
     public StatelessBean(String ejbName, String ejbClass) {
         super(ejbName, ejbClass, SessionType.STATELESS);
-        postActivate = Collections.emptyList();
-        prePassivate = Collections.emptyList();
     }
 
     public StatelessBean(Class<?> ejbClass) {