URLPatternpublic abstract class URLPattern extends WebTest implements WebCheckThe content of the url-pattern element follows the rules specified in
section 10 of the servlet spec.
This abstract class serves as the base of some concrete classes like
URLPatternErrorCheck, URLPatternWarningCheck & URLPatternContainsCRLF.
This class implements the check method, but inside the check method it calls a pure virtual function
called checkUrlPatternAndSetResult. This pure virtual function is implemented in the two derived classes. |
Fields Summary |
---|
protected boolean | oneFailed | protected boolean | oneWarning |
Methods Summary |
---|
public com.sun.enterprise.tools.verifier.Result | check(com.sun.enterprise.deployment.WebBundleDescriptor descriptor)The content of the url-pattern element follows the rules specified in
section 10 of the servlet spec.
Result result = getInitializedResult();
ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
result.setStatus(Result.NOT_APPLICABLE);
result.addNaDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.addNaDetails(smh.getLocalString
(getClass().getName() + ".notApplicable",
"There is no url-pattern element within the web archive [ {0} ]",
new Object[] {descriptor.getName()}));
checkWebResourceCollections(descriptor, result, compName);
checkServletMappings(descriptor, result, compName);
checkServletFilterMappings(descriptor, result, compName);
checkJspGroupProperties(descriptor, result, compName);
if(oneFailed) result.setStatus(Result.FAILED);
else if(oneWarning) result.setStatus(Result.WARNING);
return result;
| private void | checkJspGroupProperties(com.sun.enterprise.deployment.WebBundleDescriptor descriptor, com.sun.enterprise.tools.verifier.Result result, com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor compName)
JspConfigDescriptor jspC=descriptor.getJspConfigDescriptor();
if(jspC==null) return;
for(Iterator iter=jspC.getJspGroupSet().iterator();iter.hasNext();){
for(Iterator iter2=((JspGroupDescriptor)iter.next()).getUrlPatternsSet().iterator();
iter2.hasNext();
checkUrlPatternAndSetResult((String)iter2.next(), descriptor, result, compName));
}
| private void | checkServletFilterMappings(com.sun.enterprise.deployment.WebBundleDescriptor descriptor, com.sun.enterprise.tools.verifier.Result result, com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor compName)
for(Iterator iter=descriptor.getServletFilterMappings().iterator();iter.hasNext();){
ServletFilterMapping filterMapping=(ServletFilterMapping)iter.next();
if(filterMapping.getURLPatterns().size() > 0) {
for(String url : filterMapping.getURLPatterns())
checkUrlPatternAndSetResult(url, descriptor, result, compName);
}
}
| private void | checkServletMappings(com.sun.enterprise.deployment.WebBundleDescriptor descriptor, com.sun.enterprise.tools.verifier.Result result, com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor compName)
for(Iterator iter=descriptor.getWebComponentDescriptorsSet().iterator();iter.hasNext();)
for(Iterator iter2=((WebComponentDescriptor)iter.next()).getUrlPatternsSet().iterator(); iter2.hasNext();
checkUrlPatternAndSetResult((String)iter2.next(), descriptor, result, compName));
| protected abstract void | checkUrlPatternAndSetResult(java.lang.String urlPattern, com.sun.enterprise.deployment.Descriptor descriptor, com.sun.enterprise.tools.verifier.Result result, com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor compName)
| private void | checkWebResourceCollections(com.sun.enterprise.deployment.WebBundleDescriptor descriptor, com.sun.enterprise.tools.verifier.Result result, com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor compName)
Enumeration e=descriptor.getSecurityConstraints();
while (e.hasMoreElements()) {
SecurityConstraint securityConstraint = (SecurityConstraint) e.nextElement();
Enumeration ee = securityConstraint.getWebResourceCollections();
while (ee.hasMoreElements()) {
WebResourceCollection webResourceCollection = (WebResourceCollection) ee.nextElement();
Enumeration eee = webResourceCollection.getUrlPatterns();
while (eee.hasMoreElements()) {
checkUrlPatternAndSetResult((String) eee.nextElement(), descriptor, result, compName);
}
}
}
|
|