From: remm Date: Fri, 26 May 2006 16:38:24 +0000 (+0000) Subject: - Fix some bugs with annotation support. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=289838b335599766e3eb6c3b8a93aea3a69548f2;p=tomcat7.0 - Fix some bugs with annotation support. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@409695 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/startup/WebAnnotationSet.java b/java/org/apache/catalina/startup/WebAnnotationSet.java index 882b60613..eef024aa0 100644 --- a/java/org/apache/catalina/startup/WebAnnotationSet.java +++ b/java/org/apache/catalina/startup/WebAnnotationSet.java @@ -99,6 +99,10 @@ public class WebAnnotationSet { if (children[i] instanceof StandardWrapper) { wrapper = (StandardWrapper) children[i]; + if (wrapper.getServletClass() == null) { + continue; + } + try { classClass = classLoader.loadClass(wrapper.getServletClass()); } catch (ClassNotFoundException e) { diff --git a/java/org/apache/catalina/util/AnnotationProcessor.java b/java/org/apache/catalina/util/AnnotationProcessor.java index 6b5b5f843..9288eb654 100644 --- a/java/org/apache/catalina/util/AnnotationProcessor.java +++ b/java/org/apache/catalina/util/AnnotationProcessor.java @@ -30,8 +30,6 @@ import javax.persistence.PersistenceContext; import javax.persistence.PersistenceUnit; import javax.xml.ws.WebServiceRef; -import org.apache.tomcat.util.IntrospectionUtils; - /** * Verify the annotation and Process it. @@ -49,7 +47,7 @@ public class AnnotationProcessor { public static void postConstruct(Object instance) throws IllegalAccessException, InvocationTargetException { - Method[] methods = IntrospectionUtils.findMethods(instance.getClass()); + Method[] methods = instance.getClass().getDeclaredMethods(); Method postConstruct = null; for (int i = 0; i < methods.length; i++) { if (methods[i].isAnnotationPresent(PostConstruct.class)) { @@ -82,7 +80,7 @@ public class AnnotationProcessor { public static void preDestroy(Object instance) throws IllegalAccessException, InvocationTargetException { - Method[] methods = IntrospectionUtils.findMethods(instance.getClass()); + Method[] methods = instance.getClass().getDeclaredMethods(); Method preDestroy = null; for (int i = 0; i < methods.length; i++) { if (methods[i].isAnnotationPresent(PreDestroy.class)) { @@ -116,7 +114,7 @@ public class AnnotationProcessor { throws IllegalAccessException, InvocationTargetException, NamingException { // Initialize fields annotations - Field[] fields = instance.getClass().getFields(); + Field[] fields = instance.getClass().getDeclaredFields(); for (int i = 0; i < fields.length; i++) { if (fields[i].isAnnotationPresent(Resource.class)) { Resource annotation = (Resource) fields[i].getAnnotation(Resource.class); @@ -144,7 +142,7 @@ public class AnnotationProcessor { } // Initialize methods annotations - Method[] methods = IntrospectionUtils.findMethods(instance.getClass()); + Method[] methods = instance.getClass().getDeclaredMethods(); for (int i = 0; i < methods.length; i++) { if (methods[i].isAnnotationPresent(Resource.class)) { Resource annotation = (Resource) methods[i].getAnnotation(Resource.class);