1 23 package com.sun.enterprise.tools.verifier.tests.ejb.homeintf; 24 25 import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest; 26 import com.sun.enterprise.deployment.*; 27 import com.sun.enterprise.tools.verifier.Result; 28 import com.sun.enterprise.tools.verifier.*; 29 import java.lang.ClassLoader ; 30 import com.sun.enterprise.tools.verifier.tests.*; 31 32 37 abstract public class HomeInterfaceClassExist extends EjbTest { 38 39 41 abstract protected String getHomeInterfaceName(EjbDescriptor descriptor); 42 43 51 52 public Result check(EjbDescriptor descriptor) { 53 54 Result result = getInitializedResult(); 55 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 56 57 if (!(descriptor instanceof EjbSessionDescriptor) && 58 !(descriptor instanceof EjbEntityDescriptor)) { 59 result.addNaDetails(smh.getLocalString 60 ("tests.componentNameConstructor", 61 "For [ {0} ]", 62 new Object [] {compName.toString()})); 63 result.notApplicable(smh.getLocalString 64 ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1", 65 "Test apply only to session or entity beans.")); 66 return result; 67 } 68 69 if(getHomeInterfaceName(descriptor) == null || "".equals(getHomeInterfaceName(descriptor))){ 70 result.addNaDetails(smh.getLocalString 71 ("tests.componentNameConstructor", "For [ {0} ]", 72 new Object [] {compName.toString()})); 73 result.notApplicable(smh.getLocalString 74 ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp", 75 "Not Applicable because, EJB [ {0} ] has Local Interfaces only.", 76 new Object [] {descriptor.getEjbClassName()})); 77 78 return result; 79 } 80 81 try { 83 Context context = getVerifierContext(); 84 ClassLoader jcl = context.getClassLoader(); 85 Class c = Class.forName(getClassName(descriptor), false, jcl); 86 if (c != null) { 87 result.addGoodDetails(smh.getLocalString 88 ("tests.componentNameConstructor", 89 "For [ {0} ]", 90 new Object [] {compName.toString()})); 91 result.passed(smh.getLocalString 92 (getClass().getName() + ".passed", 93 "Home interface [ {0} ] exist and is loadable.", 94 new Object [] {getClassName(descriptor)})); 95 } else { 96 result.addErrorDetails(smh.getLocalString 97 ("tests.componentNameConstructor", 98 "For [ {0} ]", 99 new Object [] {compName.toString()})); 100 result.failed(smh.getLocalString 101 (getClass().getName() + ".failed", 102 "Error: Home interface [ {0} ] does not exist or is not loadable.", 103 new Object [] {getClassName(descriptor)})); 104 } 105 } catch (ClassNotFoundException e) { 106 Verifier.debug(e); 107 result.addErrorDetails(smh.getLocalString 108 ("tests.componentNameConstructor", 109 "For [ {0} ]", 110 new Object [] {compName.toString()})); 111 result.failed(smh.getLocalString 112 (getClass().getName() + ".failed", 113 "Error: Home interface [ {0} ] does not exist or is not loadable.", 114 new Object [] {getClassName(descriptor)})); 115 } 116 return result; 117 } 118 119 private String getClassName(EjbDescriptor descriptor) { 120 return getHomeInterfaceName(descriptor); 121 } 122 } 123 | Popular Tags |