jon         02/02/19 14:47:27

  Modified:    src/java/org/apache/xmlrpc XmlRpcServer.java
  Log:
  only execute a Class.forName("java.lang.Object") once
  
  -jon
  
  Revision  Changes    Path
  1.16      +13 -2     xml-rpc/src/java/org/apache/xmlrpc/XmlRpcServer.java
  
  Index: XmlRpcServer.java
  ===================================================================
  RCS file: /home/cvs/xml-rpc/src/java/org/apache/xmlrpc/XmlRpcServer.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- XmlRpcServer.java 19 Feb 2002 22:23:30 -0000      1.15
  +++ XmlRpcServer.java 19 Feb 2002 22:47:27 -0000      1.16
  @@ -409,16 +409,27 @@
   
       private Object invokeTarget;
       private Class targetClass;
  +    private static Class OBJECT_CLASS;
   
       public Invoker(Object target)
       {
           invokeTarget = target;
  -        targetClass = invokeTarget instanceof Class ?(Class) invokeTarget :
  +        targetClass = (invokeTarget instanceof Class) ? (Class) invokeTarget :
                   invokeTarget.getClass();
           if (XmlRpc.debug)
           {
               System.err.println("Target object is " + targetClass);
           }
  +        try
  +        {
  +            if (OBJECT_CLASS == null)
  +            {
  +                OBJECT_CLASS = Class.forName("java.lang.Object");
  +            }
  +        }
  +        catch (ClassNotFoundException cnfe)
  +        {
  +        }
       }
   
       // main method, sucht methode in object, wenn gefunden dann aufrufen.
  @@ -480,7 +491,7 @@
           }
   
           // our policy is to make all public methods callable except the ones 
defined in java.lang.Object
  -        if (method.getDeclaringClass() == Class.forName("java.lang.Object"))
  +        if (method.getDeclaringClass() == OBJECT_CLASS)
           {
               throw new XmlRpcException(0, "Invoker can't call methods defined in 
java.lang.Object");
           }
  
  
  


Reply via email to