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