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 2013/11/22 07:40:42 UTC
svn commit: r1544419 -
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Author: rmannibucau
Date: Fri Nov 22 06:40:42 2013
New Revision: 1544419
URL: http://svn.apache.org/r1544419
Log:
TOMEE-1085 better check for jaxrs scanned classes
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
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=1544419&r1=1544418&r2=1544419&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 Fri Nov 22 06:40:42 2013
@@ -1236,7 +1236,7 @@ public class AnnotationDeployer implemen
}
private static void addRestApplicationIfPossible(final WebModule webModule, final Class<? extends Application> app) {
- if (Modifier.isAbstract(app.getModifiers())) {
+ if (!isInstantiable(app)) {
return;
}
@@ -5300,8 +5300,7 @@ public class AnnotationDeployer implemen
List<Annotated<Class<?>>> annotatedClasses = finder.findMetaAnnotatedClasses(Path.class);
for (Annotated<Class<?>> aClazz : annotatedClasses) {
Class<?> clazz = aClazz.get();
- int modifiers = clazz.getModifiers();
- if (!Modifier.isAbstract(modifiers)) {
+ if (isInstantiable(clazz)) {
if (!isEJB(clazz)) {
classes.add(clazz.getName());
} else {
@@ -5316,8 +5315,7 @@ public class AnnotationDeployer implemen
Method method = aMethod.get();
Class<?> clazz = method.getDeclaringClass();
- int modifiers = clazz.getModifiers();
- if (!Modifier.isAbstract(modifiers)) {
+ if (isInstantiable(clazz)) {
if (!isEJB(clazz)) {
classes.add(clazz.getName());
} else {
@@ -5329,6 +5327,12 @@ public class AnnotationDeployer implemen
return classes;
}
+ private static boolean isInstantiable(final Class<?> clazz) {
+ final int modifiers = clazz.getModifiers();
+ return !Modifier.isAbstract(modifiers) && !(clazz.getEnclosingClass() != null && !Modifier.isStatic(modifiers))
+ && Modifier.isPublic(modifiers);
+ }
+
private static boolean isEJB(Class<?> clazz) {
return clazz.isAnnotationPresent(Stateless.class)
|| clazz.isAnnotationPresent(Singleton.class)