FileDocCategorySizeDatePackage
TransactionSupport.javaAPI DocGlassfish v2 API5782Fri May 04 22:33:30 BST 2007com.sun.enterprise.tools.verifier.tests.connector

TransactionSupport

public class TransactionSupport extends ConnectorTest implements ConnectorCheck
Verify that the Transaction Support for the ressource adapter is of an acceptable value
author
Jerome Dochez
version

Fields Summary
private final String[]
acceptableValues
Constructors Summary
Methods Summary
public com.sun.enterprise.tools.verifier.Resultcheck(com.sun.enterprise.deployment.ConnectorDescriptor descriptor)

Verifier test implementation. Check for the transaction-support deployment field which should be one of the acceptable values : NoTransaction LocalTransaction XATransaction

param
ConnectorDescritorThe deployment descriptor for the connector.
return
Result Code execution result

                    
                                                                         
        
        
        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;