SunEjbJar ejbJar = descriptor.getEjbBundleDescriptor().getIasEjbObject();
boolean oneFailed = false;
if(ejbJar!=null)
{
getEjb(descriptor,ejbJar);
if(resRefs.length > 0)
{
for(int j=0;j<resRefs.length;j++)
{
String refName = resRefs[j].getResourceEnvRefName();
String refJndiName = resRefs[j].getJndiName();
try
{
JmsDestinationReferenceDescriptor resDesc = descriptor.getJmsDestinationReferenceByName(refName);
String type = resDesc.getRefType();
if(type.indexOf("javax.jms")>-1) //jms resource
{
if(refJndiName.startsWith("jms/"))
result.passed(smh.getLocalString(getClass().getName()+".passed1",
"PASSED [AS-EJB res-env-ref] : jndi-name {0} is valid", new Object[]{refJndiName}));
else
result.failed(smh.getLocalString(getClass().getName()+".failed4",
"FAILED [AS-EJB res-env-ref] : jndi-name {0} has invalid JNDI naming Scheme. " +
"JMS resources should have jndi-name starting with jms/",
new Object[]{refJndiName}));
}
}
catch(IllegalArgumentException iex)
{
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.notApplicable(smh.getLocalString
(getClass().getName() + ".notApplicable",
"{0} Does not define any resource-env-ref Elements",
new Object[] {descriptor.getName()}));
}
}
else
{
result.addErrorDetails(smh.getLocalString
(getClass().getName() + ".notRun",
"NOT RUN [AS-EJB] : Could not create an SunEjbJar object"));
}
return result;