Verifier test implementation. Check for the transaction-support
deployment field which should be one of the acceptable values :
NoTransaction
LocalTransaction
XATransaction
Result result = getInitializedResult();
ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
if(!descriptor.getOutBoundDefined())
{
result.addNaDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.notApplicable(smh.getLocalString
("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
"Resource Adapter does not provide outbound communication"));
return result;
}
String connectorTransactionSupport =
descriptor.getOutboundResourceAdapter().getTransSupport();
// No transaction support specified, this is an error
if (connectorTransactionSupport==null) {
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString
(getClass().getName() + ".nonexist",
"Error: No Transaction support specified for ressource adapter",
new Object[] {connectorTransactionSupport}));
return result;
}
// let's loop over all acceptable values to check the declared one is valid
for (int i=0;i<acceptableValues.length;i++) {
if (connectorTransactionSupport.equals(acceptableValues[i])) {
// Test passed, we found an acceptable value
result.addGoodDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.passed(smh.getLocalString
(getClass().getName() + ".passed",
"Transaction support [ {0} ] for ressource adapter is supported",
new Object[] {connectorTransactionSupport}));
return result;
}
}
// If we end up here, we haven't found an acceptable transaction support
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString
(getClass().getName() + ".failed",
"Error: Deployment descriptor transaction-support [ {0} ] for ressource adapter is not valid",
new Object[] {connectorTransactionSupport}));
return result;