result = getInitializedResult();
compName = getVerifierContext().getComponentNameConstructor();
try
{
int ejbResEnvReference = getCountNodeSet("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/resource-env-ref");
if (ejbResEnvReference>0)
{
for (int i=1;i<=ejbResEnvReference;i++)
{
String refName = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/resource-env-ref["+i+"]/resource-env-ref-name");
String refJndiName = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/resource-env-ref["+i+"]/jndi-name");
/* Bug: 4954967. JNDI name does not have any restriction of starting with "jms/"
only checking for null is sufficient for this test. */
if(refJndiName == null || refJndiName.equals("")) {
result.failed(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString(getClass().getName()+".failed",
"FAILED [AS-EJB res-env-ref] : res-ref with res-ref-name {0} is not defined in the ejb-jar.xml",
new Object[]{refName}));
} else {
result.passed(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.passed(smh.getLocalString(getClass().getName()+".passed",
"PASSED [AS-EJB res-env-ref] : jndi-name {0} is valid", new Object[]{refJndiName}));
}
}
}else
{
addNaDetails(result, compName);
result.notApplicable(smh.getLocalString
(getClass().getName() + ".notApplicable",
"NOT-APPLICABLE: {0} Does not define any resource-env-ref Elements",
new Object[] {descriptor.getName()}));
}
}catch(Exception ex)
{
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString(getClass().getName()+".notRun",
"NOT RUN [AS-EJB] Could not create descriptor Object."));
}
return result;