You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ge...@apache.org on 2011/05/28 07:06:29 UTC

svn commit: r1128553 - /geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java

Author: genspring
Date: Sat May 28 05:06:29 2011
New Revision: 1128553

URL: http://svn.apache.org/viewvc?rev=1128553&view=rev
Log:
if the type in @resource annotation is Object.class, return the filed type directly.

Modified:
    geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java?rev=1128553&r1=1128552&r2=1128553&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java Sat May 28 05:06:29 2011
@@ -421,7 +421,7 @@ public abstract class AbstractNamingBuil
             try {
                 Field field = clazz.getDeclaredField(fieldName);
                 Resource resource = field.getAnnotation(Resource.class);
-                if (resource != null) {
+                if (resource != null && resource.type()!=Object.class) {
                     type = chooseType(fieldName, field.getType(), resource.type());
                 } else {
                     type = field.getType();
@@ -437,7 +437,7 @@ public abstract class AbstractNamingBuil
                         String setName = Introspector.decapitalize(methodName.substring(3));
                         if (fieldName.equals(setName)) {
                             Resource resource = method.getAnnotation(Resource.class);
-                            if (resource != null) {
+                            if (resource != null && resource.type()!=Object.class) {
                                 type = chooseType(fieldName, method.getParameterTypes()[0], resource.type());
                             } else {
                                 type = method.getParameterTypes()[0];
@@ -446,12 +446,15 @@ public abstract class AbstractNamingBuil
                     }
                 }
             }
+            
+            if (type != null) {
+                return deprimitivize(type);
+            }
+            
             clazz = clazz.getSuperclass();
         } while (clazz != null);
         
-        if (type != null) {
-            return deprimitivize(type);
-        }
+
         
         throw new NoSuchFieldException(fieldName);
     }