Result result = getInitializedResult();
WebComponentNameConstructor compName = new WebComponentNameConstructor(descriptor);
EjbRef[] ejbRefs = descriptor.getIasWebApp().getEjbRef();
boolean oneFailed = false;
boolean oneWarning = false;//4699339
String jndiName;
String refName;
if (ejbRefs.length > 0) {
boolean isValidResRefName;
for (int rep=0; rep<ejbRefs.length; rep++ ) {
//System.out.println(">>>>>>>>>>>>>rep is " + rep);
isValidResRefName=false;
jndiName = ejbRefs[rep].getJndiName();
refName = ejbRefs[rep].getEjbRefName();
if (validEjbRefName(refName,descriptor)) {
isValidResRefName=true;
result.passed(smh.getLocalString
(getClass().getName() + ".passed",
"PASSED [AS-WEB ejb-ref] ejb-ref-name [ {0} ] properly defined in the war file.",
new Object[] {refName}));
} else {
if (!oneFailed)
oneFailed = true;
result.failed(smh.getLocalString
(getClass().getName() + ".failed",
"FAILED [AS-WEB ejb-ref] ejb-ref-name [ {0} ] is not valid, either empty or not defined in web.xml.",
new Object[] {refName}));
}
if (isValidResRefName && validJndiName(jndiName, refName,descriptor)){
// foundIt = true;
if(!jndiName.startsWith("ejb/")){ //4699339
oneWarning=true;
result.warning(smh.getLocalString
(getClass().getName() + ".warning",
"WARNING [AS-WEB ejb-ref] jndi-name [ {0} ] is not starting with \"ejb/\".",
new Object[] {jndiName}));
}else{
result.passed(smh.getLocalString
(getClass().getName() + ".passed1",
"PASSED [AS-WEB ejb-ref] jndi-name [ {0} ] properly defined in the war file.",
new Object[] {jndiName}));
}
} else {
if (!oneFailed)
oneFailed = true;
result.failed(smh.getLocalString
(getClass().getName() + ".failed1",
"FAILED [AS-WEB ejb-ref] jndi-name [ {0} ] is not valid, either empty or null.",
new Object[] {jndiName}));
}
}
} else {
result.notApplicable(smh.getLocalString
(getClass().getName() + ".notApplicable",
"NOT APPLICABLE [AS-WEB sun-web-app] ejb-ref element(s) not defined in the web archive [ {0} ].",
new Object[] {descriptor.getName()}));
return result;
}
if (oneFailed)
{
result.setStatus(Result.FAILED);
}
else if (oneWarning)//4699339
{
result.setStatus(Result.WARNING);
}
else {
result.passed
(smh.getLocalString
(getClass().getName() + ".passed2",
"PASSED [AS-WEB sun-web-app] ejb-ref element(s) defined are valid within the web archive [ {0} ].",
new Object[] {descriptor.getName()} ));
}
return result;