Result result = getInitializedResult();
ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
boolean oneFailed = false;
boolean notApp = false;
try{
SessionConfig sessionConfig = (descriptor.getSunDescriptor()).getSessionConfig();
SessionProperties sessionProp=null;
WebProperty[] SPwebProps=null;
if(sessionConfig !=null){
sessionProp = sessionConfig.getSessionProperties();
if (sessionProp!=null)
SPwebProps=sessionProp.getWebProperty();
}
if (sessionConfig!=null && sessionProp !=null && SPwebProps!=null && SPwebProps.length !=0 ) {
if(ASWebProperty.checkWebProperties(SPwebProps,result ,descriptor, this )){
oneFailed=true;
addErrorDetails(result, compName);
result.failed(smh.getLocalString
(getClass().getName() + ".failed",
"FAILED [AS-WEB session-config] session-properties - Atleast one name/value pair is not valid in [ {0} ].",
new Object[] {descriptor.getName()}));
}
} else {
notApp = true;
}
if(notApp) {
addNaDetails(result, compName);
result.notApplicable(smh.getLocalString
(getClass().getName() + ".notApplicable",
"NOT APPLICABLE [AS-WEB session-config] session-properties element(s) 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);
addGoodDetails(result, compName);
result.passed
(smh.getLocalString
(getClass().getName() + ".passed",
"PASSED [AS-WEB session-config] session-properties element(s) are valid within the web archive [ {0} ].",
new Object[] {descriptor.getName()} ));
}
}catch(Exception ex){
oneFailed = true;
addErrorDetails(result, compName);
result.failed(smh.getLocalString
(getClass().getName() + ".failed1",
"FAILED [AS-WEB session-config] could not create the session-config object"));
}
return result;