User: oberg   
  Date: 00/12/07 07:44:50

  Modified:    src/main/org/jboss/ejb/plugins/jrmp13/server
                        JRMPContainerInvoker.java
  Log:
  Changed configuration scheme (lots of changes to jboss.conf, jboss.jcml, 
org.jboss.Main)
  Added ServiceControl
  Changed jBoss -> JBoss
  Changed GPL -> LGPL
  Added jaxp/parser
  Updated services to have default constructors
  
  Revision  Changes    Path
  1.8       +177 -22   
jboss/src/main/org/jboss/ejb/plugins/jrmp13/server/JRMPContainerInvoker.java
  
  Index: JRMPContainerInvoker.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp13/server/JRMPContainerInvoker.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JRMPContainerInvoker.java 2000/08/25 02:18:58     1.7
  +++ JRMPContainerInvoker.java 2000/12/07 15:44:49     1.8
  @@ -1,7 +1,7 @@
   /*
  - * jBoss, the OpenSource EJB server
  + * JBoss, the OpenSource EJB server
    *
  - * Distributable under GPL license.
  + * Distributable under LGPL license.
    * See terms of license at gnu.org.
    */
   package org.jboss.ejb.plugins.jrmp13.server;
  @@ -16,51 +16,204 @@
   import javax.ejb.EJBHome;
   import javax.ejb.EJBObject;
   
  +import org.jboss.ejb.Container;
  +import org.jboss.ejb.ContainerInvoker;
   import org.jboss.ejb.ContainerInvokerContainer;
   import org.jboss.ejb.EntityInstanceCache;
  +import org.jboss.metadata.EntityMetaData;
  +import org.jboss.metadata.SessionMetaData;
  +
   import org.jboss.ejb.plugins.jrmp13.interfaces.HomeProxy;
   import org.jboss.ejb.plugins.jrmp13.interfaces.StatelessSessionProxy;
   import org.jboss.ejb.plugins.jrmp13.interfaces.StatefulSessionProxy;
   import org.jboss.ejb.plugins.jrmp13.interfaces.EntityProxy;
   import org.jboss.logging.Logger;
   
  +/**
  + *   <description> 
  + *      
  + *   @see <related>
  + *   @author Rickard �berg ([EMAIL PROTECTED])
  + *  @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
  + *   @version $Revision: 1.8 $
  + */
  +public final class JRMPContainerInvoker
  +   implements ContainerInvoker
  +{
  +   EJBHome home;
  +   EJBObject statelessObject;
  +
  +   Container container;
  +   org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker ci; // Parent invoker
  +   
  +   public 
JRMPContainerInvoker(org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker ci)
  +   {
  +      this.ci = ci;
  +   }
  +   
  +   public void setContainer(Container con)
  +   {
  +      this.container = con;
  +   }
  +   
  +   public void init()
  +   {
  +      // Create EJBHome object
  +      // We add the Handle methods to the Home
  +      Class handleClass;
  +      try 
  +      { 
  +         handleClass = Class.forName("javax.ejb.Handle");
  +      } catch (Exception e)
  +      {
  +         Logger.exception(e);handleClass = null;
  +      }
  +
  +      this.home = 
(EJBHome)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getHomeClass().getClassLoader(),
  +         new Class[] { ((ContainerInvokerContainer)container).getHomeClass(), 
handleClass },
  +         new HomeProxy(ci.getJndiName(), ci.getEJBMetaData(), ci, 
ci.isOptimized()));
  +
  +      // Create stateless session object
  +      // Same instance is used for all objects      
  +      if (!(container.getBeanMetaData() instanceof EntityMetaData) &&
  +          ((SessionMetaData)container.getBeanMetaData()).isStateless())
  +      {
  +         this.statelessObject = 
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
  +            new Class[] { ((ContainerInvokerContainer)container).getRemoteClass() } 
,
  +            new StatelessSessionProxy(ci.getJndiName(), ci, ci.isOptimized()));
  +      }
  +      
  +      System.out.println("JRMP 1.2.2 CI initialized");
  +   }
  +
  +   public void start()
  +   {
  +   }
  +
  +   public void stop()
  +   {
  +   }
  +
  +   public void destroy()
  +   {
  +   }
  +
  +   public EJBMetaData getEJBMetaData()
  +   {
  +      // Ignore, never called
  +      return null;
  +   }
  +   
  +   public EJBHome getEJBHome()
  +   {
  +      return home;
  +   }
  +
  +   public EJBObject getStatelessSessionEJBObject()
  +   {
  +      return statelessObject;
  +   }
  +
  +   public EJBObject getStatefulSessionEJBObject(Object id)
  +   {
  +      return 
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
  +                  new Class[] { 
((ContainerInvokerContainer)container).getRemoteClass() },
  +                  new StatefulSessionProxy(ci.getJndiName(), ci, id, 
ci.isOptimized()));
  +   }
   
  +   public EJBObject getEntityEJBObject(Object id)
  +   {
  +      return 
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
  +                  new Class[] { 
((ContainerInvokerContainer)container).getRemoteClass() },
  +                  new EntityProxy(ci.getJndiName(), ci, id, ci.isOptimized()));
  +   }
  +
  +   public Collection getEntityCollection(Collection ids)
  +   {                                                          
  +      ArrayList list = new ArrayList(ids.size());
  +      Iterator idEnum = ids.iterator();
  +      while(idEnum.hasNext())
  +      {
  +         
list.add(Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
  +                  new Class[] { 
((ContainerInvokerContainer)container).getRemoteClass() },
  +                  new EntityProxy(ci.getJndiName(), ci, idEnum.next(), 
ci.isOptimized())));
  +      }
  +      return list;
  +   }
  +}
  +
  +
   /**
    *   <description> 
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
    *  @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
  - *   @version $Revision: 1.7 $
  + *   @version $Revision: 1.8 $
    */
  + 
  + /*
   public final class JRMPContainerInvoker
  -   extends org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker
  +   implements ContainerInvoker
   {
  +    EJBHome home;
  +    EJBObject statelessObject;
  + 
  +    public void init()
  +    {
  +       // Create EJBHome object
  +       // We add the Handle methods to the Home
  +       Class handleClass;
  +       try 
  +       { 
  +         handleClass = Class.forName("javax.ejb.Handle");
  +       } catch (Exception e) 
  +       {
  +         Logger.exception(e);handleClass = null;
  +       }
  +       
  +       this.home = 
(EJBHome)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getHomeClass().getClassLoader(),
  +           new Class[] { ((ContainerInvokerContainer)container).getHomeClass(), 
handleClass },
  +           new HomeProxy(jndiName,ejbMetaData, this, optimize));
  + 
  +       // Create stateless session object
  +       // Same instance is used for all objects      
  +       if (!(container.getBeanMetaData() instanceof EntityMetaData) &&
  +           ((SessionMetaData)container.getBeanMetaData()).isStateless())
  +       {
  +          this.statelessObject = 
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
  +               new Class[] { 
((ContainerInvokerContainer)container).getRemoteClass() },
  +               new StatelessSessionProxy(jndiName, this, optimize));
  +       }
  +       
  +       System.out.println("JRMP 1.2.2 CI initialized");
  +    }
  + 
  +    public void start()
  +    {
  +    }
  + 
  +    public void stop()
  +    {
  +    }
  + 
  +    public void destroy()
  +    {
  +    }
  +    
  +    public EJBMetaData getEJBMetaData()
  +    {
  +       // Ignore, never called
  +       return null;
  +    }
  +    
       public EJBHome getEJBHome()
       {
  -        if (home == null)
  -        {
  -            // We add the Handle methods to the Home
  -            Class handleClass;
  -            try { handleClass = Class.forName("javax.ejb.Handle");} 
  -                catch (Exception e) {Logger.exception(e);handleClass = null;}
  -            
  -            this.home = 
(EJBHome)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getHomeClass().getClassLoader(),
  -                new Class[] { 
((ContainerInvokerContainer)container).getHomeClass(), handleClass },
  -                new HomeProxy(jndiName,ejbMetaData, this, optimize));
  -        }
           return home;
       }
       
       public EJBObject getStatelessSessionEJBObject()
       {
  -        if (statelessObject == null) {
  -            
  -            this.statelessObject = 
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
  -                new Class[] { 
((ContainerInvokerContainer)container).getRemoteClass() },
  -                new StatelessSessionProxy(jndiName, this, optimize));
  -        }
  -        
           return statelessObject;
       }
   
  @@ -91,3 +244,5 @@
         return list;
      }
   }
  +
  +*/
  \ No newline at end of file
  
  
  

Reply via email to