1 23 package com.sun.enterprise.tools.verifier.tests.web; 24 25 import java.util.Enumeration ; 26 import com.sun.enterprise.tools.verifier.Result; 27 import com.sun.enterprise.deployment.WebBundleDescriptor; 28 import com.sun.enterprise.deployment.ServletFilterDescriptor; 29 import com.sun.enterprise.tools.verifier.tests.*; 30 31 37 public abstract class FilterClass extends WebTest implements WebCheck { 38 39 48 abstract protected boolean runIndividualFilterTest(Result result, Class listenerClass); 49 50 59 public Result check(WebBundleDescriptor descriptor) { 60 61 Result result; 62 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 63 64 Enumeration filterEnum = descriptor.getServletFilterDescriptors().elements(); 65 if (filterEnum.hasMoreElements()) { 66 boolean oneFailed = false; 67 result = loadWarFile(descriptor); 69 while (filterEnum.hasMoreElements()) { 70 ServletFilterDescriptor filter = (ServletFilterDescriptor) filterEnum.nextElement(); 71 Class filterClass = loadClass(result, filter.getClassName()); 72 73 if (!runIndividualFilterTest(result, filterClass)) 74 oneFailed=true; 75 } 76 if (oneFailed) { 77 result.setStatus(Result.FAILED); 78 } else { 79 result.setStatus(Result.PASSED); 80 } 81 } else { 82 result = getInitializedResult(); 83 result.setStatus(Result.NOT_APPLICABLE); 84 result.addNaDetails(smh.getLocalString 85 ("tests.componentNameConstructor", 86 "For [ {0} ]", 87 new Object [] {compName.toString()})); 88 89 result.notApplicable(smh.getLocalString 90 ("com.sun.enterprise.tools.verifier.tests.web.FilterClass" + ".notApplicable", 91 "There are no filter components within the web archive [ {0} ]", 92 new Object [] {descriptor.getName()})); 93 } 94 95 return result; 96 } 97 } 98 | Popular Tags |