Check that the Client API Connection interface implements the close()
method
// get the connection
Result result = getInitializedResult();
ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
if(isCCIImplemented(descriptor, result))
{
Class c = testConnectionImpl(descriptor, result);
if (c==null) {
return result;
}
// now check the close() method
Method m = getMethod(c, "close", null);
if (m!=null) {
// passed
result.addGoodDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.passed(smh.getLocalString(
getClass().getName() + ".passed",
"The connection interface [ {0} ] implements the close() method",
new Object[] {c.getName()} ));
} else {
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString(
getClass().getName() + ".failed",
"Error: The connection interface [ {0} ] does not implement the close() method",
new Object[] {c.getName()} ));
}
}
else
{
// test is NA
result.addNaDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.notApplicable(smh.getLocalString
("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
"The CCI interfaces do not seem to be implemented by this resource adapter"));
}
return result;