1 23 package com.sun.enterprise.tools.verifier.tests.ejb.messagebean; 24 25 import com.sun.enterprise.tools.verifier.Result; 26 import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor; 27 import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils; 28 import com.sun.enterprise.deployment.EjbMessageBeanDescriptor; 29 30 import java.lang.reflect.Method ; 31 import java.lang.reflect.Modifier ; 32 33 38 public class MessageListenerMethodModifiers extends MessageBeanTest { 39 40 public Result check(EjbMessageBeanDescriptor descriptor) { 41 Result result = getInitializedResult(); 42 ComponentNameConstructor compName = 43 getVerifierContext().getComponentNameConstructor(); 44 45 ClassLoader cl = getVerifierContext().getClassLoader(); 46 try { 47 Class intfCls = Class.forName(descriptor.getMessageListenerType(), false, cl); 48 Class ejbCls = Class.forName(descriptor.getEjbClassName(), false, cl); 49 Method [] intfMethods = intfCls.getMethods(); 50 for (Method method : intfMethods) { 51 for (Method ejbMethod : ejbCls.getMethods()) { 52 if (MethodUtils.methodEquals(ejbMethod, method)) { 54 if(Modifier.isFinal(ejbMethod.getModifiers()) || 55 Modifier.isStatic(ejbMethod.getModifiers())) { 56 addErrorDetails(result, compName); 57 result.failed(smh.getLocalString 58 (getClass().getName() + ".failed", 59 "Wrong method [ {0} ]", 60 new Object []{ejbMethod})); 61 } 62 break; 63 } 64 } } 66 } catch (ClassNotFoundException e) {} 68 if(result.getStatus() != Result.FAILED) { 69 addGoodDetails(result, compName); 70 result.passed(smh.getLocalString 71 (getClass().getName() + ".passed", 72 "Valid message listener method(s).")); 73 } 74 return result; 75 } 76 } 77 | Popular Tags |