Result result = getInitializedResult();
ComponentNameConstructor compName = new ComponentNameConstructor(descriptor);
//4698046
boolean oneFailed=false;
boolean oneWarning=false;
SunEjbJar ejbJar = descriptor.getEjbBundleDescriptor().getIasEjbObject();
String ejbName = null;
if(descriptor.getEjbBundleDescriptor().getTestsDone().contains(getClass().getName()))
{
result.setStatus(Result.NOT_RUN);
result.addGoodDetails(smh.getLocalString(getClass().getName() + ".notRun",
"NOT RUN [AS-EJB enterprise-beans] name test is a JAR Level Test. This test has already been run once"));
return result;
}
descriptor.getEjbBundleDescriptor().setTestsDone(getClass().getName());
if(ejbJar!=null)
{
EnterpriseBeans entBean = ejbJar.getEnterpriseBeans();
CmpResource cmpResource = entBean.getCmpResource();
if(cmpResource!=null)
{
String jndiName = cmpResource.getJndiName();
if(jndiName.length()==0)
{
result.failed(smh.getLocalString(getClass().getName()+".failed",
"FAILED [AS-EJB cmp-resource] : jndi-name cannot be an empty string"));
oneFailed=true;//4698046
}
else
{
if(jndiName.startsWith("jdbc/")|| jndiName.startsWith("jdo/"))
result.passed(smh.getLocalString(getClass().getName()+".passed",
"PASSED [AS-EJB cmp-resource] : jndi-name is {0}",new Object[]{jndiName}));
else{
result.warning(smh.getLocalString(getClass().getName()+".warning",
"WARNING [AS-EJB cmp-resource] : The jndi-name is {0}, the preferred jndi-name should start with jdbc/ or jdo/"
, new Object[]{jndiName}));
oneWarning=true;//4698046
}
}
DefaultResourcePrincipal defPrincipal = cmpResource.getDefaultResourcePrincipal();
if(defPrincipal!=null)
{
String name = defPrincipal.getName();
if(name.length()==0)
{
result.failed(smh.getLocalString(getClass().getName()+".failed2",
"FAILED [AS-EJB default-resource-principal] : name cannot be an empty string"));
oneFailed=true; //4698046
}
else
{
result.passed(smh.getLocalString(getClass().getName()+".passed1",
"PASSED [AS-EJB default-resource-principal] : name is {0}",new Object[]{name}));
}
String password = defPrincipal.getPassword();
if(password.length()==0)
{
// <addition> srini@sun.com
//result.failed(smh.getLocalString(getClass().getName()+".failed3",
// "FAILED [AS-EJB default-resource-principal] : password cannot be an empty string"));
result.warning(smh.getLocalString(getClass().getName()+".warning1",
"WARNING [AS-EJB default-resource-principal] : password is an empty string"));
// </addition>
oneWarning=true;//4698046
}
else
{
result.passed(smh.getLocalString(getClass().getName()+".passed2",
"PASSED [AS-EJB default-resource-principal] : password is {0}",new Object[]{password}));
}
}
else
result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
"NOT APPLICABLE [AS-EJB cmp-resource] : default-resource-principal Element not defined"));
if(oneFailed)//4698046
result.setStatus(Result.FAILED);
else if(oneWarning)
result.setStatus(Result.WARNING);
}
else
result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
"NOT APPLICABLE [AS-EJB enterprise-beans] : cmp-resource element is not defined"));
}
else
{
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.addErrorDetails(smh.getLocalString
(getClass().getName() + ".notRun1",
"NOT RUN [AS-EJB] : Could not create an SunEjbJar object"));
}
return result;