1 23 24 package com.sun.enterprise.tools.verifier.tests.ejb.messagebean; 25 26 import java.lang.reflect.Method ; 27 import com.sun.enterprise.deployment.EjbMessageBeanDescriptor; 28 import com.sun.enterprise.tools.verifier.Result; 29 import com.sun.enterprise.tools.verifier.tests.*; 30 31 32 39 public class EjbCreateReturnType extends MessageBeanTest { 40 41 46 protected String getMethodName() { 47 return "ejbCreate"; 48 } 49 50 58 public Result check(EjbMessageBeanDescriptor descriptor) { 59 60 Result result = getInitializedResult(); 61 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 62 Class mbc = loadMessageBeanClass(descriptor, result); 63 if (mbc!=null) { 64 Method m = getMethod(mbc, getMethodName(),null); 65 if (m!=null) { 66 String returnType = m.getReturnType().getName(); 67 if ("void".equalsIgnoreCase(returnType)) { 68 result.addGoodDetails(smh.getLocalString 69 ("tests.componentNameConstructor", 70 "For [ {0} ]", 71 new Object [] {compName.toString()})); 72 result.passed(smh.getLocalString 73 ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType.passed", 74 "Message-Drive bean [ {0} ] {1} implementation has a void return type", 75 new Object [] {(descriptor).getEjbClassName(),m.getName()})); 76 } else { 77 result.addErrorDetails(smh.getLocalString 78 ("tests.componentNameConstructor", 79 "For [ {0} ]", 80 new Object [] {compName.toString()})); 81 result.failed(smh.getLocalString 82 ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType.failed", 83 "Error: Message-Drive bean [ {0} ] {1} return type is [ {1} ]", 84 new Object [] {(descriptor).getEjbClassName(), returnType})); 85 } 86 } else { 87 result.addErrorDetails(smh.getLocalString 88 ("tests.componentNameConstructor", 89 "For [ {0} ]", 90 new Object [] {compName.toString()})); 91 result.failed(smh.getLocalString 92 ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.failed", 93 "Error: Message-Drive bean [ {0} ] does not implement an {1} with no arguments", 94 new Object [] {(descriptor).getEjbClassName(), getMethodName()})); 95 } 96 } 97 return result; 98 } 99 } 100 | Popular Tags |