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");
}