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 com.sun.enterprise.deployment.EjbDescriptor; 27 import com.sun.enterprise.deployment.EjbEntityDescriptor; 28 import com.sun.enterprise.tools.verifier.*; 29 import java.lang.ClassLoader ; 30 import java.util.logging.Level ; 31 32 import com.sun.enterprise.tools.verifier.tests.*; 33 import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck; 34 35 44 public class PrimaryKeyClassElement extends EjbTest implements EjbCheck { 45 46 59 public Result check(EjbDescriptor descriptor) { 60 61 Result result = getInitializedResult(); 62 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 63 64 if (descriptor instanceof EjbEntityDescriptor) { 65 String persistence = 66 ((EjbEntityDescriptor)descriptor).getPersistenceType(); 67 if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) { 68 logger.log(Level.FINE, getClass().getName() + ".debug1", 69 new Object [] {descriptor.getName(), "bean"}); 70 String primkey = 71 ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(); 72 73 if (!primkey.equals("java.lang.String")) { 74 try { 75 Class c = Class.forName(primkey, false, getVerifierContext().getClassLoader()); 76 77 result.addGoodDetails(smh.getLocalString 78 ("tests.componentNameConstructor", 79 "For [ {0} ]", 80 new Object [] {compName.toString()})); 81 result.passed(smh.getLocalString 82 (getClass().getName() + ".passed", 83 "Primary Key Class [ {0} ] exist and is loadable", 84 new Object [] {primkey})); 85 } catch (Exception e) { 86 Verifier.debug(e); 87 result.addErrorDetails(smh.getLocalString 88 ("tests.componentNameConstructor", 89 "For [ {0} ]", 90 new Object [] {compName.toString()})); 91 result.failed(smh.getLocalString 92 (getClass().getName() + ".failedException", 93 "Error: Loading Primary Key Class [ {0} ]", 94 new Object [] {primkey})); 95 return result; 96 } 97 } else { 98 result.addGoodDetails(smh.getLocalString 99 ("tests.componentNameConstructor", 100 "For [ {0} ]", 101 new Object [] {compName.toString()})); 102 103 result.passed(smh.getLocalString 104 (getClass().getName() + ".passed1", 105 "Primary Key Class is [ {0} ]", 106 new Object [] {primkey})); 107 } 108 109 return result; 110 111 } else if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) { 112 result.addNaDetails(smh.getLocalString 113 ("tests.componentNameConstructor", 114 "For [ {0} ]", 115 new Object [] {compName.toString()})); 116 result.notApplicable(smh.getLocalString 117 (getClass().getName() + ".notApplicable1", 118 "Entity Bean [ {0} ] with [ {1} ] managed persistence, primkey optional.", 119 new Object [] {descriptor.getName(),persistence})); 120 return result; 121 } 122 else { 123 result.addNaDetails(smh.getLocalString 124 ("tests.componentNameConstructor", 125 "For [ {0} ]", 126 new Object [] {compName.toString()})); 127 result.notApplicable(smh.getLocalString 128 (getClass().getName() + ".notApplicable2", 129 "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.", 130 new Object [] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence})); 131 return result; 132 } 133 } else { 134 result.addNaDetails(smh.getLocalString 135 ("tests.componentNameConstructor", 136 "For [ {0} ]", 137 new Object [] {compName.toString()})); 138 result.notApplicable(smh.getLocalString 139 (getClass().getName() + ".notApplicable", 140 "[ {0} ] expected {1} bean, but called with {2} bean.", 141 new Object [] {getClass(),"Entity","Session"})); 142 return result; 143 } 144 } 145 } 146 | Popular Tags |