Result result = getInitializedResult();
ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
boolean oneFailed = false;
boolean notApp = false;
try{
SessionConfig sessionConfig = (descriptor.getSunDescriptor()).getSessionConfig();
SessionManager sessionMgr=null;
StoreProperties stroeProp=null;
ManagerProperties mgrProps=null;
WebProperty[] SPwebProps=null;
WebProperty[] MPwebProps=null;
if(sessionConfig !=null){
sessionMgr = sessionConfig.getSessionManager();
}
if (sessionConfig!=null && sessionMgr !=null){
mgrProps=sessionMgr.getManagerProperties();
stroeProp =sessionMgr.getStoreProperties();
if(stroeProp !=null )
SPwebProps=stroeProp.getWebProperty();
if(mgrProps !=null)
MPwebProps=mgrProps.getWebProperty();
if((SPwebProps ==null|| SPwebProps.length==0) && (MPwebProps ==null || MPwebProps.length==0)){
notApp = true;
} else {
if (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-manager] store-properties - Atleast one name/value pair is not valid in [ {0} ].",
new Object[] {descriptor.getName()}));
}
if (MPwebProps !=null || MPwebProps.length>0)
if(ASWebProperty.checkWebProperties(MPwebProps,result ,descriptor, this )){
oneFailed=true;
addErrorDetails(result, compName);
result.failed(smh.getLocalString
(getClass().getName() + ".failed1",
"FAILED [AS-WEB session-manager] manager-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-manager 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);
addGoodDetails(result, compName);
result.passed
(smh.getLocalString
(getClass().getName() + ".passed",
"PASSED [AS-WEB session-config] session manager element(s) and their manager-properties and/or store-properties 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() + ".failed2",
"FAILED [AS-WEB session-config] could not create the session-config object"));
}
return result;