You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by tm...@apache.org on 2002/03/01 20:16:38 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/runtime TransletLoader.java
tmiller 02/03/01 11:16:38
Modified: java/src/org/apache/xalan/xsltc/runtime TransletLoader.java
Log:
Tomcat 4.x external Java class bug fix, Tomcat 4.x
could not find external java classes, contrib by Santiago Pericas
Revision Changes Path
1.2 +13 -8 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TransletLoader.java
Index: TransletLoader.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TransletLoader.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TransletLoader.java 8 Nov 2001 14:11:15 -0000 1.1
+++ TransletLoader.java 1 Mar 2002 19:16:38 -0000 1.2
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: TransletLoader.java,v 1.1 2001/11/08 14:11:15 morten Exp $
+ * @(#)$Id: TransletLoader.java,v 1.2 2002/03/01 19:16:38 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -57,6 +57,7 @@
* <http://www.apache.org/>.
*
* @author Morten Jorgensen
+ * @author Santiago Pericas-Geertsen
*
*/
@@ -64,6 +65,9 @@
import java.lang.Class;
import java.lang.ClassLoader;
+import java.lang.Thread;
+
+import java.net.*; // temporary
/**
* This class is intended used when the default Class.forName() method fails.
@@ -91,14 +95,14 @@
* Get a handle to the system class loader
*/
public TransletLoader() {
- // Get the default class loader
- ClassLoader loader = this.getClass().getClassLoader();
- // If this is the extensions class loader we need to get the
- // default system class loader instead. This is permitted if
- // this class was loaded by the extensions class loader.
- String loaderName = loader.getClass().getName();
- if (loaderName.equals("sun.misc.Launcher$ExtClassLoader"))
+ // Get the loader for the current thread (not the current class)
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+
+ // Avoid using the extensions class loader (see comment above)
+ final String loaderName = loader.getClass().getName();
+ if (loaderName.equals("sun.misc.Launcher$ExtClassLoader")) {
loader = ClassLoader.getSystemClassLoader();
+ }
_loader = loader;
}
@@ -108,6 +112,7 @@
public Class loadClass(String name) throws ClassNotFoundException {
return(Class.forName(name, false, _loader));
}
+
/**
* Loads a Class definition and runs static initializers.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org