Fixes a bug where service interfaces in superclass were not proxied. -- Cheers,
Peter Donald --------------------------------------------------- "Therefore it can be said that victorious warriors win first, and then go to battle, while defeated warriors go to battle first, and then seek to win." - Sun Tzu, the Art Of War ---------------------------------------------------
Index: src/java/org/apache/excalibur/fortress/handler/ProxyHelper.java =================================================================== RCS file: /home/cvspublic/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ProxyHelper.java,v retrieving revision 1.2 diff -u -r1.2 ProxyHelper.java --- src/java/org/apache/excalibur/fortress/handler/ProxyHelper.java 9 Nov 2002 07:44:38 -0000 1.2 +++ src/java/org/apache/excalibur/fortress/handler/ProxyHelper.java 3 Dec 2002 +00:31:28 -0000 @@ -157,6 +157,23 @@ private static Class[] guessWorkInterfaces( final Class clazz ) { final ArrayList list = new ArrayList(); + guessWorkInterfaces( clazz, list ); + + list.add( Component.class ); + return (Class[])list.toArray( new Class[ list.size() ] ); + } + + /** + * Get a list of interfaces to proxy by scanning through + * all interfaces a class implements and skipping invalid interfaces + * (as defined in {@link #INVALID_INTERFACES}). + * + * @param clazz the class + * @param list the list of current work interfaces + */ + private static void guessWorkInterfaces( final Class clazz, + final ArrayList list ) + { final Class[] interfaces = clazz.getInterfaces(); boolean skip = false; @@ -177,8 +194,7 @@ list.add( interfaces[ i ] ); } } - list.add( Component.class ); - return (Class[])list.toArray( new Class[ list.size() ] ); + guessWorkInterfaces( clazz.getSuperclass(),list ); } }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>