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.EjbSessionDescriptor; 31 import com.sun.enterprise.deployment.EjbInterceptor; 32 import com.sun.enterprise.deployment.LifecycleCallbackDescriptor; 33 34 import java.util.Set ; 35 import java.lang.reflect.Method ; 36 37 41 public abstract class InterceptorMethodTest extends EjbTest { 42 Result result; 43 ComponentNameConstructor compName; 44 abstract void testInterceptorMethods(Set <LifecycleCallbackDescriptor> callbackDescs, 45 String callbackMethodName, 46 Boolean isBeanMethod); 47 48 public Result check(EjbDescriptor descriptor) { 49 result = getInitializedResult(); 50 compName = getVerifierContext().getComponentNameConstructor(); 51 52 testInterceptorMethods( 53 descriptor.getAroundInvokeDescriptors(), "AroundInvoke", true); 54 testInterceptorMethods( 55 descriptor.getPreDestroyDescriptors(), "PreDestroy", true); 56 testInterceptorMethods( 57 descriptor.getPostConstructDescriptors(), "PostConstruct", true); 58 59 if(descriptor instanceof EjbSessionDescriptor) { 60 EjbSessionDescriptor sessionDescriptor = (EjbSessionDescriptor)descriptor; 61 testInterceptorMethods( 62 sessionDescriptor.getPrePassivateDescriptors(), "PrePassivate", true); 63 testInterceptorMethods( 64 sessionDescriptor.getPostActivateDescriptors(), "PostActivate", true); 65 } 66 67 descriptor.getInterceptorClasses(); 68 for (EjbInterceptor interceptor : descriptor.getInterceptorClasses()) { 69 testInterceptorMethods( 70 interceptor.getAroundInvokeDescriptors(), "AroundInvoke", false); 71 testInterceptorMethods( 72 interceptor.getPreDestroyDescriptors(), "PreDestroy", false); 73 testInterceptorMethods( 74 interceptor.getPostConstructDescriptors(), "PostConstruct", false); 75 testInterceptorMethods( 76 interceptor.getCallbackDescriptors( 77 LifecycleCallbackDescriptor.CallbackType.PRE_PASSIVATE), "PrePassivate", false); 78 testInterceptorMethods( 79 interceptor.getCallbackDescriptors( 80 LifecycleCallbackDescriptor.CallbackType.POST_ACTIVATE), "PostActivate", false); 81 } 82 83 if(result.getStatus() != Result.FAILED) { 84 addGoodDetails(result, compName); 85 result.passed(smh.getLocalString 86 ("com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodTest.passed", 87 "Valid Interceptor methods.")); 88 } 89 return result; 90 } 91 92 protected void logFailure(String methodName, Method method) { 93 addErrorDetails(result, compName); 94 result.failed(smh.getLocalString 95 ("com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodTest.failed", 96 "Wrong {0} interceptor method [ {1} ]", 97 new Object [] {methodName, method})); 98 } 99 } 100 | Popular Tags |