FileDocCategorySizeDatePackage
TransactionTypeBeanManaged.javaAPI DocGlassfish v2 API5175Fri May 04 22:34:06 BST 2007com.sun.enterprise.tools.verifier.tests.ejb.session

TransactionTypeBeanManaged

public class TransactionTypeBeanManaged extends com.sun.enterprise.tools.verifier.tests.ejb.EjbTest implements com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck
Session Bean's bean-managed transaction demarcation test. The enterprise bean with bean-managed transaction demarcation must be a Session bean.

Fields Summary
Constructors Summary
Methods Summary
public Resultcheck(EjbDescriptor descriptor)
Session Bean's bean-managed transaction demarcation test. The enterprise bean with bean-managed transaction demarcation must be a Session bean.

param
descriptor the Enterprise Java Bean deployment descriptor
return
Result the results for this assertion


	Result result = getInitializedResult();
	ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();

	String transactionType = descriptor.getTransactionType();
	if (EjbSessionDescriptor.BEAN_TRANSACTION_TYPE.equals(transactionType)) {
	    if (descriptor instanceof EjbSessionDescriptor) {
		result.addGoodDetails(smh.getLocalString
				      ("tests.componentNameConstructor",
				       "For [ {0} ]",
				       new Object[] {compName.toString()}));
		result.passed(smh.getLocalString
			      (getClass().getName() + ".passed",
			       "[ {0} ] is valid transactionType within Session bean [ {1} ]",
			       new Object[] {transactionType, descriptor.getName()}));
	    } else if (descriptor instanceof EjbEntityDescriptor) {
		result.addErrorDetails(smh.getLocalString
				       ("tests.componentNameConstructor",
					"For [ {0} ]",
					new Object[] {compName.toString()}));
		result.failed(smh.getLocalString
			      (getClass().getName() + ".failedException",
			       "Error: [ {0} ] is not valid transactionType within entity bean [ {1} ]",
			       new Object[] {transactionType, descriptor.getName()}));
	    } 
	    return result;
	} else if (EjbSessionDescriptor.CONTAINER_TRANSACTION_TYPE.equals(transactionType)) {
	    result.addNaDetails(smh.getLocalString
				("tests.componentNameConstructor",
				 "For [ {0} ]",
				 new Object[] {compName.toString()}));
	    result.notApplicable(smh.getLocalString
				 (getClass().getName() + ".notApplicable",
				  "Expected [ {0} ] transaction demarcation, but [ {1} ] bean has [ {2} ] transaction demarcation.",
				  new Object[] {EjbSessionDescriptor.BEAN_TRANSACTION_TYPE,descriptor.getName(),EjbSessionDescriptor.CONTAINER_TRANSACTION_TYPE}));
	    return result;
	} else {
	    result.addNaDetails(smh.getLocalString
				("tests.componentNameConstructor",
				 "For [ {0} ]",
				 new Object[] {compName.toString()}));
	    result.notApplicable(smh.getLocalString
				 (getClass().getName() + ".notApplicable",
				  "Expected [ {0} ] transaction demarcation, but [ {1} ] bean has [ {2} ] transaction demarcation.",
				  new Object[] {EjbSessionDescriptor.BEAN_TRANSACTION_TYPE,descriptor.getName(),transactionType}));
	    return result;
	}