admin@glassfish.java.net

Please review the sailfin bug 1048

From: Sumasri Uppala <Sumasri.Uppala_at_Sun.COM>
Date: Thu, 18 Sep 2008 11:48:32 +0530

Hi,

 For this bug,changed the appserv-core.Please review the code for bug
1048 and let me know the status .

Thanks and Regards
Suma


Index: ManagementRulesMBeanHelper.java
===================================================================
RCS file: /cvs/glassfish/appserv-core/src/java/com/sun/enterprise/admin/selfmanagement/event/ManagementRulesMBeanHelper.java,v
retrieving revision 1.8
diff -u -r1.8 ManagementRulesMBeanHelper.java
--- ManagementRulesMBeanHelper.java 5 May 2007 05:33:44 -0000 1.8
+++ ManagementRulesMBeanHelper.java 17 Sep 2008 06:38:59 -0000
@@ -125,7 +125,7 @@
             else
                 class1 = Class.forName(implClassName);
             while (class1 != null) {
- ifList = class1.getInterfaces();
+ ifList = getInterfaces(class1);
                 if(ifList != null) {
                     for (int i=0; i<ifList.length; i++) {
                         String canonicalName = ifList[i].getCanonicalName().trim();
@@ -142,6 +142,22 @@
         return false;
     }
 
+ private static Class[] getInterfaces(Class aClass) {
+ Class[] interfaces;
+ interfaces=aClass.getInterfaces();
+ Class[] tempInterfaces=interfaces;
+ if(tempInterfaces!=null){
+ for(int i=0;i<tempInterfaces.length;i++){
+ Class[] extendedInterfaces = getInterfaces(tempInterfaces[i]);
+ Class[] temp=new Class[extendedInterfaces.length+interfaces.length];
+ System.arraycopy(interfaces, 0, temp, 0, interfaces.length);
+ System.arraycopy(extendedInterfaces, 0, temp ,interfaces.length,extendedInterfaces.length);
+ interfaces=temp;
+ }
+ }
+ return interfaces;
+ }
+
     private static ClassLoader getMBeanClassLoader() {
         try {
             return (ClassLoader) Class.forName(