The load-on-startup element contains an integer indicating the order
in which the JSP should be loaded.
Result result = getInitializedResult();
ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
boolean oneFailed = false;
if (!descriptor.getJspDescriptors().isEmpty()) {
for (Iterator itr = descriptor.getJspDescriptors().iterator();
itr.hasNext();) {
WebComponentDescriptor nextJspDescriptor = (WebComponentDescriptor) itr.next();
Integer loadOnStartUp = new Integer(nextJspDescriptor.getLoadOnStartUp());
// DOL only allows int's to be stored, test will always pass as written, so need to check against -1 placeholder
if (loadOnStartUp.intValue() >= 0) {
// DOL needs to store string value representing load-on-startup value
result.addGoodDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.addGoodDetails
(smh.getLocalString
(getClass().getName() + ".passed",
"load-on-startup [ {0} ] value found in [ {1} ]",
new Object[] {loadOnStartUp.toString(),nextJspDescriptor.getName()}));
} else {
if (loadOnStartUp.intValue() == -1) {
result.addGoodDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.addGoodDetails(smh.getLocalString(
getClass().getName() + ".passed2",
"load-on-startup is not specified for [ {0} ]",
new Object[] {nextJspDescriptor.getName()}));
} else {
if (!oneFailed) {
oneFailed = true;
}
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.addErrorDetails
(smh.getLocalString
(getClass().getName() + ".failed",
"Error: load-on-startup [ {0} ] invalid value found in [ {1} ]",
new Object[] {loadOnStartUp.toString(),nextJspDescriptor.getName()}));
}
}
}
if (oneFailed) {
result.setStatus(Result.FAILED);
} else {
result.setStatus(Result.PASSED);
}
} else {
result.addNaDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.notApplicable(smh.getLocalString
(getClass().getName() + ".notApplicable",
"There are no JSP's within this web archive [ {0} ]",
new Object[] {descriptor.getName()}));
}
return result;