1 package com.sun.enterprise.tools.verifier.tests.ejb.runtime; 2 3 25 26 import com.sun.enterprise.deployment.EjbDescriptor; 27 import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck; 28 import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest; 29 import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor; 30 import com.sun.enterprise.tools.verifier.Result; 31 import com.sun.enterprise.deployment.EjbMessageBeanDescriptor; 32 33 34 41 public class ASEjbJndiName extends EjbTest implements EjbCheck { 42 43 boolean oneFailed = false; 44 boolean oneWarning = false; 45 public Result check(EjbDescriptor descriptor) { 46 Result result = getInitializedResult(); 47 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 48 String ejbName = null, jndiName=null; 49 ejbName = descriptor.getName(); jndiName=getXPathValue("/sun-ejb-jar/enterprise-beans/ejb/jndi-name"); 51 if(jndiName != null){ 52 if(jndiName.trim().length()==0){ 53 check(result, descriptor, compName); 54 }else{ 55 addGoodDetails(result, compName); 56 result.passed(smh.getLocalString(getClass().getName()+".passed", 57 "PASSED [AS-EJB ejb] : jndi-name is {0}", new Object []{jndiName})); 58 } 59 }else 60 check(result, descriptor, compName); 61 62 if(oneFailed) 63 result.setStatus(Result.FAILED); 64 else if(oneWarning) 65 result.setStatus(Result.WARNING); 66 return result; 67 68 } 69 70 public void check(Result result, EjbDescriptor descriptor, ComponentNameConstructor compName) { 71 if(descriptor instanceof EjbMessageBeanDescriptor) { 72 String mdbres = getXPathValue("sun-ejb-jar/enetrprise-beans/ejb/mdb-resource-adapter"); 73 if (mdbres != null) { 74 addGoodDetails(result, compName); 75 result.passed(smh.getLocalString(getClass().getName()+".passed1", 76 "mdb-resource-adapter is defined for the EJB {0}", new Object []{mdbres})); 77 }else{ 78 oneFailed=true; 79 addErrorDetails(result, compName); 80 result.addErrorDetails(smh.getLocalString(getClass().getName()+".failed", 81 "jndi-name or mdb-resource-adapter should be defined for an MDB")); 82 } 83 }else if(descriptor.isRemoteInterfacesSupported()) { 84 89 oneWarning = true; 94 addWarningDetails(result, compName); 95 result.warning(smh.getLocalString(getClass().getName() + ".warning", 96 "WARNING [AS-EJB ejb] : jndi-name is not defined for the EJB {0} although it has a remote interface.", 97 new Object []{descriptor.getName()})); 98 99 }else { 100 result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable", "NOT APPLICABLE")); 101 } 102 103 } 104 } 105 | Popular Tags |