if(urlPattern==null) return;//URLPattern1 will take care of this condition. So don't do any thing. More over, the super class would have set NA status, so we don't do that either.
int count = new StringTokenizer(urlPattern,"*", true).countTokens();
// See bug#4880426
if((count ==2 && !urlPattern.endsWith("/*") && !urlPattern.startsWith("*.")) // patterns like /abc*, but not /abc/*, /*, *.jsp or *.
|| (count > 2)) //patterns like *.*, *.j*p, /*.jsp, /**, but not *.jsp
{
oneWarning=true;
result.warning(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.addWarningDetails (smh.getLocalString
(getClass().getName() + ".warning",
"url-pattern [ {0} ] within [ {1} ] will be used for exact match only, although it contains a *",
new Object[] {urlPattern, descriptor.getName()}));
} else {
result.passed(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.addGoodDetails (smh.getLocalString
(getClass().getName() + ".passed",
"url-pattern [ {0} ] within [ {1} ] follows the rules specified in servlet spec",
new Object[] {urlPattern, descriptor.getName()}));
}