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 CheckAdminObjectSerializable 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 impl = adminObj.getAdminObjectClass(); 85 Class implClass = null; 86 try 87 { 88 implClass = Class.forName(impl, false, getVerifierContext().getClassLoader()); 89 } 90 catch(ClassNotFoundException e) 91 { 92 result.addErrorDetails(smh.getLocalString 93 ("tests.componentNameConstructor", 94 "For [ {0} ]", 95 new Object [] {compName.toString()})); 96 result.failed(smh.getLocalString 97 ("com.sun.enterprise.tools.verifier.tests.connector.admin.nonexist", 98 "Error: The class [ {0} ] as defined under adminobject-class in the deployment descriptor does not exist", 99 new Object [] {impl})); 100 return result; 101 } 102 if(!isImplementorOf(implClass, "java.io.Serializable")) 103 { 104 oneFailed = true; 105 result.addErrorDetails(smh.getLocalString 106 ("tests.componentNameConstructor", 107 "For [ {0} ]", 108 new Object [] {compName.toString()})); 109 result.failed(smh.getLocalString(getClass().getName() + ".failed", 110 "Error: adminobject-class [ {0} ] does not implement java.io.Serializable", 111 new Object [] {impl})); 112 return result; 113 } 114 } 115 if(!oneFailed) 116 { 117 result.addGoodDetails(smh.getLocalString 118 ("tests.componentNameConstructor", 119 "For [ {0} ]", 120 new Object [] {compName.toString()})); 121 result.passed(smh.getLocalString(getClass().getName() + ".passed", 122 "Success: all adminobject-class implement java.io.Serializable")); 123 } 124 return result; 125 } 126 } 127 | Popular Tags |