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.*; 30 31 38 public class CmrFieldsAccessorExposition extends CmrFieldTest { 39 40 50 protected boolean runIndividualCmrTest(Descriptor descriptor, RelationRoleDescriptor rrd, Class c, Result result) { 51 52 58 boolean pass = true; 59 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 60 61 if (((EjbDescriptor)descriptor).getRemoteClassName() != null && 63 !((((EjbDescriptor)descriptor).getRemoteClassName()).equals(""))) { 64 String interfaceType = ((EjbDescriptor)descriptor).getRemoteClassName(); 65 try { 66 CMRFieldInfo info = rrd.getCMRFieldInfo(); 67 Class remoteInterface = Class.forName(interfaceType, false, getVerifierContext().getClassLoader()); 68 String getMethodName = "get" + Character.toUpperCase(info.name.charAt(0)) + info.name.substring(1); 69 String setMethodName = "set" + Character.toUpperCase(info.name.charAt(0)) + info.name.substring(1); 70 71 Method getMethod = getMethod(remoteInterface, getMethodName, null); 72 if (getMethod != null) { 73 addErrorDetails(result, compName); 74 result.addErrorDetails(smh.getLocalString 75 ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.failed", 76 "Error : CMR field {0} accessor method [ {1} ] is exposed through the component interface [ {2} ]", 77 new Object [] {"get", info.name, interfaceType})); 78 pass = false; 79 } else { 80 result.addGoodDetails(smh.getLocalString 81 ("tests.componentNameConstructor", 82 "For [ {0} ]", 83 new Object [] {compName.toString()})); 84 result.addGoodDetails(smh.getLocalString 85 ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.passed", 86 "CMR field {0} accessor method [ {1} ] is not exposed through the component interface [ {2} ]", 87 new Object [] {"get", info.name, interfaceType})); 88 pass = true; 89 } 90 91 Class parms[] = { info.type }; 92 Method setMethod = getMethod(remoteInterface, setMethodName, parms ); 93 if (setMethod != null) { 94 addErrorDetails(result, compName); 95 result.addErrorDetails(smh.getLocalString 96 ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.failed", 97 "Error : CMR field {0} accessor method [ {1} ] is exposed through the component interface [ {2} ]", 98 new Object [] {"set", info.name, interfaceType})); 99 100 pass = false; 101 } else { 102 result.addGoodDetails(smh.getLocalString 103 ("tests.componentNameConstructor", 104 "For [ {0} ]", 105 new Object [] {compName.toString()})); 106 result.addGoodDetails(smh.getLocalString 107 ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.passed", 108 "CMR field [{0}] accessor method [ {1} ] is not exposed through the component interface [ {2} ]", 109 new Object [] {"set", info.name, interfaceType})); 110 } 111 112 } catch (Exception e) { 113 Verifier.debug(e); 114 addErrorDetails(result, compName); 115 result.addErrorDetails(smh.getLocalString 116 ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.failedException", 117 "Error: [{0}] class not found or local interface not defined", 118 new Object [] {interfaceType})); 119 pass = false; 120 121 } 122 } 123 return pass; 124 } 125 } 126 | Popular Tags |