User: luke_t Date: 02/02/10 09:02:50 Modified: src/main/org/jboss/verifier/strategy AbstractVerifier.java Log: Fix for verifier bug 489554. Revision Changes Path 1.25 +20 -5 jboss/src/main/org/jboss/verifier/strategy/AbstractVerifier.java Index: AbstractVerifier.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/verifier/strategy/AbstractVerifier.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- AbstractVerifier.java 28 Nov 2001 00:27:14 -0000 1.24 +++ AbstractVerifier.java 10 Feb 2002 17:02:50 -0000 1.25 @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * This package and its source code is available at www.jboss.org - * $Id: AbstractVerifier.java,v 1.24 2001/11/28 00:27:14 juhalindfors Exp $ + * $Id: AbstractVerifier.java,v 1.25 2002/02/10 17:02:50 luke_t Exp $ */ // standard imports @@ -62,6 +62,7 @@ * @author Aaron Mulder ([EMAIL PROTECTED]) * @author Vinay Menon ([EMAIL PROTECTED]) * @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a> + * @author <a href="mailto:[EMAIL PROTECTED]">Luke Taylor</a> * * <p><b>Revisions:</b></p> * <p><b>20011101: Andy</b> @@ -69,8 +70,14 @@ * <li>Changed the throwRemoteException() method to check accordingly to the RMI spec.</li> * </ul> * </p> + * <p><b>20020210: luke</b> + * <ul> + * <li>Changed hasRemoteReturnType() to use isAssignableFrom() rather than just compare strings. + * See Bug 489554 (sub-classed remote return types should be OK)</li> + * </ul> + * </p> * - * @version $Revision: 1.24 $ + * @version $Revision: 1.25 $ * @since JDK 1.3 */ public abstract class AbstractVerifier implements VerificationStrategy { @@ -261,7 +268,7 @@ } /* - * checks if a class's memeber (method, constructor or field) has a 'public' + * checks if a class's member (method, constructor or field) has a 'public' * modifier. */ public boolean isPublic(Member member) { @@ -316,7 +323,15 @@ * checks the return type of method matches the bean's remote interface */ public boolean hasRemoteReturnType(BeanMetaData bean, Method m) { - return (m.getReturnType().getName().equals(bean.getRemote())); + try { + Class clazz = classloader.loadClass(bean.getRemote()); + System.out.println("Bean remote "+bean.getRemote()+ ", return type " + m.getReturnType().getName()); + return m.getReturnType().isAssignableFrom(clazz); + } catch(Exception e) { + e.printStackTrace(); + return false; + } + //return (m.getReturnType().getName().equals()); } /* @@ -983,7 +998,7 @@ // exception classes, are assumed to be mapped to the implicit // CORBA system exception, and are therefore not explicitly // declared in OMG IDL. -// +// // if (RuntimeException.class.isAssignableFrom(type)) // return false;
_______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development