[jboss-cvs] JBossAS SVN: r97600 - in projects/jboss-jca/trunk/deployers/src/main: java/org/jboss/jca/deployers/common/validator/rules/mc and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Dec 9 04:45:55 EST 2009
Author: jeff.zhang
Date: 2009-12-09 04:45:55 -0500 (Wed, 09 Dec 2009)
New Revision: 97600
Modified:
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/Validator.java
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/resources/validator.properties
Log:
[JBJCA-201] MCGetMetaData reflection to invoke method
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/Validator.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/Validator.java 2009-12-09 08:27:31 UTC (rev 97599)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/Validator.java 2009-12-09 09:45:55 UTC (rev 97600)
@@ -42,7 +42,7 @@
"org.jboss.jca.deployers.common.validator.rules.mcf.MCFHashCode",
"org.jboss.jca.deployers.common.validator.rules.mcf.MCFEquals",
"org.jboss.jca.deployers.common.validator.rules.mc.MC",
- "org.jboss.jca.deployers.common.validator.rules.mc.MCMD"
+ "org.jboss.jca.deployers.common.validator.rules.mc.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 08:27:31 UTC (rev 97599)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/validator/rules/mc/MCGetMetaData.java 2009-12-09 09:45:55 UTC (rev 97600)
@@ -34,6 +34,7 @@
import java.util.ResourceBundle;
import javax.resource.spi.ManagedConnection;
+import javax.resource.spi.ManagedConnectionMetaData;
/**
* ManagedConnectionFactory must have an equals implementation
@@ -70,9 +71,24 @@
{
try
{
- Method equals = clz.getDeclaredMethod("getMetaData", new Class[] {Object.class});
- if (equals != null)
- error = false;
+ 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)
{
Modified: projects/jboss-jca/trunk/deployers/src/main/resources/validator.properties
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/resources/validator.properties 2009-12-09 08:27:31 UTC (rev 97599)
+++ projects/jboss-jca/trunk/deployers/src/main/resources/validator.properties 2009-12-09 09:45:55 UTC (rev 97600)
@@ -8,6 +8,4 @@
mcf.MCFHashCode=A ManagedConnectionFactory must implement a "public int hashCode()" method.
mcf.MCFEquals=A ManagedConnectionFactory must implement a "public boolean equals(Object)" method.
mc.MC=The class must provide an implementation of the ManagedConnection interface.
-mc.MCMD=The class must implement the javax.resource.spi.ManagedConnectionMetaData interface.
-mc.MCGetMetaData=An instance of this implementation class should be returned from the ManagedConnection.getMetaData method
-
+mc.MCGetMetaData=ManagedConnection.getMetaData() must return a javax.resource.spi.ManagedConnectionMetaData instance
More information about the jboss-cvs-commits
mailing list