Author: rmannibucau Date: Thu Sep 18 05:18:47 2014 New Revision: 1625889 URL: http://svn.apache.org/r1625889 Log: TOMEE-1350 ensure tests are instantiablebe fore considering them as managed bean
Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java?rev=1625889&r1=1625888&r2=1625889&view=diff ============================================================================== --- tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java (original) +++ tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java Thu Sep 18 05:18:47 2014 @@ -18,6 +18,7 @@ package org.apache.openejb.arquillian.common; import org.apache.openejb.config.AdditionalBeanDiscoverer; +import org.apache.openejb.config.AnnotationDeployer; import org.apache.openejb.config.AppModule; import org.apache.openejb.config.ConnectorModule; import org.apache.openejb.config.EjbModule; @@ -101,6 +102,12 @@ public class TestClassDiscoverer impleme try { // call some reflection methods to make it fail if some dep are missing... Class<?> current = it.next(); + + if (!AnnotationDeployer.isInstantiable(current)) { + it.remove(); + continue; + } + while (current != null) { current.getDeclaredFields(); current.getDeclaredMethods(); Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1625889&r1=1625888&r2=1625889&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Thu Sep 18 05:18:47 2014 @@ -5434,7 +5434,7 @@ public class AnnotationDeployer implemen return classes; } - private static boolean isInstantiable(final Class<?> clazz) { + public static boolean isInstantiable(final Class<?> clazz) { final int modifiers = clazz.getModifiers(); return !Modifier.isAbstract(modifiers) && !(clazz.getEnclosingClass() != null && !Modifier.isStatic(modifiers)) && Modifier.isPublic(modifiers);