1 23 package com.sun.enterprise.tools.verifier.tests.ejb.ejb30; 24 25 import com.sun.enterprise.tools.verifier.Result; 26 import com.sun.enterprise.deployment.EjbDescriptor; 27 import com.sun.enterprise.deployment.EjbMessageBeanDescriptor; 28 29 import java.util.Set ; 30 31 37 public class MDBInheritsMDB extends MessageBeanTest { 38 39 public Result check(EjbMessageBeanDescriptor descriptor) { 40 try { 41 ClassLoader cl = getVerifierContext().getClassLoader(); 42 Class ejbCls = Class.forName(descriptor.getEjbClassName(), false, cl); 43 Set <EjbDescriptor> descrptors = 44 descriptor.getEjbBundleDescriptor().getEjbs(); 45 for (EjbDescriptor ejbDescriptor : descrptors) { 46 if(!(ejbDescriptor instanceof EjbMessageBeanDescriptor)) 47 continue; 48 if(descriptor.getEjbClassName().equals(ejbDescriptor.getEjbClassName())) 49 continue; 50 Class mdbCls = null; 51 try { 52 mdbCls = Class.forName(ejbDescriptor.getEjbClassName(), false, cl); 53 } catch (ClassNotFoundException e) { 54 continue; } 56 if(mdbCls.isAssignableFrom(ejbCls)) { 57 addErrorDetails(result, compName); 58 result.failed( 59 smh.getLocalString(getClass().getName()+".failed", 60 "Message bean [ {0} ] inherits other message bean [ {1} ]", 61 new Object [] {ejbCls.getName(), mdbCls.getName()})); 62 } 63 64 } 65 } catch (ClassNotFoundException e) { 66 logger.fine(descriptor.getEjbClassName() + " Not found"); 68 } 69 70 if(result.getStatus() != Result.FAILED) { 71 addGoodDetails(result, compName); 72 result.passed( 73 smh.getLocalString(getClass().getName()+".passed", 74 "Valid Message bean [ {0} ]", 75 new Object [] {descriptor.getEjbClassName()})); 76 } 77 78 return result; 79 } 80 } 81 | Popular Tags |