[jboss-cvs] JBossAS SVN: r97613 - projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/rules/mc.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 9 09:41:20 EST 2009


Author: jesper.pedersen
Date: 2009-12-09 09:41:20 -0500 (Wed, 09 Dec 2009)
New Revision: 97613

Modified:
   projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/rules/mc/MCGetMetaData.java
Log:
[JBJCA-201] Fixed logic in MCGetMetaData

Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/rules/mc/MCGetMetaData.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/rules/mc/MCGetMetaData.java	2009-12-09 14:13:11 UTC (rev 97612)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/rules/mc/MCGetMetaData.java	2009-12-09 14:41:20 UTC (rev 97613)
@@ -64,37 +64,21 @@
           Key.MANAGED_CONNECTION == vo.getKey() &&
           vo.getObject() instanceof ManagedConnection)
       {
-         boolean error = true;
-         Class clz = vo.getObject().getClass();
+         boolean error = false;
 
-         while (error && !clz.equals(Object.class))
+         try
          {
-            try
-            {
-               Method gmd = clz.getDeclaredMethod("getMetaData", new Class[] {Object.class});
-               if (gmd != null)
-               {
-                  Object md = null;
-                  try
-                  {
-                     md = gmd.invoke(vo.getObject(), (Object[])null);
-                  }
-                  catch (Exception e)
-                  {
-                     //Ignore exception for ResourceException and ResourceAdapterInternalException
-                  }
-                  if (md != null && md instanceof ManagedConnectionMetaData)
-                  {
-                     error = false;
-                  }
-                  break; //exit while cycle since we got getMetaData method
-               }
-            }
-            catch (Throwable t)
-            {
-               clz = clz.getSuperclass();
-            }
+            Class clz = vo.getObject().getClass();
+            Method gmd = clz.getMethod("getMetaData", (Class[])null);
+            Object md = gmd.invoke(vo.getObject(), (Object[])null);
+
+            if (md == null)
+               error = true;
          }
+         catch (Throwable t)
+         {
+            // Ignore
+         }
 
          if (error)
          {




More information about the jboss-cvs-commits mailing list