1 23 package com.sun.enterprise.tools.verifier.tests.web; 24 25 import java.util.Enumeration ; 26 import com.sun.enterprise.deployment.WebBundleDescriptor; 27 import com.sun.enterprise.deployment.web.AppListenerDescriptor; 28 import com.sun.enterprise.tools.verifier.Result; 29 import com.sun.enterprise.tools.verifier.Verifier; 30 import com.sun.enterprise.tools.verifier.tests.*; 31 37 public abstract class ListenerClass extends WebTest implements WebCheck { 38 39 48 abstract protected boolean runIndividualListenerTest(Result result, Class listenerClass); 49 50 57 public Result check(WebBundleDescriptor descriptor) { 58 59 AppListenerDescriptor listener = null; 60 Enumeration listenerEnum; 61 Result result; 62 boolean oneFailed = false; 63 Class listenerClass = null; 64 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 65 66 listenerEnum = descriptor.getAppListenerDescriptors().elements(); 67 if (listenerEnum.hasMoreElements()) { 68 result = loadWarFile(descriptor); 69 while (listenerEnum.hasMoreElements()) { 70 listener = (AppListenerDescriptor)listenerEnum.nextElement(); 71 72 if (listener.getListener().equals(smh.getLocalString("JAXRPCContextListener","com.sun.xml.rpc.server.http.JAXRPCContextListener"))) { 73 result.addGoodDetails(smh.getLocalString 74 ("tests.componentNameConstructor", 75 "For [ {0} ]", 76 new Object [] {compName.toString()})); 77 result.passed(smh.getLocalString (getClass().getName() + ".passed1", 78 "Listener Class Name is [ {0} ], make sure it is available in classpath at runtime.", 79 new Object [] {listener.getListener()})); 80 continue; 81 } 82 83 if ("".equals(listener.getListener())) { 84 result.addErrorDetails(smh.getLocalString 85 ("tests.componentNameConstructor", 86 "For [ {0} ]", 87 new Object [] {compName.toString()})); 88 result.failed(smh.getLocalString (getClass().getName() + ".failed", 89 "Empty or Null String specified for Listener Class Name in [ {0} ].", 90 new Object [] {compName.toString()})); 91 oneFailed = true; 92 continue; 93 } 94 95 listenerClass = loadClass(result, listener.getListener()); 96 if (!runIndividualListenerTest(result, listenerClass)) 97 oneFailed=true; 98 } 99 if (oneFailed) { 100 result.setStatus(Result.FAILED); 101 } else { 102 result.setStatus(Result.PASSED); 103 } 104 } else { 105 result = getInitializedResult(); 106 result.setStatus(Result.NOT_APPLICABLE); 107 result.addNaDetails(smh.getLocalString 108 ("tests.componentNameConstructor", 109 "For [ {0} ]", 110 new Object [] {compName.toString()})); 111 result.notApplicable(smh.getLocalString 112 ("com.sun.enterprise.tools.verifier.tests.web.ListenerClass" + ".notApplicable", 113 "There are no listener components within the web archive [ {0} ]", 114 new Object [] {descriptor.getName()})); 115 } 116 117 return result; 118 } 119 } 120 | Popular Tags |