Result result = getInitializedResult();
ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
boolean pass = true;
if (descriptor.hasHandlers()) {
Collection allPortNames = getAllPortNamesInService(descriptor);
List handlerChain = descriptor.getHandlerChain();
for (Iterator it = handlerChain.iterator(); it.hasNext();) {
Collection c = ((WebServiceHandler)it.next()).getPortNames();
Collection invalid = getInvalidHandlerPortNames(c,allPortNames);
if (invalid.size() > 0) {
//result.fail
result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
"For [ {0} ]", new Object[] {compName.toString()}));
result.failed(smh.getLocalString
("com.sun.enterprise.tools.verifier.tests.webservices.failed",
"[{0}]", new Object[] {"The Port Name(s) in the Handler Chain are invalid"}));
pass = false;
}
else {
//result.pass
result.addGoodDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.passed(smh.getLocalString (
"com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
new Object[] {"Port Name(s) in the Handler-Chain are valid"}));
}
}
}
else {
// result.NotApplicable
result.addNaDetails(smh.getLocalString
("tests.componentNameConstructor", "For [ {0} ]",
new Object[] {compName.toString()}));
result.notApplicable(smh.getLocalString
("com.sun.enterprise.tools.verifier.tests.webservices.notapp",
"[{0}]", new Object[] {"Not Applicable since No handlers defined in this WebService"}));
}
return result;