User: starksm 
  Date: 01/09/20 11:12:59

  Modified:    src/main/org/jboss/ejb/plugins/jrmp/server Tag: Branch_2_4
                        JRMPContainerInvoker.java
  Log:
  Clean up some of the casts and nested method invocations
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.37.4.2  +19 -13    
jboss/src/main/org/jboss/ejb/plugins/jrmp/server/JRMPContainerInvoker.java
  
  Index: JRMPContainerInvoker.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/server/JRMPContainerInvoker.java,v
  retrieving revision 1.37.4.1
  retrieving revision 1.37.4.2
  diff -u -r1.37.4.1 -r1.37.4.2
  --- JRMPContainerInvoker.java 2001/07/19 20:13:07     1.37.4.1
  +++ JRMPContainerInvoker.java 2001/09/20 18:12:59     1.37.4.2
  @@ -76,7 +76,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Juha Lindfors</a>
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>
  - * @version $Revision: 1.37.4.1 $
  + * @version $Revision: 1.37.4.2 $
    */
   public class JRMPContainerInvoker
      extends RemoteServer
  @@ -101,6 +101,7 @@
      protected String serverAddress;
      protected boolean jdk122 = false;
      protected Container container;
  +   protected ContainerInvokerContainer invokerContainer;
      protected String jndiName;
      protected EJBMetaDataImpl ejbMetaData;
      // The home can be one.
  @@ -141,6 +142,7 @@
      public void setContainer(Container con)
      {
         this.container = con;
  +      this.invokerContainer = (ContainerInvokerContainer) con;
         ciDelegate.setContainer(con);
      }
   
  @@ -160,12 +162,12 @@
         GenericProxy.setTPCFactory(tpcFactory);
   
         // Create method mappings for container invoker
  -      Method[] methods = 
((ContainerInvokerContainer)container).getRemoteClass().getMethods();
  +      Method[] methods = invokerContainer.getRemoteClass().getMethods();
         beanMethodInvokerMap = new HashMap();
         for (int i = 0; i < methods.length; i++)
            beanMethodInvokerMap.put(new 
Long(RemoteMethodInvocation.calculateHash(methods[i])), methods[i]);
         
  -      methods = ((ContainerInvokerContainer)container).getHomeClass().getMethods();
  +      methods = invokerContainer.getHomeClass().getMethods();
         homeMethodInvokerMap = new HashMap();
         for (int i = 0; i < methods.length; i++)
            homeMethodInvokerMap.put(new 
Long(RemoteMethodInvocation.calculateHash(methods[i])), methods[i]);
  @@ -219,8 +221,8 @@
               throw new RuntimeException("Primary Key Problem");
            }
            ejbMetaData = new EJBMetaDataImpl(
  -            ((ContainerInvokerContainer)container).getRemoteClass(),
  -            ((ContainerInvokerContainer)container).getHomeClass(),
  +            invokerContainer.getRemoteClass(),
  +            invokerContainer.getHomeClass(),
               pkClass,
               false, //Session
               false, //Stateless
  @@ -232,8 +234,8 @@
            {
   
               ejbMetaData = new EJBMetaDataImpl(
  -               ((ContainerInvokerContainer)container).getRemoteClass(),
  -               ((ContainerInvokerContainer)container).getHomeClass(),
  +               invokerContainer.getRemoteClass(),
  +               invokerContainer.getHomeClass(),
                  null, //No PK
                  true, //Session
                  true, //Stateless
  @@ -244,8 +246,8 @@
            {
   
               ejbMetaData = new EJBMetaDataImpl(
  -               ((ContainerInvokerContainer)container).getRemoteClass(),
  -               ((ContainerInvokerContainer)container).getHomeClass(),
  +               invokerContainer.getRemoteClass(),
  +               invokerContainer.getHomeClass(),
                  null, //No PK
                  true, //Session
                  false,//Stateless
  @@ -275,7 +277,7 @@
               // Jndi name
               container.getBeanMetaData().getJndiName(),
               // The Home
  -            
((ContainerInvokerContainer)container).getContainerInvoker().getEJBHome());
  +            invokerContainer.getContainerInvoker().getEJBHome());
   
            // Bind a bare bones invoker in the JNDI invoker naming space
            rebind(
  @@ -284,7 +286,7 @@
               // JNDI name under the invokers moniker
               "invokers/"+container.getBeanMetaData().getJndiName(),
               // The invoker
  -            ((ContainerInvokerContainer)container).getContainerInvoker());
  +            invokerContainer.getContainerInvoker());
   
   
            Logger.debug("Bound "+container.getBeanMetaData().getEjbName() + " to " + 
container.getBeanMetaData().getJndiName());
  @@ -407,7 +409,9 @@
         throws Exception
      {
         // Check if this call really can be optimized
  -      if 
(!m.getDeclaringClass().isAssignableFrom(((ContainerInvokerContainer)container).getHomeClass()))
  +      Class methodClass = m.getDeclaringClass();
  +      Class remoteClass = invokerContainer.getHomeClass();
  +      if ( methodClass.isAssignableFrom(remoteClass) == false )
         {
            RemoteMethodInvocation rmi = new RemoteMethodInvocation(null, m, args);
   
  @@ -453,7 +457,9 @@
         // Check if this call really can be optimized
         // If parent of callers classloader is != parent of our classloader -> not 
optimizable!
         //        if (Thread.currentThread().getContextClassLoader().getParent() != 
container.getClassLoader().getParent())
  -      if 
(!m.getDeclaringClass().isAssignableFrom(((ContainerInvokerContainer)container).getRemoteClass()))
  +      Class methodClass = m.getDeclaringClass();
  +      Class remoteClass = invokerContainer.getRemoteClass();
  +      if ( methodClass.isAssignableFrom(remoteClass) == false )
         {
            RemoteMethodInvocation rmi = new RemoteMethodInvocation(id, m, args);
   
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to