You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/04/19 18:50:42 UTC

svn commit: r1588675 - /tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckAnnotationTest.java

Author: rmannibucau
Date: Sat Apr 19 16:50:42 2014
New Revision: 1588675

URL: http://svn.apache.org/r1588675
Log:
OPENEJB-1836 Validation: @Local on bean with no-interface should use @LocalBean. thanks Tommy for the patch

Modified:
    tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckAnnotationTest.java

Modified: tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckAnnotationTest.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckAnnotationTest.java?rev=1588675&r1=1588674&r2=1588675&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckAnnotationTest.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckAnnotationTest.java Sat Apr 19 16:50:42 2014
@@ -22,6 +22,7 @@ import org.apache.openejb.jee.EjbJar;
 import org.apache.openejb.jee.ManagedBean;
 import org.apache.openejb.jee.MessageDrivenBean;
 import org.apache.openejb.jee.StatefulBean;
+import org.apache.openejb.jee.StatelessBean;
 import org.apache.openejb.test.annotated.Green;
 import org.apache.openejb.test.annotated.Red;
 import org.apache.openejb.test.annotated.Yellow;
@@ -29,6 +30,9 @@ import org.apache.xbean.finder.Annotatio
 import org.apache.xbean.finder.archive.ClassesArchive;
 import org.junit.runner.RunWith;
 
+import javax.ejb.Local;
+import javax.ejb.Stateless;
+
 @RunWith(ValidationRunner.class)
 public class CheckAnnotationTest {
 
@@ -66,5 +70,17 @@ public class CheckAnnotationTest {
         return appModule;
     }
 
+    @Keys({@Key(value = "ann.local.forLocalBean", type = KeyType.WARNING)})
+    public EjbModule shouldWarnForLocalAnnotationOnBeanWithNoInterface() {
+        EjbJar ejbJar = new EjbJar();
+        ejbJar.addEnterpriseBean(new StatelessBean(EjbWithoutInterface.class));
+        EjbModule ejbModule = new EjbModule(ejbJar);
+        ejbModule.setFinder(new AnnotationFinder(new ClassesArchive(EjbWithoutInterface.class)).link());
+        return ejbModule;
+    }
+
+    @Local
+    @Stateless
+    public static class EjbWithoutInterface {}
 
 }