1 23 package com.sun.enterprise.tools.verifier.tests.web; 24 25 import java.lang.reflect.*; 26 import java.util.logging.Level ; 27 28 import com.sun.enterprise.tools.verifier.Result; 29 30 37 public class FilterClassHasValidConstructor extends FilterClass implements WebCheck { 38 47 protected boolean runIndividualFilterTest(Result result, Class filterClass) { 48 49 boolean validConstructor = false; 50 boolean foundIt = false; 51 Class clazz = filterClass; 52 53 if (filterClass == null) 54 return false; 55 56 do { 58 Constructor[] constructors = filterClass.getDeclaredConstructors(); 59 for (int i = 0; i < constructors.length; i++) { 60 logger.log(Level.FINE, getClass().getName() + ".debug", 61 new Object [] {constructors[i].toString()}); 62 Class [] parameters = constructors[i].getParameterTypes(); 63 if (parameters.length == 0) { 64 if (Modifier.isPublic(constructors[i].getModifiers())) { 66 validConstructor = true; 67 } else { 68 validConstructor = false; 69 } 70 foundIt = true;; 72 } 73 } 74 } while ((!foundIt) && ((filterClass=filterClass.getSuperclass()) != null)); 75 76 if (validConstructor) { 77 result.addGoodDetails(smh.getLocalString 78 (getClass().getName() + ".passed", 79 "Listener class [ {0} ] implements a valid constructor.", 80 new Object [] {filterClass.getName()})); 81 } else { 82 result.addErrorDetails(smh.getLocalString 83 (getClass().getName() + ".failed", 84 "Error: Listener class [ {0} ] does not implement a valid constructor.", 85 new Object [] {clazz.getName()})); 86 } 87 return validConstructor; 88 } 89 } 90 | Popular Tags |