1 23 package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass; 24 25 import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest; 26 import java.util.*; 27 import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils; 28 import com.sun.enterprise.deployment.EjbEntityDescriptor; 29 import com.sun.enterprise.deployment.EjbDescriptor; 30 import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck; 31 import com.sun.enterprise.tools.verifier.*; 32 import java.lang.ClassLoader ; 33 import com.sun.enterprise.tools.verifier.tests.*; 34 35 43 public class EjbPrimaryKeyClassRmiIIOP extends EjbTest implements EjbCheck { 44 45 46 57 public Result check(EjbDescriptor descriptor) { 58 59 Result result = getInitializedResult(); 60 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 61 62 if (descriptor instanceof EjbEntityDescriptor) { 63 boolean isLegalRMIIIOPValueType = false; 64 boolean oneFailed = false; 65 66 String primaryKeyType = ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(); 68 69 if (!primaryKeyType.equals("")) { 70 try { 71 Context context = getVerifierContext(); 72 ClassLoader jcl = context.getClassLoader(); 73 Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader()); 74 if (RmiIIOPUtils.isValidRmiIIOPValueType(c)) { 75 isLegalRMIIIOPValueType = true; 77 } 79 if (isLegalRMIIIOPValueType) { 80 result.addGoodDetails(smh.getLocalString 81 ("tests.componentNameConstructor", 82 "For [ {0} ]", 83 new Object [] {compName.toString()})); 84 result.addGoodDetails(smh.getLocalString 85 (getClass().getName() + ".debug1", 86 "For EJB primary key class [ {0} ]", 87 new Object [] {primaryKeyType})); 88 result.addGoodDetails(smh.getLocalString 89 (getClass().getName() + ".passed", 90 "A primary key class which must be legal Value Type in RMI-IIOP was defined in the deployment descriptor.")); 91 } else if (!isLegalRMIIIOPValueType) { 92 oneFailed = true; 93 result.addErrorDetails(smh.getLocalString 94 ("tests.componentNameConstructor", 95 "For [ {0} ]", 96 new Object [] {compName.toString()})); 97 result.addErrorDetails(smh.getLocalString 98 (getClass().getName() + ".debug1", 99 "For EJB primary key class [ {0} ]", 100 new Object [] {primaryKeyType})); 101 result.addErrorDetails(smh.getLocalString 102 (getClass().getName() + ".failed", 103 "Error: A primary key class which must be legal Value Type in RMI-IIOP was not defined in the deployment 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() + ".failedException", 113 "Error: [ {0} ] class not found.", 114 new Object [] {primaryKeyType})); 115 oneFailed = true; 116 } 117 } else { 118 oneFailed = true; 119 result.addErrorDetails(smh.getLocalString 120 ("tests.componentNameConstructor", 121 "For [ {0} ]", 122 new Object [] {compName.toString()})); 123 result.addErrorDetails(smh.getLocalString 124 (getClass().getName() + ".debug1", 125 "For EJB primary key class [ {0} ]", 126 new Object [] {primaryKeyType})); 127 result.addErrorDetails(smh.getLocalString 128 (getClass().getName() + ".failed1", 129 "Error: A primary key class was not defined in the deployment descriptor.")); 130 } 131 132 if (oneFailed) { 133 result.setStatus(result.FAILED); 134 } else { 135 result.setStatus(result.PASSED); 136 } 137 138 return result; 139 140 } else { 141 result.addNaDetails(smh.getLocalString 142 ("tests.componentNameConstructor", 143 "For [ {0} ]", 144 new Object [] {compName.toString()})); 145 result.notApplicable(smh.getLocalString 146 (getClass().getName() + ".notApplicable", 147 "[ {0} ] expected {1} bean, but called with {2} bean.", 148 new Object [] {getClass(),"Entity","Session"})); 149 return result; 150 } 151 } 152 } 153 | Popular Tags |