Return-Path: X-Original-To: apmail-geronimo-scm-archive@www.apache.org Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 00DEB69FF for ; Sat, 28 May 2011 05:06:53 +0000 (UTC) Received: (qmail 5161 invoked by uid 500); 28 May 2011 05:06:53 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 5123 invoked by uid 500); 28 May 2011 05:06:53 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 5113 invoked by uid 99); 28 May 2011 05:06:53 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 28 May 2011 05:06:53 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 28 May 2011 05:06:50 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7B41423888FD; Sat, 28 May 2011 05:06:29 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1128553 - /geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java Date: Sat, 28 May 2011 05:06:29 -0000 To: scm@geronimo.apache.org From: genspring@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110528050629.7B41423888FD@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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); }