1 23 24 package com.sun.enterprise.tools.verifier.tests.ejb.ejb30; 25 26 import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest; 27 import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor; 28 import com.sun.enterprise.tools.verifier.Result; 29 import com.sun.enterprise.deployment.EjbDescriptor; 30 import com.sun.enterprise.deployment.EjbInterceptor; 31 32 import java.util.Set ; 33 38 public class InterceptorNoArgConstructor extends EjbTest { 39 40 public Result check(EjbDescriptor descriptor) { 41 Result result = getInitializedResult(); 42 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 43 Set <EjbInterceptor> interceptors = descriptor.getInterceptorClasses(); 44 45 for (EjbInterceptor interceptor : interceptors) { 46 try { 47 Class interceptorClass = Class.forName(interceptor.getInterceptorClassName(), 48 false, 49 getVerifierContext().getClassLoader()); 50 try { 51 interceptorClass.getConstructor(new Class []{}); 52 } catch (NoSuchMethodException e) { 53 addErrorDetails(result, compName); 54 result.failed(smh.getLocalString 55 (getClass().getName() + ".failed", 56 "Interceptor class [ {0} ] does not have a " + 57 "public constructor with no arguments.", 58 new Object [] {interceptorClass})); 59 } 60 } catch (ClassNotFoundException e) {} } 62 if(result.getStatus()!=Result.FAILED) { 63 addGoodDetails(result, compName); 64 result.passed(smh.getLocalString 65 (getClass().getName() + ".passed", 66 "Valid Interceptor(s) used.")); 67 } 68 69 return result; 70 } 71 } 72 | Popular Tags |