1 23 28 29 package com.sun.enterprise.tools.verifier.tests.connector.admin; 30 31 import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest; 32 import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck; 33 import com.sun.enterprise.tools.verifier.Result; 34 import com.sun.enterprise.tools.verifier.*; 35 import com.sun.enterprise.deployment.ConnectorDescriptor; 36 import com.sun.enterprise.deployment.AdminObject; 37 import com.sun.enterprise.tools.verifier.tests.*; 38 import java.util.Iterator ; 39 import java.util.Set ; 40 41 48 public class CheckAdminObjectImpl 49 extends ConnectorTest 50 implements ConnectorCheck 51 { 52 53 62 public Result check(ConnectorDescriptor descriptor) { 63 64 Result result = getInitializedResult(); 65 ComponentNameConstructor compName = 66 getVerifierContext().getComponentNameConstructor(); 67 if(!descriptor.hasAdminObjects()) 68 { 69 result.addNaDetails(smh.getLocalString 70 ("tests.componentNameConstructor", 71 "For [ {0} ]", 72 new Object [] {compName.toString()})); 73 result.notApplicable(smh.getLocalString 74 ("com.sun.enterprise.tools.verifier.tests.connector.admin.notApp", 75 "Resource Adapter does not define any administered objects")); 76 return result; 77 } 78 Set adminObjects = descriptor.getAdminObjects(); 79 boolean oneFailed = false; 80 Iterator iter = adminObjects.iterator(); 81 while(iter.hasNext()) 82 { 83 AdminObject adminObj = (AdminObject) iter.next(); 84 String intf = adminObj.getAdminObjectInterface(); 85 String impl = adminObj.getAdminObjectClass(); 86 Class implClass = null; 87 try 88 { 89 implClass = Class.forName(impl, false, getVerifierContext().getClassLoader()); 90 } 91 catch(ClassNotFoundException e) 92 { 93 result.addErrorDetails(smh.getLocalString 94 ("tests.componentNameConstructor", 95 "For [ {0} ]", 96 new Object [] {compName.toString()})); 97 result.failed(smh.getLocalString 98 ("com.sun.enterprise.tools.verifier.tests.connector.admin.nonexist", 99 "Error: The class [ {0} ] as defined under adminobject-class in the deployment descriptor does not exist", 100 new Object [] {impl})); 101 return result; 102 } 103 if(!isImplementorOf(implClass, intf)) 104 { 105 oneFailed = true; 106 result.addErrorDetails(smh.getLocalString 107 ("tests.componentNameConstructor", 108 "For [ {0} ]", 109 new Object [] {compName.toString()})); 110 result.failed(smh.getLocalString(getClass().getName() + ".failed", 111 "Error: adminobject-class [ {0} ] does not implement adminobject-interface [ {1} ].", 112 new Object [] {impl, intf})); 113 return result; 114 } 115 } 116 if(!oneFailed) 117 { 118 result.addGoodDetails(smh.getLocalString 119 ("tests.componentNameConstructor", 120 "For [ {0} ]", 121 new Object [] {compName.toString()})); 122 result.passed(smh.getLocalString(getClass().getName() + ".passed", 123 "Success: all adminobject-class implement their corresponding adminobject-interface")); 124 } 125 return result; 126 } 127 } 128 | Popular Tags |