ammulder    2005/07/22 17:30:45

  Modified:    modules/core/src/java/org/openejb EJBModuleImpl.java
  Log:

  Make it implement the EJBModule JSR-77 interface
  
  Revision  Changes    Path
  1.16      +35 -6     
openejb/modules/core/src/java/org/openejb/EJBModuleImpl.java
  
  Index: EJBModuleImpl.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBModuleImpl.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- EJBModuleImpl.java        6 Mar 2005 02:49:24 -0000       1.15
  +++ EJBModuleImpl.java        22 Jul 2005 21:30:45 -0000      1.16
  @@ -56,6 +56,7 @@
   import org.apache.geronimo.gbean.GBeanLifecycle;
   import org.apache.geronimo.j2ee.management.J2EEApplication;
   import org.apache.geronimo.j2ee.management.J2EEServer;
  +import org.apache.geronimo.j2ee.management.EJBModule;
   import org.apache.geronimo.j2ee.management.impl.InvalidObjectNameException;
   import org.apache.geronimo.j2ee.management.impl.Util;
   import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
  @@ -64,6 +65,8 @@
   import org.apache.geronimo.kernel.Kernel;
   import org.apache.geronimo.kernel.jmx.JMXUtil;
   import org.apache.geronimo.transaction.context.TransactionContextManager;
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
   import org.openejb.entity.cmp.ConnectionProxyFactory;
   import org.tranql.ejb.TransactionManagerDelegate;
   import org.tranql.query.ConnectionFactoryDelegate;
  @@ -71,7 +74,8 @@
   /**
    * @version $Revision$ $Date$
    */
  -public class EJBModuleImpl implements GBeanLifecycle {
  +public class EJBModuleImpl implements GBeanLifecycle, EJBModule {
  +    private final static Log log = LogFactory.getLog(EJBModuleImpl.class);
       private final Kernel kernel;
       private final J2eeContext moduleContext;
       private final J2EEServer server;
  @@ -82,8 +86,10 @@
       private final TransactionManagerDelegate tmDelegate;
       private final TransactionContextManager transactionContextManager;
       private final String[] J2EE_TYPES = {NameFactory.ENTITY_BEAN, 
NameFactory.STATELESS_SESSION_BEAN, NameFactory.STATEFUL_SESSION_BEAN, 
NameFactory.MESSAGE_DRIVEN_BEAN};
  +    private final String objectName;
   
       public EJBModuleImpl(Kernel kernel, String objectName, J2EEServer 
server, J2EEApplication application, String deploymentDescriptor, 
ConnectionFactoryDelegate delegate, ConnectionProxyFactory connectionFactory, 
TransactionManagerDelegate tmDelegate, TransactionContextManager 
transactionContextManager) {
  +        this.objectName = objectName;
           ObjectName myObjectName = JMXUtil.getObjectName(objectName);
           verifyObjectName(myObjectName);
           moduleContext = J2eeContextImpl.newContext(myObjectName, 
NameFactory.EJB_MODULE);
  @@ -98,6 +104,22 @@
           this.transactionContextManager = transactionContextManager;
       }
   
  +    public String getObjectName() {
  +        return objectName;
  +    }
  +
  +    public boolean isStateManageable() {
  +        return true;
  +    }
  +
  +    public boolean isStatisticsProvider() {
  +        return false;
  +    }
  +
  +    public boolean isEventProvider() {
  +        return true;
  +    }
  +
       public String getDeploymentDescriptor() {
           return deploymentDescriptor;
       }
  @@ -117,10 +139,15 @@
           return server.getJavaVMs();
       }
   
  -    public String[] getEJBs() throws MalformedObjectNameException {
  -        return Util.getObjectNames(kernel,
  -                moduleContext,
  -                J2EE_TYPES);
  +    public String[] getEJBs() {
  +        try {
  +            return Util.getObjectNames(kernel,
  +                    moduleContext,
  +                    J2EE_TYPES);
  +        } catch (MalformedObjectNameException e) {
  +            log.error(e);
  +            return null;
  +        }
       }
   
       /**
  @@ -196,6 +223,8 @@
           infoBuilder.addAttribute("application", String.class, false);
           infoBuilder.addAttribute("javaVMs", String[].class, false);
           infoBuilder.addAttribute("ejbs", String[].class, false);
  +
  +        infoBuilder.addInterface(EJBModule.class);
   
           infoBuilder.setConstructor(new String[]{
               "kernel",
  
  
  

Reply via email to