1 23 package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2; 24 25 import java.lang.reflect.Method ; 26 import com.sun.enterprise.deployment.*; 27 import com.sun.enterprise.tools.verifier.Result; 28 import com.sun.enterprise.tools.verifier.*; 29 import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest; 30 import java.lang.ClassLoader ; 31 import com.sun.enterprise.tools.verifier.tests.*; 32 33 39 public class SelectMethodExposition extends SelectMethodTest { 40 41 52 ComponentNameConstructor compName = null; 53 54 protected boolean runIndividualSelectTest(Method m, EjbCMPEntityDescriptor descriptor, Result result) { 55 boolean allIsWell = true; 56 compName = getVerifierContext().getComponentNameConstructor(); 57 if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()) && 59 descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())) 60 allIsWell = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getRemoteClassName(),descriptor, result, m); 61 if(allIsWell == true) { 62 if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()) && 63 descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())) 64 allIsWell = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor.getLocalClassName(),descriptor, result, m); 65 } 66 return allIsWell; 67 } 68 69 78 79 private boolean commonToBothInterfaces(String home,String remote,EjbDescriptor descriptor, Result result, Method m) { 80 try { 81 Context context = getVerifierContext(); 83 ClassLoader jcl = context.getClassLoader(); 84 Method m1 = getMethod(Class.forName(home, false, 85 getVerifierContext().getClassLoader()),m.getName(), m.getParameterTypes()); 86 Method m2 = getMethod(Class.forName(remote, false, 87 getVerifierContext().getClassLoader()), m.getName(), m.getParameterTypes()); 88 if (m1 == null && m2 == null) { 89 result.addGoodDetails(smh.getLocalString 90 ("tests.componentNameConstructor", 91 "For [ {0} ]", 92 new Object [] {compName.toString()})); 93 result.addGoodDetails(smh.getLocalString 94 ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.passed", 95 "[ {0} ] is not declared in the home or remote interface", 96 new Object [] {m.getName()})); 97 return true; 98 } else { 99 result.addErrorDetails(smh.getLocalString 100 ("tests.componentNameConstructor", 101 "For [ {0} ]", 102 new Object [] {compName.toString()})); 103 result.addErrorDetails(smh.getLocalString 104 ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.failed", 105 "Error : [ {0} ] is declared in the home or remote interface", 106 new Object [] {m.getName()})); 107 return false; 108 } 109 } catch (ClassNotFoundException e) { 110 result.addErrorDetails(smh.getLocalString 111 ("tests.componentNameConstructor", 112 "For [ {0} ]", 113 new Object [] {compName.toString()})); 114 result.addErrorDetails(smh.getLocalString 115 ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.failedException", 116 "Error: home or remote interface not found.", 117 new Object [] {})); 118 Verifier.debug(e); 119 return false; 120 } 121 } 122 } 123 | Popular Tags |