String resName;
String resType;
Result result = getInitializedResult();
WebComponentNameConstructor compName = new WebComponentNameConstructor(descriptor);
String jndiName;
boolean oneFailed = false;
boolean notApp = false;
boolean chkOk=true;
ResourceEnvRef[] envRefs= descriptor.getIasWebApp().getResourceEnvRef();
if (envRefs.length > 0) {
boolean isValidResRefName;
for (int rep=0; rep<envRefs.length; rep++ ) {
isValidResRefName=false;
resName = envRefs[rep].getResourceEnvRefName();
jndiName = envRefs[rep].getJndiName();
if (validResEnvRefName(resName,descriptor)) {
isValidResRefName=true;
result.passed(smh.getLocalString
(getClass().getName() + ".passed",
"PASSED [AS-WEB sun-web-app] resource-env-ref [ {0} ] properly defined in the war file.",
new Object[] {resName}));
} else {
if (!oneFailed)
oneFailed = true;
result.failed(smh.getLocalString
(getClass().getName() + ".failed",
"FAILED [AS-WEB sun-web-app] resource-env-ref name [ {0} ] is not valid, either empty or not defined in web.xml.",
new Object[] {resName}));
}
if (isValidResRefName && validJndiName(jndiName, resName,descriptor)){
result.passed(smh.getLocalString
(getClass().getName() + ".passed1",
"PASSED [AS-WEB resource-env-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 resource-env-ref] jndi-name [ {0} ] is not valid, either empty or not starts with \"jms/\".",
new Object[] {resName}));
}
}
} else {
//System.out.println("There are no resource env references defined within the ias-web archive");
notApp = true;
result.notApplicable(smh.getLocalString
(getClass().getName() + ".notApplicable",
"NOT APPLICABLE [AS-WEB sun-web-app] resource-env-ref element not defined in the web archive [ {0} ].",
new Object[] {descriptor.getName()}));
}
if (oneFailed) {
result.setStatus(Result.FAILED);
} else if(notApp) {
result.setStatus(Result.NOT_APPLICABLE);
}else {
result.setStatus(Result.PASSED);
result.passed
(smh.getLocalString
(getClass().getName() + ".passed2",
"PASSED [AS-WEB sun-web-app] resource-env-ref element(s) are valid within the web archive [ {0} ].",
new Object[] {descriptor.getName()} ));
}
return result;