1 23 package com.sun.enterprise.tools.verifier.tests.web; 24 25 26 import java.util.*; 27 import com.sun.enterprise.tools.verifier.Result; 28 import com.sun.enterprise.tools.verifier.tests.VerifierTest; 29 import com.sun.enterprise.deployment.WebBundleDescriptor; 30 import com.sun.enterprise.deployment.EnvironmentProperty; 31 import com.sun.enterprise.deployment.ServletFilterDescriptor; 32 import com.sun.enterprise.tools.verifier.tests.*; 33 34 38 public class FilterInitParamName extends WebTest implements WebCheck { 39 40 48 public Result check(WebBundleDescriptor descriptor) { 49 50 Result result = getInitializedResult(); 51 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 52 boolean oneFailed = false; 53 54 Enumeration filterEnum = descriptor.getServletFilterDescriptors().elements(); 55 56 if (filterEnum.hasMoreElements()) { 57 58 while (filterEnum.hasMoreElements()) { 60 ServletFilterDescriptor filter = (ServletFilterDescriptor)filterEnum.nextElement(); 61 HashSet<String > envSet = new HashSet<String >(); 62 Vector epVector = filter.getInitializationParameters(); 63 for ( int i = 0; i < epVector.size(); i++) { 64 65 EnvironmentProperty ep = (EnvironmentProperty)epVector.elementAt(i); 66 String epName = ep.getName(); 67 68 if (epName.length() == 0) { 69 oneFailed = true; 70 result.addErrorDetails(smh.getLocalString 71 ("tests.componentNameConstructor", 72 "For [ {0} ]", 73 new Object [] {compName.toString()})); 74 75 result.addErrorDetails(smh.getLocalString 76 (getClass().getName() + ".failed1", 77 "Error: Param name/value entry should of finite length.")); 78 } 79 else { 80 if (!envSet.contains(epName)) { 82 envSet.add(epName); 83 } else { 84 oneFailed = true; 85 result.addErrorDetails(smh.getLocalString 86 ("tests.componentNameConstructor", 87 "For [ {0} ]", 88 new Object [] {compName.toString()})); 89 90 result.addErrorDetails(smh.getLocalString 91 (getClass().getName() + ".failed2", 92 "Error: Duplicate param names are not allowed.")); 93 } 94 } 95 } 96 } 97 if (oneFailed) { 98 result.setStatus(Result.FAILED); 99 } else { 100 result.addGoodDetails(smh.getLocalString 101 ("tests.componentNameConstructor", 102 "For [ {0} ]", 103 new Object [] {compName.toString()})); 104 105 result.passed(smh.getLocalString 106 (getClass().getName() + ".passed", 107 "All init parameter names are unique")); 108 } 109 } else { 110 result.addNaDetails(smh.getLocalString 111 ("tests.componentNameConstructor", 112 "For [ {0} ]", 113 new Object [] {compName.toString()})); 114 result.notApplicable(smh.getLocalString 115 (getClass().getName() + ".notApplicable", 116 "There are no initialization parameters for the filter within the web archive [ {0} ]", 117 new Object [] {descriptor.getName()})); 118 } 119 return result; 120 } 121 122 } 123 124 | Popular Tags |