1 23 28 29 package com.sun.enterprise.tools.verifier.tests.connector.cci; 30 31 import java.lang.reflect.Method ; 32 import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck; 33 import com.sun.enterprise.tools.verifier.Result; 34 import com.sun.enterprise.deployment.ConnectorDescriptor; 35 import com.sun.enterprise.tools.verifier.tests.*; 36 37 43 public class ConnectionFactoryGetConnection 44 extends ConnectionFactoryTest 45 implements ConnectorCheck 46 { 47 48 58 public Result check(ConnectorDescriptor descriptor) { 59 60 Result result = getInitializedResult(); 61 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 62 if(isCCIImplemented(descriptor, result)) 63 { 64 Class cf = testConnectionFactoryImpl(descriptor, result); 65 if (cf == null) 66 return result; 67 String className = cf.getName(); 68 69 do { 70 Method [] allMethods = cf.getMethods(); 71 for (int i=0;i<allMethods.length;i++) { 72 if (allMethods[i].getName().equals("getConnection")) { 73 String connection = getConnectionInterface(descriptor, result); 75 if (isSubclassOf(allMethods[i].getReturnType(), connection)) { 76 result.addGoodDetails(smh.getLocalString 77 ("tests.componentNameConstructor", 78 "For [ {0} ]", 79 new Object [] {compName.toString()})); 80 result.passed(smh.getLocalString( 81 getClass().getName() + ".passed", 82 "The getConnection method of the [ {0} ] returns the [ {1} ] interface", 83 new Object [] {cf.getName(), connection} )); 84 } else { 85 result.addErrorDetails(smh.getLocalString 86 ("tests.componentNameConstructor", 87 "For [ {0} ]", 88 new Object [] {compName.toString()})); 89 result.failed(smh.getLocalString( 90 getClass().getName() + ".failed", 91 "Error: The getConnection method of the [ {0} ] does not return the [ {1} ] interface", 92 new Object [] {cf.getName(), connection} )); 93 } 94 return result; 95 } 96 } 97 cf = cf.getSuperclass(); 98 } while (cf!=null); 99 result.addWarningDetails(smh.getLocalString 100 ("tests.componentNameConstructor", 101 "For [ {0} ]", 102 new Object [] {compName.toString()})); 103 result.warning(smh.getLocalString( 104 getClass().getName() + ".warning", 105 "Warning: The getConnection method is not defined by [ {0} ]", 106 new Object [] {className} )); 107 } 108 else 109 { 110 result.addNaDetails(smh.getLocalString 111 ("tests.componentNameConstructor", 112 "For [ {0} ]", 113 new Object [] {compName.toString()})); 114 result.notApplicable(smh.getLocalString 115 ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp", 116 "The CCI interfaces do not seem to be implemented by this resource adapter")); 117 } 118 return result; 119 } 120 } 121 | Popular Tags |